Transcript métricas clásicas
METRICAS CLASICAS DEL SOFTWARE
Carlos Mario Zapata J.
27/04/2020 Calidad de Software 1
OBJETIVOS DE LA MEDICION (1/3)
• Problema: Incorrecciones • Medir ayuda a: Proporcionar requisitos verificables expresados en términos medibles.
• Problema: Mala toma de decisiones.
• Medir ayuda a: Proporcionar evidencia cuantificable para apoyar las decisiones.
27/04/2020 Calidad de Software 2
OBJETIVOS DE LA MEDICION (2/3)
• Problema: Falta de control • Medir ayuda a: Hacer más visible el desarrollo e anticipadamente.
identificar problemas • Problema: Exceso de gasto • Medir ayuda a: Producir predicciones de costo y plazo justificables.
27/04/2020 Calidad de Software 3
OBJETIVOS DE LA MEDICION (3/3)
• Problema: Desborde Mantenimiento en Costos de • Medir ayuda a: Recomendar determinadas estrategias de pruebas e identificar los módulos problemáticos.
• Problema: Deficiente Evaluación de nuevos métodos • Medir ayuda a: Valorar los efectos en la productividad y en la calidad.
27/04/2020 Calidad de Software 4
27/04/2020 Línea de Prof. Ing. Soft 5
MODELOS CLASICOS
• Puntos de Función: – Estimación del tamaño con base en la funcionalidad.
• COCOMO: – Estimación del esfuerzo con base en las LOC.
• Complejidad Ciclomática – Medición de la complejidad evaluando caminos del diagrama de flujo.
27/04/2020 Calidad de Software 6
OTROS MODELOS CLASICOS
• SLIM: – Desarrollado por Larry Putnam en 1978-79 – Estimación basada en líneas de código.
– Parámetros: inclinación inicial de la curva y factor de productividad o constante tecnológica.
– Ecuación de Software: S = cK 1/3 t d 4/3 • S: tendencias fuente, c es la constante tecnológica, K es el esfuerzo del ciclo de vida y td tiempo de pico del rendimiento personal.
27/04/2020 Calidad de Software 7
OTROS MODELOS CLASICOS
• SLIM (Continuación): – Un valor más alto de la constante tecnológica permite escribir más líneas de código con el mismo esfuerzo y en el mismo tiempo.
– Usa dos variables: MBI (Kt d 2 ) y c (Factor de productividad).
– Valores mayores de MBI indican posibilidades mayores de hacer el proyecto más rápidamente.
27/04/2020 Calidad de Software 8
OTROS MODELOS CLASICOS
• BANG (DeMarco): – Se basan en DFD y MER.
– Se usa con la metodología de análisis y diseño de DeMarco.
– Se evalúan primitivas (elementos del modelo de análisis que no se subdividen más en el nivel de análisis).
27/04/2020 Calidad de Software 9
OTROS MODELOS CLASICOS
• BANG (DeMarco) Continuación: – Primitivas: • Primitivas funcionales (FP): Círculos del DFD.
• TCi: tokens (item de datos) asociados con cada FP.
• DEO: Número de elementos de salida que cruzan la frontera hombre – máquina.
• OB: Número de objetos en el modelo de datos.
• RE: Número de relaciones entre objetos.
• REi: Número de relaciones asociadas con cada objeto.
27/04/2020 Calidad de Software 10
OTROS MODELOS CLASICOS
• BANG (DeMarco) Continuación: – RE/FP<0.7: Fuertemente funcional: DFD – RE/FP>1.5: Modelo fuerte de datos: MER – Los demás son híbridos y necesitan de ambos modelos.
– Los productos fuertemente funcionales manejan un conteo de tokens corregido: CTCi = TCi x Log 2 (TCi) 27/04/2020 Calidad de Software 11
OTROS MODELOS CLASICOS
• BANG (DeMarco) Continuación: • Bang = S wixCTCi • Wi: Separación 0.6, amalgama 0.6, dirección de datos 0.3, actualización simple 0.5, gestión de almacenamiento 1.0, edición 0.8, verificación 1.0, manipulación de texto 1.0, sincronización 1.5, generación de salidas 1.0, display 0.8, análisis tabular 1.0, aritmética 0.7, computación 2.0, inicialización 1.0, gestión de dispositivos 2.5.
27/04/2020 Calidad de Software 12
OTROS MODELOS CLASICOS
• BANG (DeMarco) Continuación: – Productos fuertemente de datos: • Las métricas Bang se basan en el conteo de los REi REi 1 2 3 4 5 6 27/04/2020 OB Corr 1 2.3
4 Calidad de Software 5.8
7.8
9.8
13
OTROS MODELOS CLASICOS
• BANG (DeMarco) Continuación: – Problemas: • No son simples cuentas, se basan en complejas tablas de pesos.
• Los pesos de los modelos fuertemente funcionales son subjetivos y dependientes del entorno.
• Los conteos básicos de las métricas de Bang se basan en dudosos conceptos de las métricas científicas de software no demostrados.
27/04/2020 Calidad de Software 14
OTROS MODELOS CLASICOS
• Métricas Científicas de Software: – Identifican atributos del software a partir de un pequeño número de métricas simples derivadas de la implementación en un lenguaje de programación.
– Atributos: tamaño, esfuerzo mental para creación del programa, tiempo de creación y número de errores cuando se entrega el programa.
27/04/2020 Calidad de Software 15
OTROS MODELOS CLASICOS
• Métricas Científicas de Software (Continuación): – Mediciones Fundamentales: • n1: # operadores diferentes.
• n2: # operandos diferentes.
• N1: # total de operadores • N2: # total de operandos.
– Mediciones derivadas: • n= n1 + n2: Vocabulario del programa • N= N1 + N2: Longitud del programa • V=N Log 2 n: Volumen del programa 27/04/2020 Calidad de Software 16
OTROS MODELOS CLASICOS
• Métricas Científicas de Software (Cont): – N: medida de tamaño similar a LOC.
– Pretenden caracterizar ciertos atributos: • L: nivel de abstracción (inversa de la dificultad experimentada durante el proceso de codificación) L=(2 / n1)(n2 / N2) • I: contenido de inteligencia del programa (medida independiente de la implementación de las funcionalidades de un programa.
I = L x V 27/04/2020 Calidad de Software 17
OTROS MODELOS CLASICOS
• Métricas Científicas de Software (Cont): – Pretenden caracterizar ciertos atributos (Cont): • l : Nivel de lenguaje (medida independiente del programa del lenguaje de implementación usado) l = L 2 x V • E: Esfuerzo mental (medida del número de “discriminaciones mentales elementales” en la codificación de un programa) E = V / L 27/04/2020 Calidad de Software 18
OTROS MODELOS CLASICOS
• Métricas Científicas de Software (Cont): – Pretenden caracterizar ciertos atributos (Cont): • T: Tiempo en segundos para codificar un programa.
T = E / 18 • B: número de errores que el programa tiene cuando se entrega no sólo al usuario final, sino también entre las distintas fases del desarrollo.
B = E ^ (2/3) / 3000 27/04/2020 Calidad de Software 19
OTROS MODELOS CLASICOS
• Métricas basadas en documentos – Evalúan los documentos de software escritos en lenguaje natural en términos de su legibilidad.
– Se emplea el índice Fog de Gunning para escritos en inglés.
– Se calcula sobre la base de un texto ejemplo de 100 líneas para 4 páginas: sen (número de frases), wrd (número de palabras), syl (número de sílabas) 27/04/2020 Calidad de Software 20
OTROS MODELOS CLASICOS
• Métricas basadas en documentos (Cont) – FI = 0.4 (wrd/sen + hrd / wrd x 100) – hrd es el número de palabras de tres o más sílabas sin contar: • Palabras que están en mayúsculas.
• Combinaciones de palabras cortas simples (como book-keeper) • Verbos que se convierten en palabras de tres sílabas al añadirles los sufijos “-es” y “-ed” 27/04/2020 Calidad de Software 21
OTROS MODELOS CLASICOS
• Métricas basadas en documentos (Cont) – Evaluación • FI<=5 Fácil • 5 < FI <=8 Estándar • 8 < FI <= 11 algo difícil • 11 < FI < 17 Difícil • FI >= 17 Muy Difícil – Importante para evaluar legibilidad y comprensibilidad del documento, para proyectos grandes con muchas personas implicadas y documentación indispensable.
27/04/2020 Calidad de Software 22