Métricas de Mantenibilidad orientadas al Producto Flashcards
Definicion de Métricas de Mantenibilidad
Estas métricas describen las características del producto que de alguna forma determinan la mantenibilidad, por ejemplo el tamaño, complejidad o características del diseño.
Las 4 métricas orientadas al producto son:
* La densidad de comentarios en el código
* Métricas de Complejidad.
* El índice de madurez del software (IMS)
* Métricas en Orientación a Objetos: Chidamber & Kemerer
Densidad de comentarios en el código
Cuantos más comentarios haya en el código fuente, mayor mantenibilidad tendrá el software.
En Java:
Densidad comentarios = LOCS / n . Javadocs
A mayor densidad, más mantenible será el software
Métricas de Complejidad
Tales como volumen, tamaño, anidaciones, costo (estimación), agregación, configuracion y flujo.
Las dos métricas para calcularlas son:
*Complejidad Ciclomática de McCabe
*Ciencia del Software de Halstead
Índice de Madurez del Software
Esta métrica proporciona una indicación de la estabilidad de un producto software. A medida que el IMS se aproxima a 1, el producto comienza a estabilizarse, y por lo tanto, menos esfuerzo de mantenimiento requerirá.
Se calcula:
* Mt = número de módulos en la versión actual.
* Fm = número de módulos en la versión actual que han sido modificados.
* Fa = número de módulos en la versión actual que han sido añadidos.
* Fe = número de módulos de la versión anterior que se han eliminado en la versión actual.
IMS = [ Mt - ( Fa + Fm + Fe )] / Mt
Métricas Orientadas a Objetos
Se centran en métricas que se pueden aplicar a las características de encapsulamiento, ocultamiento de información, herencia y técnicas de abstracción de objetos que hagan única a esa clase.
Las medidas para desarrollo OO son:
- Métodos ponderados por clase
- Profundidad árbol de herencia
- Número de descendientes
- Acoplamiento entre clases
- Respuesta para una clase
- Carencia de cohesión en los métodos
Complejidad ciclomática de McCabe
Se basa en el recuento del número de caminos lógicos individuales contenidos en un programa, utilizando la teoría y flijo de grafos.
Cada instrucción refiere a un nodo del grafo, a partir de ahi, se ven las vias posibles (representadas como aristas).
Fórmula 1
v (G) = e - n + 2
Dónde ‘e’ representa el número de aristas y ‘n’ el numero de nodos
Fórmula 2
v (G) = num regiones cerradas en el grafo + 1
Ciencia del software de Halstead
Basada en el cálculo de palabras clave (reservadas) y variables.
Se cuentan los operadores (if, them, for, read) y operandos (+, -, *, And, Equal to, Or).
Los operandos son las variables y constantes del programa.
Se distingue entre operadores y operandos unicos, del numero total de ellos.
- n1 - número de operadores únicos que aparecen en un programa
- N1 - número total de ocurrencias de operadores
- n2 - número de operandos únicos que aparecen en un programa
- N2 - número total de ocurrencias de operandos
Fórmula
N = N1 + N2
Donde N mide de forma estimada el tamaño del programa.
Utilizando el volumen
V = N * log2 (n)
Donde n = n1 + n2
Esta fórmula tiene en cuenta la cantidad de operadores y operandos únicos.
El esfuerzo mide el trabajo requerido para desarrollar o mantener un software y es más preciso.
E = V / L
Donde V es el volumen , dividido por el nivel del lenguaje.
El lenguaje del puede ser bajo (COBOL = 0,1) o alto (1)