El documento habla sobre las métricas de calidad de software. Define métricas, mediciones e indicadores, y clasifica las métricas de software en métricas de complejidad, calidad, competencia, desempeño y estilizadas. También describe el proceso GQM para seleccionar métricas y el modelo QSOS para evaluar y seleccionar software libre usando métricas. Finalmente, presenta un caso de estudio donde se aplica QSOS para evaluar un producto de software libre.
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:
‣ Medidas y modelos de estimación de
coste y esfuerzo
‣ 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
de complejidad
Métricas que definen la medición de la complejidad:
volumen, tamaño, anidaciones, y configuración.
de calidad
Métricas que definen la calidad del software: exactitud,
estructuración o modularidad, pruebas, mantenimiento.
de competencia
Métricas que intentan valorar o medir las actividades de
productividad de los programadores con respecto a su
certeza, rapidez, eficiencia y competencia
de desempeño
Métricas que miden la conducta de módulos y sistemas de
un software, bajo la supervisión del SO o hardware.
estilizadas
Métricas de experimentación y de preferencia: estilo de
código, convenciones, limitaciones, etc.
8. Clasificación de las métricas de software
‣Métricas de proceso
‣Se recopilan de todos los proyectos,
y durante un largo periodo de
tiempo
‣Caracterizados por:
‣Control y ejecución del proyecto.
‣Medición de tiempos de las fases.
‣Métricas de proyecto
‣Permiten evaluar el estado del
proyecto.
‣Permiten seguir la pista de los
riesgos.
‣Métricas de producto
‣Se centran en las características del
software y no en como fue
producido.
‣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.
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. GQM
‣Goal-Question-Metrics es una técnica
definida por Basili y Weiss, para
seleccionar y generar métricas tanto del
proceso como de los resultados de un
proyecto.
‣Define un objetivo, el cual se refina en
preguntas y define métricas que intentan
dar información para responder a estas
preguntas.
‣Conformado por 3 niveles
‣Nivel conceptual (Goals)
‣Nivel operacional (Questions)
‣Inicialmente se veía al GQM como un
modelo de seis pasos a seguir:
1.Establecer las metas
2.Generación de preguntas
3.Especificación de medidas
4.Preparar recolección de datos
5.Recolectar, validar y analizar los datos
para la toma de decisiones.
6.Analizar los datos para el logro de los
objetivos y el aprendizaje
12. GQM
‣GQM mediante el uso de
fases
‣Planificación
‣Definición
‣Recopilación de datos
‣Interpretación
Objetivo
Pregunta
Métrica
Logro de
objetivo
Respuesta
Medición
Datos recogidos
plan de
proyecto
Planificación Recogida de Datos
Definición Interpretación
15. GQ(I)M
‣Metodología que identifica y define métricas de software que dan soporte al
negocio de la empresa en la mejora de sus procesos y los objetivos de sus
proyectos.
‣Comparte similitudes con el GQM, pero introduce el concepto o soporte explícito
a los indicadores, mediante una plantilla de indicadores.
‣Define el quien, que, donde, cuando, porque, y como de los indicadores.
‣Colección consistente de métricas.
16. GQ(I)M (Pasos)
Formalizar
los objetivos
del negocio
Identificar los
objetivos del
negocio
Identificar lo
que se
quiere
conocer
Identificar los
sub-objetivos
Identificar las
entidades
relacionadas con
los objetivos
17. GQ(I)M (Pasos)
‣ Con respecto a los
indicadores:
6. Identificar preguntas
cuantificables
7. Identificar los
elementos de datos
8. Definir métricas
‣ Con respecto a la
creación del plan de
acción
9. Identificar las acciones
a implementar
10.Preparar un plan de
acción
18. PSM
‣ Practical Software Measurement.
‣ Basado en experiencias obtenidas por las organizaciones para saber cual es la
mejor manera de implementar un programa de medición de software con garantías
de éxito.
‣ Proceso PSM
‣ Planificación de la medición
‣ Realización de la medición
‣ Evaluación de la medición
‣ Establecimiento y mantenimiento del compromiso
20. Modelos de Métricas de software
‣Modelo ISO 9000
‣ISO 9000
‣ISO 9001
‣ISO 9003
‣ISO 904
‣ISO 9000-3
‣ISO/IEC 9126
21. Métricas en Software Libre
‣El Software Libre ha tenido un
impulso en la búsqueda de la calidad
de los sistemas, así como en la
creación de herramientas, modelos
de negocios, y procesos de
desarrollo.
‣Ademas de la ventajas éticas y
prácticas que puedan ofrecer las
herramientas libres y de código
abierto, no existe un consenso en la
literatura en relación a como medir la
calidad sistémica de este tipo de
software.
‣Desventajas de Software Libre
‣En 2006 nace la Software Quality
Observatory for Open Source
Software (SQO-OSS)
‣Esta desarrollara un conjunto de
herramientas de evaluacion de
software con el fin de analizar y
comparar la calidad del codigo
fuente.
‣Solo para estimar calidad del
producto.
22. 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
23. QSOS - Definición y Evaluación
‣ Definición
‣ Marcos de referencia:
‣ Familia de Software
‣ Tipos de Licencia
‣ Tipos de comunidades
‣ Evaluación
Llevar a cabo evaluación del software. Colección de información por parte d las
comunidades de código abierto.
‣ Elaboración de tarjeta de identificación del software
‣ Elaboración de la hoja de evaluación
‣ Cobertura funcional
‣ Riesgos (perspectiva usuario)
‣ Riesgos (perspectiva proveedor de servicios)
24. QSOS - Evaluación
‣Riesgos desde el punto de vista del
usuario
‣Durabilidad intrínseca
‣Madurez
‣Adopción
‣Liderazgo de desarrollo
‣Actividad
‣Independencia de desarrollos
‣Solución industrializada
‣Documentación
‣Aseguramiento de la calidad
‣Empaque
‣Explotabilidad
‣Integración
‣Adaptabilidad técnica
‣Modularidad
‣De acuerdo al producto
‣Estrategia
‣Licencia
‣Derechos de autor, entre otros.
25. QSOS - Calificación y Selección
‣Calificación
Definir los filtros que traduzcan las
necesidades y restricciones
relacionadas con la selección del
software.
‣Primer Nivel de filtro
‣Segundo nivel de filtro
‣Funcionalidad requerida
‣Funcionalidad opcional
‣Funcionalidad no requerida
‣Selección
Identificar el software que contenga y
satisfaga los requerimientos de
usuario.
‣Modo estricto
‣Modo holgado
26. 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.
27. Caso de Estudio
‣ Selección de la familia a la que
corresponde el software a estudiar
28. Caso de Estudio
‣ Introducción de los valores
métricos según el estándar
29. Caso de Estudio
‣ Visualización y/o comparación de
los resultados obtenidos