Métricas del Software
Gloria Arcos Medina
"Lo que no se puede medir, no se puede
controlar; lo que no se puede controlar no se
puede gestionar; lo que no se puede gestionar,
no se puede mejorar"
(Peter Drucker)
En general, la medición persigue tres objetivos fundamentales
• Entender qué ocurre durante el desarrollo y el
mantenimiento
• Controlar qué es lo que ocurre en nuestros proyectos
• Mejorar nuestros procesos y nuestros productos
(Fenton y Pfleeger):
PROBLEMAS ANTE UNA FALTA DE MEDICION
¿Cómo va el proyecto? … Bien, bien
Dos semanas después ... ¿Cómo va el proyecto? … Bien, bien
Tres semanas después ... El lunes hay que entregar el
proyecto
¿El lunes? … Oh nooo ... Todavía falta mucho !!!
¿Cómo? ... Me dijiste que el proyecto iba bien !!!
Arréglatelas como quieras, pero el proyecto tiene que estar
terminado para el lunes
REFLEXIÓN
Si n0 sabes el tamaño del proyecto y no
sabes cuanto llevas hecho, nunca sabrás
cuando vas a terminar
Razones para medir un producto
1. Para indicar la calidad del producto.
2. Para evaluar la productividad de la gente que
desarrolla el producto.
3. Para evaluar los beneficios en términos de
productividad y de calidad, derivados del uso de
nuevos métodos y herramientas de la ingeniería de
software.
4. Para establecer una línea de base para la estimación
5. Para ayudar a justificar el uso de nuevas
herramientas o de formación adicional.
¿Por qué es importante medir el proceso de ingeniería
del software y el producto (software) que produce?
Si no se mide, no hay una forma real de determinar
si se está mejorando. Y si no se está mejorando, se
está perdido.
CONCEPTOS
CONCEPTOS
Indicador
Métrica o combinación de métricas que proporcionan una visión
profunda de un proceso, producto o proyecto.
MÉTRICAS
ESCALAS DE MEDICIÓN
EJEMPLOS: MÉTRICA
EJEMPLOS: MEDICIÓN-MEDIDA
PROCESO DE RECOPILACIÓN DE MÉTRICAS
MÉTRICAS DE SOFTWARE:
SEGÚN EL CONTEXTO
MÉTRICAS
Métricas del Métricas del Métricas del
Proceso Proyecto Producto
MÉTRICAS DE SOFTWARE:
SEGÚN EL CONTEXTO
Proceso:
Se recopilan de todos los proyectos, y durante un largo periodo de tiempo
Caracterizadas por:
• Medición de tiempos de las fases.
• Permiten evaluar los resultados parciales del proyecto durante su desarrollo
(avance de iteraciones)
Proyecto:
• Permiten evaluar el estado del proyecto.
• Control y ejecución del proyecto.
• Permiten seguir la pista de los riesgos.
Producto:
• Se centran en las características del software y no en cómo se fabricó.
• También son productos los artefactos, documentos, modelos y componentes
que conforman el software.
• Se miden cosas como el tamaño, la calidad, la totalidad, la volatilidad y el
esfuerzo.
MÉTRICAS DE SOFTWARE:
SEGÚN SU FORMA DE MEDICIÓN
EJEMPLOS: MÉTRICAS DIRECTAS E INDIRECTAS
EJEMPLOS: MÉTRICAS DIRECTAS E INDIRECTAS
OTRA CLASIFICACIÓN
MÉTRICAS
Orientadas al
Tamaño
Orientadas a la
función
Métricas orientadas al tamaño
Las métricas del software orientadas al tamaño provienen de
la normalización de las medidas de calidad y/o productividad
considerando el «tamaño» del software que se haya producido.
Proyecto LDC Esfuerzo Costo Errores Defectos Personas
(miles) (miles $)
A 12,1 24 168 134 29 3
B 27,2 62 440 321 86 5
C 20,2 43 314 256 64 6
EJERCICIO
Basado en los datos anteriores, calcule lo siguiente:
Productividad = KLDC/persona-mes
Calidad = errores/LDC
Costo por línea de código = $/LDC
Defectos por persona =
Errores por persona
LDC por persona =
EDD = E /(E + D)
Eficacia en la Eliminación de defectos
E=errores,
D=defectos
Métricas orientadas a la función
Las métricas del software orientadas a la función
utilizan una medida de la funcionalidad entregada
por la aplicación como un valor de normalización.
Ya que la funcionalidad no se puede medir
directamente, se debe derivar mediante otras
medidas directas.
Punto de función: Se calcula determinando 5
características de dominio de información.
LÍNEAS DE CÓDIGO POR PUNTO DE FUNCIÓN
LENGUAJE/ENTONO DE PROGRAMACIÓN LDC/ PF
C 150
PASCAL 91
VISUAL BASIC 32
C++ 29
DELPHI 29
JAVA 53
HOJA DE CÁLCULO 6
POWER BUILDER 16
4GL 40
ORACLE 2000 23
LENG. ORIENTADO A OBJETOS 29
QUERY 13
EJERCICIO DE PUNTOS DE FUNCIÓN
Calcule el valor del punto de función de un proyecto
con las siguientes características:
Número de entradas de usuario = 32
Número de salidas de usuario = 60
Número de peticiones de usuario = 24
Número de archivos = 8
Número de interfaces externas = 2
Asuma que todos los valores de ajuste de complejidad están en
la media