Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los...

14
Métricas De Software OO A medida que los sistemas OO van siendo comunes , resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos para estimar la calidad de los diseños y la efectividad de los programas OO.

Transcript of Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los...

Page 1: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas De Software OO

A medida que los sistemas OO van siendo comunes ,

resulta esencial que los ingenieros del software dispongan

de mecanismos cuantitativos para estimar la calidad de los

diseños y la efectividad de los programas OO.

Page 2: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas OOMétricas OO

Aparecieron por la necesidad de poder cuantificar la calidad del software no tradicional.

El software orientado a objetos posee características conceptuales que al no respetarlas pueden afectar la calidad del producto.

Hay distintos tipos de MOO, como por ejemplo: •Métricas orientadas a clases•Métricas orientadas a operaciones•Métricas para pruebas orientadas a objetos•Métricas para proyectos orientados a objetos

Aparecieron por la necesidad de poder cuantificar la calidad del software no tradicional.

El software orientado a objetos posee características conceptuales que al no respetarlas pueden afectar la calidad del producto.

Hay distintos tipos de MOO, como por ejemplo: •Métricas orientadas a clases•Métricas orientadas a operaciones•Métricas para pruebas orientadas a objetos•Métricas para proyectos orientados a objetos

Page 3: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a ClaseMétricas Orientadas a Clase

Algunos métodos de este tipo de métricas son:•Métodos ponderados por clase (Chidamber y Kemener) (C&K)•Árbol de profundidad de herencia (C&K)•Número de Descendientes (C&K)•Tamaño de Clase (Lorenz y Kidd)•Índice de Especialización (Lorenz y Kidd)

Page 4: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a Clase

Métodos ponderados por clase (MPC)

Se basa en la idea de que el número de métodos y su complejidad es un indicador razonable de la cantidad de esfuerzo necesaria para implementar y comprobar una clase .Mide la complejidad de una clase asignándole un complejidad a cada método. Resulta ambigua dado que no ofrece ninguna definición asociada a la complejidad.

Árbol de profundidad de herencia (APH)

Se plantea sobre el árbol de herencia y mide la distancia desde el nodo hasta la hoja más lejana.Busca medir el grado de herencia que esta fuertemente ligada a la reutilización. Sin embargo, altos niveles de herencia pueden traer problemas como la complejidad en el diseño y objetos difíciles de testear.

Page 5: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a ClaseMétricas Orientadas a ClaseÁrbol de profundidad de herencia

Page 6: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Número de Descendientes (NDD)

Mide la calidad de la clase según la cantidad de descendientes que ésta tenga. Utiliza como base para la determinación de la calidad, el concepto de que si bien los descendientes indican reutilización, una cantidad elevada de descendientes puede diluir la abstracción utilizada para la creación de la súper clase.

Tamaño de Clase (TC)

Busca medir el tamaño de clase sumarizando la cantidad de operaciones y atributos.Una clase grande indica alta responsabilidad para la clase y baja reutilización.

Métricas Orientadas a Clase

Page 7: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a Clase

Índice de Especialización (Lorenz y Kidd)

Mide el grado de especialización de una clase planteando una relación entre la cantidad de métodos de una clase realizando el siguiente cálculo:

IES = N° de operaciones redefinidas * nivel de jerarquía de claseN° total de métodos

Page 8: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a Operaciones

Existen menor cantidad de métricas de este tipo por el hecho de que son las clases las que preponderan en el software OO.

•Tamaño medio de operación•Complejidad de operación•Número Medio de Parámetros por operación

Tamaño medio de operación (TOavg)

La cantidad de líneas de código no son una buena unidad de medida para determinar la calidad de una operación, por lo tanto para determinar ésta se persigue la contabilización de mensajes. Muchos mensajes evidencian un alto grado de responsabilidad por parte de la operación lo cual no es aconsejable.

Page 9: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a Operaciones

Complejidad de operación (CO)

En este caso puede utilizarse cualquier métrica existente para el software tradicional debido a que esta medición no se ve relacionada con el paradigma de la POO.

Número Medio de Parámetros por operación (Npavg)Tan largo como sea el número de parámetros de operación, más compleja será la colaboración entre objetos

Page 10: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a ObjetosSe agrupan según características de diseño importantes

Encapsulamiento

Porcentaje público y protegidoEsta métrica indica el porcentaje de atributos de una clase que son públicos. Valores altos para PPP incrementan la probabilidad de efectos colaterales entre clases.

Acceso público a miembrosIndica el número de clases (o métodos) que pueden acceder a los atributos de otras clases, una violación de encapsulación. Valores altos para APD producen potencialmente efectos colaterales entre clases.

Page 11: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas Orientadas a Objetos

Herencia

Número de Clases RaízRecuento de las distintas jerarquías de clases, que se describen en el modelo de diseño. A medida que el NCR se incrementa, el esfuerzo de comprobación también.

Número de Padres DirectosEs una indicación de herencia múltiple. NPD > 1 indica que la clase hereda sus atributos y operaciones de más de una clase raíz. Se debe evitar que NPD > 1 tanto como sea posible.

Page 12: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas para proyectos Orientados a Objetos

Le otorgan al jefe de proyecto una visión interna adicional sobre el progreso de su proyecto

•Número de escenario•Número de clases clave•Número de subsistemas

Número de escenarioEs directamente proporcional al número de clases requeridas para cubrir los requisitos, el número de estados para cada clase, el número de métodos, atributos y colaboraciones.

Page 13: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Métricas para proyectos Orientados a Objetos

Métricas para proyectos Orientados a Objetos

Número de clases clave

Las clases claves son aquellas dedicadas al dominio del negocio y siendo su implementación más dedicada y su factor de reutilización menor. Este tipo de clases deberá estar entre en 20 y el 40 % frente al total de las clases.

Número de subsistemas

Da una visión sobre la asignación de recursos, la planificación y el esfuerzo de integración global. Pueden aplicarse sobre proyectos pasados para estimar proyectos actuales.

Page 14: Métricas De Software OO A medida que los sistemas OO van siendo comunes, resulta esencial que los ingenieros del software dispongan de mecanismos cuantitativos.

Son bien conocidos diferentes conjuntos de métricas propuestas por distintos

autores: Chidamber y Kemener, Lorenz y Kidd, y otros En esta presentación se

han repasado las métricas consideradas más representativas de estos y otros

autores, desde una perspectiva basada en las características específicas del

enfoque orientado a objetos, más que en el análisis particular del conjunto de

métricas propuesto por un solo autor. Esta aproximación quizá lleva a una mayor

dificultad en la comprensión de las mismas, pues algunas miden las mismas

propiedades pero desde diferentes perspectivas. Se pone interés especial en las

métricas de cobertura. Características específicas en OO como el polimorfismo y

encapsulamiento sugieren nuevos enfoques en el diseño de casos de prueba

para alcanzar el 100% de cobertura de métodos.

Resumen de Métricas Orientados a Objetos

Resumen de Métricas Orientados a Objetos