Date post: | 29-Nov-2014 |
Category: |
Documents |
Upload: | faber-d-giraldo |
View: | 1,046 times |
Download: | 0 times |
Métricas del Software
• Métricas
• Algunos estándares
• SQM
• GQM
Contenido
• Estándares mencionados en clase
• Jones,Bonsignour. The Economics of Software Quality
• Naik. Software Testing and Quality Assurance Theory
and Practice. Wiley
• El Emam. The ROI from Software Quality. Auerbach
Publications
• Lewis, William E. Software testing and continuous quality
improvement 2nd ed. Auerbach Publications
• Material Profesor Rafael David Rincón, Universidad
EAFIT
Bibliografía
Cuando hablan de calidad de software siempre
sacan el mismo dibujo una y otra vez…
IEEE 610.12 Software Engineering Terminology
• Métrica: Una medida cuantitativa del grado en que un
sistema, componente o proceso posee un atributo
determinado.
• Métrica de Calidad: Una medida cuantitativa del
grado en que un ítem posee un atributo de calidad
determinado.
• Medida o Medición: Proceso de asignar números o
símbolos los atributos de las entidades el mundo real
para caracterizar los atributos con reglas claramente
establecidas.
IEEE 610.12 Software Engineering Terminology
Unidades de Medida
Elementos utilizados para evaluar o tasar los
atributos, como por ejemplo:
• Horas persona de esfuerzo.
• Líneas de código
• Cantidad de dinero gastado, etc
IEEE 610.12 Software Engineering Terminology
Valores (de las unidades de Medida)
Medida de un atributo para una entidad
específica en una unidad específica.
Por ejemplo:
• 200 Horas persona (de esfuerzo.)
• 1500 Líneas de código
• US$300.000 gastados, etc
Estándares y Modelos involucrados en la medición
Estándares y Modelos involucrados en la medición
• ISO/IEC 9126 (Software Product Quality)
• ISO/IEC 14598 (Software Product Evaluation).
• ISO/IEC 15504 (software process assessment)
• ISO/IEC 15939 (Software Engineering - Software
Measurement Process) - International standard that
defines a measurement process for software
development and systems engineering.)
• ISO/IEC 25010 (Software product Quality
Requirements and Evaluation(SQuaRE))
¿ Qué medir ?
• Propiedades del software según ISO 25010.3
¿ Qué medir ?
Mediciones externas del software según ISO 25000
¿ Qué medir ?
Mediciones internas del software según ISO 25000
¿Cómo medir?
Dos enfoques para medición y derivación de
métricas
• Software-Quality Metric
• Goal-Question Metric
Modelo cuya premisa se basa en que la medición del
software debe realizarse de manera indirecta.
Algunos Modelos de referencia:
• Gilb
• McCall
• Bohem
• FURPS(HewlettPackard)
• ISO/IEC9126
• CUPRIMDSO(IBM)
SQM
Se basa en un supuesto fundamental: la calidad del
software se conoce y está claramente definida.
• Si la calidad no está bien definida, su evaluación sólo es
intuitiva.
• Calidad: Grado en que el proceso o producto posee una
combinación deseada de atributos.
Fue creado por IEEE como herramienta de apoyo al
mejoramiento de la calidad del proceso de desarrollo de
software(compra, uso, soporte, mantenimiento y
auditoría),a partir de la propuesta de McCall.
SQM
Pasos claves:
• Primero: Definir la calidad con base en una lista
de atributos de calidad a cumplir.
• Segundo: Definir la lista de métricas para
evaluar el cumplimiento de tales atributos
SQM
SQM
• Fue creado para evaluar defectos en un conjunto de
proyectos del NASA Goddard Space Flight Center.
• Generado a partir de las experiencias de
Victor Basili y Dieter Rombach, en la Universidad
de Maryland.
• Adoptado y mejorado por el Software Engineering
Institute, de la Carnegie Mellon University, Pittsburgh,
USA.
GQM
Características
• Relaciona las actividades de medición con la
cuantificación de los procesos, los productos y los
recursos, para tomar decisiones que permitan cumplir
los objetivos de los proyectos.
• La clave es considerar y evaluar el ambiente del
proyecto, de manera que permita alinear las mediciones
con los objetivos de negocios.
• Los proyectos deben identificar métricas y
procedimientos de medición adecuados orientados al
cumplimiento de tales objetivos.
GQM
Niveles de enfoque
GQM
• Se definen las metas para un objeto, por una variedad de razones,
con respecto a uno o más parámetros de calidad, desde varios
puntos de vista y relativos a un ambiente en particular.
Definición de las metas en el Nivel Conceptual
Especificación de las metas
• <Caracterizar, evaluar, predecir, monitorear, motivar,
incrementar, reducir, alcanzar, estabilizar, etc.> el
<resultado, desempeño, estado, avance, retroceso,
etc.> del <proceso, producto, modelo, medición, etc.>
con el fin de <planificarlo, controlarlo, comprenderlo,
evaluarlo, administrarlo, aprenderlo, etc.>
Ejemplo:
• Evaluar los resultados de la metodología de pruebas con
el fin de mejorarla.
Meta Genérica
• Productos:
Artefactos, entregables, documentos, etc., elaborados
durante el ciclo de vida del sistema.
Ejemplo: especificaciones, diseño, programación y
pruebas.
• Procesos:
En general, actividades relacionadas con tiempo.
Ejemplo: especificación, diseño, pruebas, entrevistas, etc.,
• Recursos:
Ítems usados por los procesos para producir resultados.
Ejemplo: personal, hardware, software, espacio físico, etc..
Objetos
• Comprender, predecir, planificar, controlar,
comparar, evaluar o mejorar algún aspecto de la calidad
o la productividad de un objeto.
Ejemplos de aspectos a considerar:
• costo,
• tamaño,
• confiabilidad,
• trazabilidad,
• calidad,
• satisfacción del cliente,
• conformidad,
• time-to-market, etc.
Propósitos
Identifican:
• quién está interesado en los resultados de las mediciones,
• el punto de vista principal punto de vista que guiará las actividades
de medición;
Por ejemplo:
• desarrolladores,
• administradores,
• clientes,
• usuarios, etc.
Por ejemplo, mejorar la productividad puede significar:
• para un Ingeniero de Software: incrementar la cantidad de código
producido por hora;
• para el Jefe de proyectos: mantener el proyecto a tiempo;
• para el gerente general: incrementar las ganancias y el ROI
Perspectivas
Especificación tridimensional de las metas
Activas: dirigidas a controlar los procesos o realizar
cambios a los productos, los procesos, los recursos o al
ambiente.
• Comunes en las actividades de administración de
proyectos y mejora de procesos.
• Relacionadas con los objetivos de evaluación y mejora
de las métricas.
Pasivas: dirigidas a la comprensión y el aprendizaje.
• Comunes a los modelos de calidad y productividad.
• Relacionadas con los objetivos de caracterización y
predicción de las métricas.
Tipos de Metas
Tipos de Metas
Identifican:
• quién está interesado en los resultados de las mediciones,
• el punto de vista principal punto de vista que guiará las actividades
de medición;
Por ejemplo:
• desarrolladores,
• administradores,
• clientes,
• usuarios, etc.
Por ejemplo, mejorar la productividad puede significar:
• para un Ingeniero de Software: incrementar la cantidad de código
producido por hora;
• para el Jefe de proyectos: mantener el proyecto a tiempo;
• para el gerente general: incrementar las ganancias y el ROI
Perspectivas
Se plantea un conjunto de interrogantes:
• para caracterizar la forma como se alcanzarán las metas,
• con base en modelos (de calidad) específicos.
Las respuestas a estas interrogantes permiten determinar si la meta se
ha cumplido.
Definición de interrogantes – nivel operativo
¿Cómo se puede caracterizar el objeto respecto a la meta
global?
Tipo 1 de preguntas
¿Cómo se puede caracterizar los atributos relevantes del
objeto respecto al parámetro específico?
Tipo 2 de preguntas
¿Cómo se puede evaluar las características relevantes del
objeto respecto del punto de vista específico?
Tipo 3 de preguntas
• Objetivos: mejorar plazos de cumplimiento de los mantenimientos.
• Solución:
Ejemplos de interrogantes
• Identificar las mediciones a realizar que podrían
determinar las respuestas a las interrogantes.
• Se asocia un conjunto de datos con cada
interrogante,para responderla de manera cuantitativa.
• Una métrica puede servir para responder más de una interrogante
Definición de las métricas en el Nivel Cuantitativo
• Objetivos: si dependen sólo del objeto medido, y no del
punto de vista de la medición.
• número de versión de un documento,
• horas persona usadas en una tarea,
• tamaño de un programa, etc.
• Subjetivos: si dependen tanto del objeto medido como
del punto de vista de la medición.
• nivel de satisfacción del usuario,
• legibilidad de un texto, etc.
Características de los datos
Cantidad y calidad de los datos disponible:
• maximizando el uso de las fuentes de datos existentes,
• si están disponibles y son confiables.
Madurez de los objetos a medir, aplicando:
• las medidas objetivas a los objetos más maduros,
• las medidas subjetivas a los objetos más informales o
inestables.
El proceso de aprendizaje:
• el modelo necesita refinamiento y adaptación constante,
• las medidas deben ayudar a evaluar los
objetos y evaluar la confiabilidad del modelo
Factores a considerar al asociar las métricas
• Objetivos: mejorar plazos de cumplimiento de los mantenimientos.
• Solución:
Ejemplo completo (I)
Ejemplo completo (II)
• Una misma métrica puede usarse para responder varios
interrogantes con la misma meta.
• Varias metas pueden tener interrogantes y/o métricas en
común.
• Las métricas pueden tener diferentes valores al
interpretarse desde distintos puntos de vista.
• Por ejemplo, para una Revisión de Pares, una
demora:
• Puede medir empeño y compromiso para el Jefe
de Proyecto.
• Puede significar problemas de calidad para el
Responsable de la Calidad del Proyecto
Algunas consideraciones
OJO: Son muy importantes!!
• ISO/IEC 15939:2007
Systems and software engineering -- Measurement
process (update 2012)
• Practical Software and Systems Measurement (PSM)