Este documento describe métricas de calidad de software. Define métricas, medidas y clasificaciones. Explica modelos de métricas como Mccall, Dromey, FURPS e ISO 9126. También cubre métricas de proceso, producto y proyecto. Incluye un ejemplo de métricas de productividad y describe herramientas para evaluar software libre como QSOS. Finalmente, presenta un caso de estudio sobre la aplicación de métricas y visualización de resultados.
3. Definiciones
‣Medida
Proporciona una indicación
cuantitativa de la cantidad,
dimensiones o tamaño de algunos
atributos de un producto
‣Medición
Acto de determinar una medida
‣Métrica
Es una medida del grado en que
un sistema, componente o proceso
posee un atributo dado.
4. Métricas de Software
‣Las métricas del Software
comprenden un amplio rango de
actividades diversas, estas son
algunas:
‣Aseguramiento y control de calidad
‣Modelos de fiabilidad
‣Modelos y evaluación de ejecución
‣Modelos y medidas de
productividad
7. Clasificación de las métricas de Software
Según los criterios:
Métricas que definen la medición de la complejidad:
de complejidad
volumen, tamaño, anidaciones, y configuración.
Métricas que definen la calidad del software: exactitud,
de calidad
estructuración o modularidad, pruebas, mantenimiento.
Métricas que intentan valorar o medir las actividades de
de competencia productividad de los programadores con respecto a su
certeza, rapidez, eficiencia y competencia
Métricas que miden la conducta de módulos y sistemas de
de desempeño
un software, bajo la supervisión del SO o hardware.
Métricas de experimentación y de preferencia: estilo de
estilizadas
código, convenciones, limitaciones, etc.
8. Clasificación de las métricas de Software
Según el contexto en que se aplican:
‣ Métricas de proceso
‣ Se recopilan de todos los proyectos, y ‣ Métricas de producto
durante un largo periodo de tiempo ‣ Se centran en las características del
‣ Caracterizados por: software y no en como fue producido.
‣ Control y ejecución del proyecto. ‣ También son productos los artefactos,
documentos, modelos, y componentes
‣ Medición de tiempos de las fases.
que conforman el software.
‣ Métricas de proyecto
‣ Se miden cosas como el tamaño, la
‣ Permiten evaluar el estado del proyecto. calidad, la totalidad, la volatilidad, y el
‣ Permiten seguir la pista de los riesgos. esfuerzo.
9. Métricas de Calidad
‣Principal objetivo de los ingenieros
de software es producir sistemas,
aplicaciones o productos de alta
calidad.
‣Para las evaluaciones que se
quieran obtener es necesario la
utilización de medidas técnicas,
que evalúan la calidad de manera
objetiva.
10. Métricas de Calidad - Modelos conocidos
Modelo de MACCALL (1977)
• Describe la calidad como un concepto • Identifica una serie de criterios, tales como
elaborado mediante relaciones jerárquicas rastreabilidad, simplicidad, capacidad de
entre factores de calidad, en base a expansión, etc.
criterios
• Las métricas desarrolladas están
• Los factores de calidad se concentran en relacionadas con los factores de calidad y
tres aspectos importantes de un producto la relación que se establece se mide en
de software: características operativas, función del grado de cumplimiento de los
capacidad de cambios y adaptabilidad a criterios.
nuevos entornos.
11. Métricas de Calidad - Modelos conocidos
Modelo de MACCALL (1977)
Factor Criterio Factor Criterio
Correctitud Rastreabilidad Mantenibilidad Simplicidad
Completitud Concreción
Consistencia Capacidad de Prueba Simplicidad
Confiabilidad Consistencia Instrumentación
Exactitud Auto-descriptividad
Tolerancia a fallas Modularidad
Eficiencia Eficiencia de ejecución Flexibilidad Auto-descriptividad
Eficiencia de almacenamiento Capacidad de expansión
Integridad Control de acceso Generalidad
Auditoría de acceso Modularidad
Usabilidad Operabilidad Portabilidad Auto-descriptividad
Entrenamiento Independencia del sistema
Comunicación Independencia de máquina
Interoperabilidad Modularidad Reusabilidad Auto-descriptividad
Similitud de comunicación Generalidad
Similitud de datos. Modularidad
Independencia del sistema
Independencia de máquina
Criterios asociados a los factores de calidad
12. Métricas de Calidad - Modelos conocidos
Modelo de DROMEY (1996)
Factor Criterio
• Resalta el hecho de que la calidad del Correctitud Funcionalidad
producto es altamente determinada Confiabilidad
por los componentes del mismo Internas Mantenibilidad
(incluyendo documentos de Eficiencia
Confiabilidad
requerimientos, guías de usuarios,
diseños, y código), Contextuales Mantenibilidad
Reusabilidad
Portabilidad
• Sugiere el uso de cuatro categorías Confiabilidad
que implican propiedades de calidad, Descriptivas Mantenibilidad
Reusabilidad
que son: correctitud, internas, Portabilidad
contextuales y descriptivas. Usabilidad
Criterios asociados a los factores de calidad
13. Métricas de Calidad - Modelos conocidos
Modelo de FURPS (1987)
• Modelo desarrollado por Hewlett‐Packard • Basado en el modelo de Mccall.
(HP) en 1987, desarrollando un conjunto de
factores de calidad de software y sus • Se utilizan para establecer métricas de la
respectivos atributos. calidad para todas las actividades del
proceso de desarrollo de un software,
• Funcionalidad (Functionality), usabilidad inclusive de un sistema de información.
(Usability), confiabilidad (Reliability),
desempeño (Performance) y capacidad de
soporte (Supportability).
14. Métricas de Calidad - Modelos conocidos
Modelo de FURPS (1987)
Factor Criterio Factor Criterio
Funcionalidad Características y capacidades del Rendimiento Velocidad del procesamiento
programa Tiempo de respuesta
Generalidad de las funciones Consumo de recursos
Seguridad del sistema Rendimiento efectivo total
Facilidad de Uso Factores humanos Eficacia
Factores estéticos Capacidad de Extensibilidad
Consistencia de la interfaz Soporte Adaptabilidad
Documentación Capacidad de pruebas
Confiabilidad Frecuencia y severidad de las fallas Capacidad de configuración
Exactitud de las salidas Compatibilidad
Tiempo medio de fallos Requisitos de instalación
Capacidad de recuperación ante fallas
Capacidad de predicción
Criterios asociados a los factores de calidad
16. Métricas de Calidad - Modelos conocidos
MOSCA
• Consta de 4 niveles: dimensiones, categorías, características y las métricas. En base de
tres ramas: el producto, el proceso y la humana. Contiene un total de 715 métricas.
17. Métricas de Calidad - Modelos conocidos
Ejemplo
Conocer el nivel de
productividad de los
Una organización lleva a El responsable del proyecto
programadores del proyecto
cabo un proyecto de necesita saber si la
en comparación con lo
desarrollo de un software X. productividad es adecuada.
habitual en otros proyectos
en la organización.
18. Métricas de Calidad - Modelos conocidos
Ejemplo
Las métricas a utilizar podrían ser:
Directas Indirectas Indicadores
• LCF: líneas de código • HPT: horas-programador • PROD: productividad de
fuente escritas. totales. los programadores.
• HPD: horas-programador • LCFH: líneas de código
diarias. fuente por hora de
• CHP: coste por hora- programador.
programador, en unidades • CTP: coste total actual del
monetarias. proyecto, en unidades
monetarias.
• CLCF: coste por línea de
código fuente.
19. Métricas en Software Libre
‣El Software Libre ha tenido un ‣Desventajas de Software Libre
impulso en la búsqueda de la calidad
de los sistemas, así como en la ‣En 2006 nace la Software Quality
creación de herramientas, modelos Observatory for Open Source
de negocios, y procesos de Software (SQO-OSS)
desarrollo.
‣Esta desarrollara un conjunto de
‣Ademas de la ventajas éticas y herramientas de evaluacion de
prácticas que puedan ofrecer las software con el fin de analizar y
herramientas libres y de código comparar la calidad del codigo
abierto, no existe un consenso en la fuente.
literatura en relación a como medir la
calidad sistémica de este tipo de ‣Solo para estimar calidad del
software. producto.
20. QSOS
‣Method for Qualification and
Selection of Open Source Software
(QSOS)
‣Permite la cuantificacación y
selección de software open source.
‣Pasos del QSOS
‣Definición
‣Evaluación
‣Calificación
‣Selección
21. QSOS - Definición y Evaluación
‣Definición
‣Marcos de referencia:
‣Familia de Software
‣Tipos de Licencia
‣Tipos de comunidades
‣Evaluación
22. QSOS - Evaluación
‣Riesgos desde el punto de vista del ‣Aseguramiento de la calidad
usuario ‣Empaque
‣Durabilidad intrínseca ‣Explotabilidad
‣Madurez ‣Integración
‣Adopción ‣Adaptabilidad técnica
‣Liderazgo de desarrollo ‣Modularidad
‣Actividad ‣De acuerdo al producto
‣Independencia de desarrollos ‣Estrategia
‣Solución industrializada ‣Licencia
‣Documentación ‣Derechos de autor, entre otros.
23. QSOS - Calificación y Selección
‣Calificación
Definir los filtros que traduzcan las ‣Selección
necesidades y restricciones Identificar el software que contenga y
relacionadas con la selección del satisfaga los requerimientos de
software. usuario.
‣Primer Nivel de filtro ‣Modo estricto
‣Segundo nivel de filtro ‣Modo holgado
‣Funcionalidad requerida
‣Funcionalidad opcional
‣Funcionalidad no requerida
24. Caso de Estudio
‣ QSOS Versión Producto
Una vez aplicadas la métricas de calidad especificas para el tipo de
software libre que se está evaluando, se obtienen resultados
‣ Una presentación en forma de gráfico
‣ Una presentación en forma textual, representado cada atributo especifico
de cada una de las métricas usadas.
‣ A continuación se hace mención y muestra una herramienta Web,
mediante la cual se puede realizar evaluaciones a casos de estudios
particulares,
‣ Además permite comparar los resultados obtenidos, con otros estudios ya
realizados.