Métricas de Mantenibilidad orientadas al Producto Flashcards

1
Q

Definicion de Métricas de Mantenibilidad

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Densidad de comentarios en el código

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Métricas de Complejidad

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Índice de Madurez del Software

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Métricas Orientadas a Objetos

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Complejidad ciclomática de McCabe

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ciencia del software de Halstead

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly