Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métricas de Software
Métricas de Software
Cuando pueda medir lo que est diciendo y expresarlo con nmeros, ya conoce algo sobre ello; cuando no pueda medir, cuando no pueda expresar lo que dice con nmeros, su conocimiento es precario y deficiente; puede ser el comienzo del conocimiento, pero en tus pensamientos apenas ests avanzando hacia el escenario de la ciencia
www.inacap.cl
Medida. Proporciona una indicacin cuantitativa de extensin, cantidad, dimensiones, capacidad y tamao de algunos atributos de un proceso o producto. Pueden ser directas o indirectas. Medidas Directas. Del proceso del software: Costo y Esfuerzo aplicados Del producto: Nmero de lneas de cdigo Velocidad de ejecucin Tamao de memoria Nmero de errores y defectos encontrados Medidas Indirectas. Funcionalidad Calidad Complejidad Eficiencia Fiabilidad Facilidad de Mantenimiento www.inacap.cl
Medicin. Acto de determinar una medida. Mtrica. Es una medida cuantitativa del grado en que un sistema o proceso posee un atributo dado. Por lo general relaciona una o ms medidas, p.e. nmero de errores encontrados por cada mil lneas de cdigo. Indicador. Es una mtrica o combinacin de mtricas que proporcionan una visin del proceso, del proyecto o del software en s, y poder hacer ajustes para que las cosas mejoren. Sirve para: Evaluar el estado del proyecto. Hacer un seguimiento de los riesgos. Detectar las reas problemticas. Ajustar el flujo y las tareas del trabajo para evitar retrasos. Evaluar la habilidad del personal. Evaluar la calidad del producto.
www.inacap.cl
Para qu medir el software? Para indicar la calidad del producto. Para evaluar la productividad de las personas. Para evaluar los beneficios derivados del uso de nuevos mtodos y herramientas. Para establecer una lnea de base para la estimacin. Para justificar el uso de nuevas herramientas y la necesidad de formacin
www.inacap.cl
www.inacap.cl
Proyecto
KLOC
Esfuerzo (personasmes)
Documentacin (# pginas)
# personas
errores
Proy1
12,1
26
370
29
180
Proy2
27,8
60
1200
86
450
Proy3
20
43
1050
64
320
www.inacap.cl
Medidas Lneas de cdigo (LOC). Esfuerzo en hombre-mes. Costo en pesos o dlares. Nmero de pginas de documentacin. Nmero de errores. Fallas detectadas antes de entregar el software al cliente. Nmero de defectos. Fallas detectadas despus de entregar el software al cliente. Nmero de personas en el proyecto. Mtricas Con los datos contenidos en la tabla anterior se pueden desarrollar un conjunto de mtricas de productividad y calidad orientadas al tamao. Productividad KLOC / Esfuerzo LOC / Esfuerzo Errores / Esfuerzo Calidad Errores/KLOC Defectos / KLOC Coste Costo/KLOC Costo / Pgina de documentacin Tasa Documentacin Pginas de Documentacin / KLOC
www.inacap.cl
Para efectos de la estimacin del esfuerzo de desarrollo como base de la planificacin, las mtricas orientadas al tamao han sido utilizadas en varias propuestas. La mayora de ellas son lo que se llaman modelos de estimacin, que en este caso son funciones de las lneas de cdigo o de las miles de lneas de cdigo que tendr el software a desarrollar. Los principales problemas de utilizar lneas de cdigo como mtrica son la falta de una definicin universal de lnea de cdigo, su dependencia con el lenguaje de desarrollo y la dificultad de estimar en fases tempranas del desarrollo la cantidad de lneas que tendr una aplicacin para efectos de estimacin del esfuerzo.
www.inacap.cl
Ventajas Son fciles de calcular. Muchos modelos de estimacin de software usan LOC o KLOC como datos de entrada. Existen un amplio conjunto de datos y literatura basados en LOC. Desventajas Son dependientes del lenguaje de programacin. Perjudica a los programas cortos pero bien diseados. Su uso en estimacin es difcil porque hay que estimar las LOC a producirse mucho antes de que se complete el anlisis y el diseo.
www.inacap.cl
www.inacap.cl
www.inacap.cl
2. Pueden ser estimados a partir de la especificacin de requisitos o especificaciones de diseo, haciendo posible de este modo la estimacin del esfuerzo de desarrollo en etapas tempranas del mismo. Como los puntos de funcin estn ntimamente relacionados con la declaracin de requisitos, cualquier modificacin a sta, puede ser reflejada sin mayor dificultad en una reestimacin. 3. Como los puntos de funcin estn basados en una visin externa del usuario del sistema, los usuarios no tcnicos del software poseen un mejor entendimiento de lo que los puntos de funcin estn midiendo. El mtodo resuelve muchas de las inconsistencias que aparecen cuando se utiliza lneas de cdigo como mtrica del tamao del software.
www.inacap.cl
En resumen, los puntos de funcin aparecen con ventajas sustanciales por sobre las lneas de cdigo, para fines de estimacin temprana del tamao del software. Adems es una medida ampliamente utilizada, y con xito, en muchas organizaciones que desarrollan software en forma masiva.
www.inacap.cl
Cuenta Nmero de entradas de usuario Nmero de salidas de usuario Nmero de peticiones de usuario Nmero de archivos internos
Simple * 3 + * 4 + * 3 + * 7 +
Cuenta
Medio * 4 + * 5 + * 4 + * 10 +
Cuenta
Complejo * 6 = * 7 = * 6 = * 15 =
* 5 +
* 7 +
* 10 =
www.inacap.cl
donde: Entradas de usuario. Son entradas que proporcionan diferentes datos a la aplicacin. Datos de proceso o informacin de control que viene de fuera de la frontera de la aplicacin y que se muestra como un proceso elemental que mantiene uno o ms archivos lgicos internos. Salidas de usuario. Son reportes, pantallas o mensajes de error que proporcionan informacin. Los elementos de un reporte, no se cuentan de forma separada. Proceso elemental que genera datos o informacin de control enviada al exterior de la frontera de la aplicacin. Peticiones de usuario. Es una entrada interactiva que produce la generacin de alguna respuesta del software en forma de salida interactiva. Proceso elemental constituido por una combinacin de entrada-salida que proporciona una recuperacin de datos; la parte de salida no contiene datos derivados; ningn archivo interno lgico es mantenido mediante el proceso.
www.inacap.cl
Archivos Internos. Son los archivos que pueden ser parte de una base de datos o independientes. Agrupacin de datos relacionados lgicamente o informacin de control identificable por el usuario y mantenida dentro de la aplicacin. Interfaces externas. Son los archivos que se usan para transmitir informacin a otro sistema.Agrupacin de datos relacionados lgicamente o informacin de control identificable por el usuario, referenciada por la aplicacin, pero mantenida dentro de los lmites de OTRA aplicacin.
www.inacap.cl
Indicaciones para el uso de la tabla de valores del dominio de la informacin anterior: a. Contar cada medida por separado. b. Asociar, de alguna manera, un valor de complejidad a cada medida. Las tablas siguientes muestran una heurstica para decidir la complejidad de todo el sistema.
www.inacap.cl
www.inacap.cl
c. Para cada medida, multiplicar cada cuenta por el factor de complejidad encontrado, acumularlo y escribir este subtotal en la columna de la extrema derecha. d. Sumar la columna de la extrema derecha y obtener un total T que indica el valor del dominio de la informacin.
www.inacap.cl
Responder a cada una de las siguientes catorce preguntas y asignarles un valor entre 0 y 5, donde 0 es no influencia, 1 es incidental, 2 es moderado, 3 es medio, 4 es significativo y 5 es esencial. 1. Requiere el sistema copias de seguridad y de recuperacin fiables? 2. Requiere comunicacin de datos? 3. Existen funciones de procesamiento distribuido? 4. Es crtico el rendimiento? 5. Se ejecutar el sistema en un entorno operativo existente y fuertemente utilizado? 6. Requiere entrada de datos interactiva? 7. Requiere la entrada de datos interactiva que las transacciones de entrada se lleven a cabo sobre mltiples pantallas u operaciones? 8. Se actualizan los archivos maestros de forma interactiva? 9. Son complejas las entradas, las salidas, los archivos o las peticiones? 10. Es complejo el procesamiento interno? 11. Se ha diseado el cdigo para ser reutilizable? 12. Estn incluidas en el diseo la conversin y la instalacin? 13. Se ha diseado el sistema para soportar mltiples instalaciones en diferentes organizaciones? 14. Se ha diseado la aplicacin para facilitar los cambios y para ser fcilmente utilizada por el usuario? www.inacap.cl
10
Sumar los puntos asignados a cada respuesta y obtener un total F que indica un valor de ajuste de complejidad. El punto de funcin FP se calcula con la siguiente ecuacin: PF = T * (0.65 + 0.01 * F). Mtricas Errores por PF. Defectos por PF. Costo por PF. Pgina de documentacin por PF. PF por hombre-mes.
www.inacap.cl
11
Parmetro
Factor de ponderacin
Total
Entradas de usuario
* 4 =
Salidas de usuario
* 5 =
Peticiones de usuario
* 4 =
Archivos internos
* 7 =
Interfaces externas
* 7 =
Algoritmos
* 3 =
www.inacap.cl
En este contexto se define un algoritmo como un problema de clculo limitado que se incluye dentro de un programa de computadora especfico. Invertir una matriz, decodificar un string o manejar una interrupcin son ejemplos de algoritmos.
www.inacap.cl
12
www.inacap.cl
As concebidos, los Puntos Funcin 3D parecen ser mucho ms completos y potentes que los Puntos Funcin tradicionales. Sin embargo, presentan un inconveniente: es necesario disponer de una mayor cantidad de informacin acerca del sistema, sobre todo referente a la complejidad de los algoritmos que se van a implementar y a las posibles transiciones y estados en los que puede encontrarse el sistema. Disponer de esta informacin no siempre es tan fcil y menos an durante las primeras etapas del ciclo de vida. Una de las aplicaciones conocidas de los Puntos Funcin 3D es la estimacin del esfuerzo de desarrollo requerido para implementar clases concretas en diseo orientado a objetos. De esta forma, sirven como mtrica intermedia entre los Puntos Funcin tradicionales y las mtricas OO.
www.inacap.cl
13
www.inacap.cl
donde: 1. Estructuras internas de datos. Son arreglos, listas ligadas, pilas, colas, etc. 2. Datos externos. Equivale a la suma de los archivos y las interfaces externas tal y como estn definidos para el punto de funcin. 3. Entradas de usuario. Definidas igual que para el punto de funcin. 4. Salidas de usuario. Definidas igual que para el punto de funcin. 5. Peticiones de usuario. Definidas igual que para el punto de funcin. 6. Transformaciones. Son las operaciones internas requeridas para transformar datos de entrada en datos de salida. Multiplicar dos matrices cuenta como una transformacin. Leer datos de un archivo y guardarlos en memoria no. 7. Transiciones. Ocurre cuando el software pasa de un estado a otro como resultado de algn suceso. En un sistema de altas, bajas y cambios, al tomar la opcin de altas, pasa del estado "men principal" al estado "procesa altas" y puede ser que en ese momento pida datos para dar la alta.
www.inacap.cl
14
Indicaciones: Para cada medida, contar por separado, de acuerdo a algn criterio de asignacin de complejidad, las veces que aparezca con complejidad baja, media y alta. Para cada medida, multiplicar cada cuenta por el factor de complejidad correspondiente, sumar las tres cantidades y escribir el total en la columna de la extrema derecha. Sumar la columna de la extrema derecha y obtener el punto de funcin 3D.
www.inacap.cl
15