Capítulo 4 Métricas del Producto para el SW Una estructura para las métricas técnicas del software (Continuación) Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 1 Tipos de Metricas (Continuación) _________________________________________________________ de Análisis (clase anterior) de Diseño (clase anterior) de Código Fuente para del Pruebas Mantenimiento Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 2 Métricas para el Código Fuente _________________________________________________________ Miden el código fuente y se usan para evaluar su complejidad, facilidad de mantenim., etc.: Métricas de Halstead: proporcionan medidas únicas de un programa de cómputo, todas basadas en el número (cuenta y ocurrencia). Métricas de Complejidad: miden la complejidad lógica del código fuente. Métricas de Longitud: proporcionan un indicio del tamaño del software. Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 3 Métricas para el Código Fuente _________________________________________________________ Ciencia del Software de Halstead: una extensa colección de métricas, todas predicadas en el número (cuenta y ocurrencia) de operadores y operandos dentro de un componente o programa. Ej. Longitud global del programa, nivel del programa (medida de la complejidad del Sw.), nivel del lenguaje, esfuerzo de desarrollo, tiempo de desarrollo y numero esperado de fallos. Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 4 Métricas para Pruebas _________________________________________________________ El esfuerzo de las pruebas tambien se puede estimar usando metricas obtenidas de medidas de Halsted. A medida que se van haciendo pruebas, tres medidas diferentes proporcionan una indicacion de la complecion de las pruebas: Amplitud de Pruebas: indicacion de cuantos requisitos (del numero total de ellos) se han probado. Profundidad de Pruebas: medida del pórcentaje de los caminos basicos independientes probados en relacion al numero total de estos caminos en el programa. Perfiles de Fallos: a medida que se recogen los datos de los errores, son utilizados para priorizar y categorizar los mismos. Prioridad indica la severidad del problema. Las categorias de los fallos proporcionan una descripcion de un error, a fin de poder llevar a cabo analisis estadisticos de errores. Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 5 Métricas para Pruebas OO _________________________________________________________ Propuestas por Binder [BIN94]: Relacionadas al Encapsulamiento Falta de Cohesión en Métodos (FCM) (↓) Porcentaje Público y Protegido (PYP) (↓) % Atrib.Uso Publico Acceso Público a Datos (APD) (↓) #Metodo Accedido x Otro Atrib. Relacionadas a la herencia Número de Clases de Raíz (NCR) (↓) Cant.Raices (Ult.Nivel) Dependencias Hacia Dentro (FIN) (<1) Herencia Múltiple Número de Descendientes (NDD) y Arbol de Profundidad de Herencia (APH) (↓) Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 6 Métricas del Mantenimiento _________________________________________________________ Todas las metricas desarrolladas hasta ahora pueden ser utilizadas para el desarrollo de nuevo software y para el mantenimiento del existente. Adicionalmente se sugiere un Indice de Madurez del Software (IMS), que proporciona una indicacion de la estabilidad de un producto software (basado en los cambios que ocurren con cada version del producto). IMS = [Mt – (Fa + Fc +Fd)] / Mt ... donde Mt= numero de modulos de la version actual Fa= numero de modulos añadidos en version actual Fc= numero de modulos modificadós en version actual Fd= numero de modulos de version anterior borrados en version actual “A medida que el IMS se aproxima a 1,0 el producto se empieza a estabilizar” Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Sexta Clase 7 Bibliografía PRESSMAN, Roger. Ingeniería del Software. Un enfoque práctico. Sexta Edición MC GRAW HILL. 2006. Capitulo 15. Facultad de Ciencias y Tecnología – Departamento de Informatica Material Elaborado por el Prof. Lic. Julio César Alsina Arevalos Calidad del Software – Presentación de la Quinta Clase 8