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.

Entradas relacionadas: