Métricas en Diseño e Ingeniería de Software: Un Enfoque Detallado
Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 6,53 KB
Métricas en Diseño e Ingeniería de Software
Medida: Indicación cuantitativa, cantidad, dimensión, tamaño o atributo de un producto o proceso.
Medición: Acto de determinar una medida.
Métrica: Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo determinado.
Indicador: Métrica o combinación de métricas que proporciona conocimientos acerca del proceso de software.
Principios de Medición
Principios de medición (Oche, 1994): Formulación, recolección, análisis, interpretación, retroalimentación.
Principios (LET03):
- Propiedades matemáticas deseables.
- Métrica representa características de software que aumentan con rasgos positivos y disminuyen con negativos.
- Cada métrica debe validarse empíricamente antes de publicarse o aplicarse en tomas de decisiones.
Medición Orientada a Objetos (OO)
Establecer objetivo de medición explícito, definir conjunto de preguntas que deben responderse a fin de alcanzar el objeto. Identificar métricas para responder preguntas.
Atributos de Métricas Efectivas
Simples y calculables, empírica e intuitivamente persuasivas, consistentes y objetivas, independientes del lenguaje de programación, mecanismos para retroalimentación de alta calidad.
Métricas por Modelo
Modelo de Análisis
Funcionalidad entregada, tamaño del sistema, calidad de la especificación.
Modelo de Diseño
Métricas arquitectónicas, métricas a nivel de componentes, métricas de diseño de interfaz, métricas especializadas en diseño OO.
Código Fuente
Métricas de Halstead, métricas de complejidad, métricas de longitud.
Pruebas
Métricas de cobertura e instrucciones de rama, métricas relacionadas con los defectos, métricas en el proceso.
Puntos de Función
Estimar costos y esfuerzos requeridos para diseñar, codificar y probar software, predecir el número de errores en prueba, pronosticar número de componentes, líneas de código proyectadas.
Número de Entradas Externas (EE). Número de Salidas Externas (SE). Número de Consultas Externas (CE), Número de Archivos Lógicos Externos (ALI). Número de Archivos de Interfaz Externos (AIE).
PF = conteo_total x [0.65 + 0.01 x Σ(Fi)] donde Fi=(i=1 a 14)
Diseño OO
Tamaño: población, volumen, longitud y funcionalidad; Complejidad; Acoplamiento: conexiones físicas de un diseño OO; Suficiencia: grado en que una abstracción posee las características que se le piden desde un punto de vista; Grado de Avance: igual a la suficiencia pero desde varios puntos de vista; Cohesión: un componente OO debe diseñarse para que las operaciones trabajen en combinación; Similitud: medida que indica el grado entre 2 o más clases son similares en estructura, función, comportamiento y propósito; Volatilidad: componente OO que mide la probabilidad que ocurra un cambio.
Métricas de Clases
Método ponderado por clase (MPC); Árbol de Profundidad de Herencia (APH); Número de descendientes (NDD); Acoplamiento entre Clases de Objetos (AECO); Respuesta para una clase (RPC); Falla de Cohesión en un método (FCM).
Métricas de Código Fuente
n1 = el número de operadores distintos que aparecen en un programa
n2 = el número de operandos distintos que aparecen en un programa
N1 = el número total de veces que aparece el operador
N2 = el número total de veces que aparece el operando
Métricas para Pruebas OO
Falta de cohesión en métodos (FCM); Porcentaje público y protegido (PYP); Integrantes de acceso público a Datos (APD); Números de Clases Raíz (NCR); Dependencia hacia Dentro (FIN); Número de descendientes (NDD) y árbol de profundidad de herencia (APH).
Métricas para Mantenimiento
Mt = el número de módulos en la versión actual
Fc = el número de módulos cambiados en la versión
Fa = el número de módulos añadidos en la versión actual
Fd = el número de módulos de la versión anterior que se eliminaron en la actual
IMS = [Mt - (Fa + Fc + Fd)] / Mt
Factores de Calidad McCall
1- Los que miden directamente. 2- Los que miden indirectamente.
Revisión del Producto
Facilidad de mantenimiento, flexibilidad, facilidad de prueba.
Transición del Producto
Portabilidad, facilidad de reutilización, interoperabilidad.
Operación del Producto
Corrección, confiabilidad, facilidad de uso, integridad, eficiencia.
ISO 9126
Se desarrolló como un intento por identificar atributos de calidad para el software de computadoras:
Funcionalidad
Grado en que el software satisface las necesidades: idoneidad, exactitud, interoperabilidad, cumplimiento y seguridad.
Confiabilidad
La cantidad de tiempo que el software está disponible para usar: madurez, tolerancia a fallas, facilidad de recuperación.
Facilidad de Uso
La facilidad de acuerdo a: facilidad de comprensión, aprendizaje y operabilidad.
Eficiencia
El grado en que el software usa los recursos del sistema en forma óptima: comportamiento en tiempo, comportamiento de los recursos.
Facilidad de Mantenimiento
Facilidad con que se repara el software: facilidad de análisis, facilidad de cambio, estabilidad y facilidad de pruebas.
Portabilidad
Facilidad con que se lleva el software de un entorno a otro: adaptabilidad, facilidad para instalarse, cumplimiento y facilidad de reemplazarse.
La calidad del software es el cumplimiento de los requisitos de funcionalidad y desempeño explícitamente establecidos, de los estándares de desarrollo explícitamente documentados y de las características implícitas que se espera de todo software desarrollado profesionalmente.