Este documento describe el estado actual de la medición de la calidad en la especificación de requisitos de software. Presenta diferentes modelos de calidad existentes y métricas aplicadas a niveles como el diseño y el código, pero señala que hacen falta métricas que midan directamente los atributos de calidad a nivel de especificación de requisitos. Propone una arquitectura basada en modelos que permita gestionar la calidad de diferentes perspectivas de modelado, formular objetivos de calidad y planes de medida, y almacenar información histó
Tema 19. Inmunología y el sistema inmunitario 2024
mmg-2000.ppt
1. Medición de la calidad del
software en el ámbito de la
especificación de requisitos
María N. Moreno García
Francisco J. García Peñalvo
María José Polo Martín
Universidad de Salamanca
Departamento de Informática y Automática
2. CONTENIDO
1. Introducción
2. Medición de especificaciones de
requisitos
3. Medidas basadas en modelos
4. Arquitectura de gestión de calidad de
ERS
5. Conclusiones
6. Referencias
4. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 4
1. Introducción
Calidad del software
Medición del software: necesidad de obtener
datos objetivos que ayuden a mejorar la calidad
Creación de modelos de calidad:útiles para
discutir, planificar y obtener índices de calidad
Aplicación de estándares de calidad:
directrices para el aseguramiento externo e
interno de la calidad
5. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 5
1. Introducción
Los siguientes conceptos se han desarrollado tomando
como base la experiencia de varias organizaciones
Pradigma para establecer objetivos corporativos y del proyecto y
un mecanismo para medir dichos objetivos
Paradigma Objetivos/Preguntas/Metricas
Un mecanismo de mejora evolutiva para el software
Paradigma Mejora de la Calidad
Un enfoque organizativo para construir competencias de software
y suministrarlas a los proyectos
Factoría de la experiencia
Victor R. Basili
6. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 6
1. Introducción
Necesitamos “frameworks” de medidas para:
Caracterizar
Construir modelos comparativos y líneas base
Entender
• Analizar modelos
Evaluar
• Comparar modelos
Predecir
• Construir modelos predictivos
Motivar
• Construir modelos prescriptivos
Victor R. Basili
7. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 7
1. Introducción
Modelos de calidad:
Modelo de Boehm [Boehm et al., 1978]
Modelo FCM (Factors/Criteria/Metrics) [McCall et al.,
1977]
Marco ISO 9126 [ISO/IEC, 1991]:
Paradigma GQM (Goal-Question-Metric) [Basili y
Rombach, 1988]:
Modelo de Gilb [Gilb, 1988]:
Modelo CMM (Capability Maturity Model) [Paulk,
1993]:
Modelo SPICE (Software Process Improvement and
Capability determination) [Rout, 1995], [SPICE, 1999]:
8. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 8
1. Introducción
Características de los modelos:
Algunos modelos (FCM, GQM...) incluyen métricas
para evaluar diferentes atributos de calidad del
producto casi siempre en el nivel del diseño o del
código
Los modelos de calidad más recientes (CMM,
SPICE) están orientados a la mejora de procesos
“Desafortunadamente, organizaciones que
cumplen los requisitos CMM o ISO no
están produciendo software de calidad”
David Cook
10. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 10
2. Medición de especificaciones de
requisitos
Métricas de especificación de requisitos:
Tamaño y funcionalidad:
• Puntos de función [Albrecht, 1979]
• Métrica Bang [DeMarco, 1982]
• Puntos objeto [Boehm et al., 1995]
Calidad
• Métricas basadas en especificaciones formales [Samson et
al., 1990]
• Calidad de las especificaciones informales en lenguaje
natural [Samson y Palmer], [Finkelstein et al.]
• Métricas de calidad de la documentación [Arthur y Stevens,
1989], [French et al., 1997], [Roth et al., 1994]
• Listas de comprobación [Brykczynski, 1999] [Farbey, 1990]
11. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 11
2. Medición de especificaciones de
requisitos
Calidad en sistemas OO
Métricas de diseño: [Chidamber y Kemerer, 1994]
Métricas orientadas a clases [Lorenz y Kidd 1994]
Métricas orientadas a operaciones [Churcher y
Shepperd, 1995]
Métricas para pruebas [Binder, 1994]
Métricas de calidad y complejidad en modelos OMT
[Genero et al., 1999]
Métricas de calidad de los diagramas de clases en
UML [Genero et al., 2000]
Medición de modelos conceptuales basados en
eventos [Poels, 2000]
12. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 12
2. Medición de especificaciones de
requisitos
Calidad en sistemas OO
Características de las métricas:
• Centradas en el diseño
• Dirigidas a la medición de la complejidad, reusabilidad,
acoplamiento y cohesión
• Enfocadas en el modelado estructural o estático
• Las métricas desarrolladas en niveles próximos a la
especificación de requisitos del software (ERS) no miden sus
atributos de calidad (exceptuando las técnicas formales)
13. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 13
2. Medición de especificaciones de
requisitos
Atributos de la ERS:
Corrección: validación de requisitos, modelos
técnicamente correctos, etc.
Completitud : grado en que los requisitos cumplen las
necesidades de los usuarios
Consistencia: ausencia de requisitos contradictorios
Carencia de ambigüedad: un único requisito debe
tener una única interpretación (ortogonalidad del
lenguaje de especificación)
Trazabilidad: seguimiento de la evolución de los
requisitos
Facilidad de comprensión
14. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 14
2. Medición de especificaciones de
requisitos
Algunas características de la ERS dificultan
la aplicación de métricas
Diferentes perspectivas de modelado
• Es necesario contemplar múltiples notaciones
Evolución
• Hay que asegurar la consistencia de los cambios
Transformación
• Se requieren medidas de calidad que valoren la trazabilidad
Abstracción
• Es difícil medir directamente los atributos de calidad
15. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 15
2. Medición de especificaciones de
requisitos
Necesidad de Modelos:
Minimizar la complejidad y relatividad inherentes
al concepto “calidad del software”
Manejar diferentes perspectivas de modelado
Gestionar la evolución y asegurar la consistencia
de los cambios
Crear “Factorías de la experiencia”
17. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 17
3. Medidas basadas en modelos
El éxito en la medición del software está ligado a
la obtención, definición y manipulación conjunta
de dos modelos:
Modelos empíricos
• Contexto empírico del mundo real
Modelos numéricos
• Formalización de las medidas del contexto
empírico
18. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 18
3. Medidas basadas en modelos
Modelo
empírico
Medida
Modelo
numérico
Resultado
empírico
Interpretación
Resultado
numérico
Matemáticas/
estadística
Comprensión/
refinamiento
19. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 19
3. Medidas basadas en modelos
i j k
Modelo
I’ J’ K’
Modelo’
Metamodelo
Meta-metamodelo
Modelo de jerarquía genérico que recoge los aspectos evolutivos
y/o de transformación de dos modelos
21. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 21
4. Arquitectura de gestión de
calidad de ERS
Objetivos:
Gestionar conjuntamente la calidad de
diferentes perspectivas de modelado
Formular directamente objetivos de calidad y
planes de medida
Proporcionar una base para la automatización
de las medidas
Mantener registros de información histórica
Proporcionar soporte para estudios empíricos y
construcción de modelos predictivos
22. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 22
Modelos en el ámbito de los requisitos
Entorno de
aplicación 2
Entorno de
aplicación 1
Entorno de desarrollo
Meta metamodelo
Lenguaje de modelado
Modelos
Instancias y
escenarios
Ingeniería
de métodos
Modelado
conceptual
Uso
Estructura de referencia ISO IRDS (Information Resource Dictionary System)
4. Arquitectura de gestión de
calidad de ERS
23. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 23
4. Arquitectura de gestión de
calidad de ERS
Basada en la arquitectura IRDS de cuatro
capas :
Escenarios e instancias: contiene objetos no
instanciables (datos, estados...)
Modelos: representa las clases
Metamodelos: nivel de lenguajes de modelado
que define la estructura de las clases
Meta metamodelo: Definición de múltiples
lenguajes de modelado
24. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 24
4. Arquitectura de gestión de
calidad de ERS
UML
Nombre: UML
tipo: gráfico
nº de notaciones: 9
CU-0
Aplicación: contabilidad
Nivel: contextual
Modelo M2
Metamodelo
Casos de uso
Diagrama: casos de uso
Clasificadores: 2
Modelo
Escenario
25. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 25
Implementación en un repositorio
Construcción de modelos empíricos de
entidades medibles
Recuperación de modelos y datos para realizar
medidas
Realización de análisis de datos, presentación e
interpretación de resultados
Almacenamiento de modelos y resultados para
uso futuro
Automatización de la recolección de datos y
aplicación de métricas
4. Arquitectura de gestión de
calidad de ERS
26. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 26
4. Arquitectura de gestión de
calidad de ERS
SGBD
ME
Aplicación
1
Aplicación
n
Repositorio
CASE
Repositorio
de gestión
de Calidad
28. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 28
5. Conclusiones
Construir modelos para:
ayudar a entender qué estamos haciendo
proporcionar una base para definir objetivos
proporcionar una base para la medición
Construir modelos de:
gente, procesos, productos
y estudiar sus interrelaciones
29. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 29
5. Conclusiones
Usar modelos para
clasificar el proyecto en curso
distinguir los entornos pertinentes del proyecto
encontrar tipos de proyectos con características y
objetivos similares
Los modelos proporcionan un contexto para:
Definición de objetivos
Objetos/experiencias reutilizables
Selección de procesos
Evaluación/comparación
Prediccion
30. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 30
5. Conclusiones
El enfoque propuesto proporciona:
Un marco para definir modelos de calidad y
objetivos específicos del proyecto
Un mecanismo para evaluar la calidad en las
primeras fases del ciclo de vida
Soporte para el registro y uso provechoso de
experiencias pasadas
Un medio para gestionar la evolución y la
consistencia de los cambios
32. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 32
6. Referencias
Albrecht, A.J., “Measuring application development”, Proc. of IBM Applications DevelopmentJoint
SHARE/GUIDE Symposium, Monterey, CA, pp 83-92, 1979.
Arthur, J.D. y Stevens, K.T. , “Assessing the adequacy of documentation through document quality
indicators”, Proceedings of the IEEE Conference of Software Maintenance, pp. 40-49, 1989.
Basili, V.R. y Rombach, H.D., “The TAME Project: Towards Improvement-Oriented Software
Environments”, IEEE Transaction on Software Engineering,14(6), 758-73 1988.
Basili, V.R. y Weiss, D., “A Methodology for Collecting Valid Software Engineering data”, IEEE Transaction
on Software Engineering, 10 (6), 728-38 1984.
Binder, R., “Testing Object-Oriented Systems”, American Programmer, 7(4), 22-29, 1994.
Boehm, B.W., Kaspar, J.R. y otros “Characteristics of Software Quality”, TRW Series of Software
Technology, 1978.
Boehm, B.W., Clark, B., Horowitz, E. et al., “Cost Models for future life cycle processes: COCOMO 2.0”,
Annals of Software Engineering 1(1), pp 1-24, 1995.
Brykczynskki, B., “A survey of software inspection checklist”, ACM Software Engineering Notes, 24(1), pp
82-89, 1999.
Chidamber, S.R. y Kemerer, C.F., “A Metrics Suite for Object-Oriented Design” ,IEEE Transactions of
Software Engineering, 20(6), 476-493, 1994.
Churcher, N.I. and Shepperd, M.J., “Towards Conceptual Framework for Object-Oriented Metrics”, ACM
Software Engineering Notes, 20 (2), 67-76, 1995.
33. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 33
6. Referencias
DeMarco, T., “Controlling Software Projects”, Yourdon Press, 1982.
Dolado, J.J. y Fernández, L. (coordinadores). “Medición para la Gestión en la Ingeniería del Software”.
Ra-ma, 2000.
Farbey, B., “Software Quality metrics: considerations about requirements and requirements specification”,
Information and Software Technology, 32 (1), pp 60-64, 1990.
Fenton, N.E. y Pfleeger, S.L., “Software Metrics. A Rigorous & Practical Approach” , PWS, 1997.
French, J.C., Knight, J.C. y Powell, A.L., “Applying hipertext structures to software documentation”,
Information Processing and Management”, 33 (2), pp 219-231, 1997.
Genero, M., Manso, M.E., Piattini, M. y García F.J. “Assessing the quality and the Complexity of OMT
Models” 2nd European Software Measurements Conference-FESMA 99, Amsterdam, Netherlands, pp
99-109, 1999.
Genero, M., Piattini, M. y Calero, C. “Una propuesta para medir la calidad de los diagramas de clases en
UML”, IDEAS´2000, Cancun, México, pp 373-384, 2000.
Gilb, T. “Principles of Software Engineering Management”, Addison-Wesley, 1988.
ISO/IEC "Information Technology - Information Resources Dictionary System (IRDS) - Framework",
ISO/IEC intl. Standard edition, 1990.
ISO/IEC 9126, “Software Product Evaluation – Quality Characteristics and Guidelines for their Use ”,
1991.
34. Medición de la calidad del software en el ámbito de la especificación de requisitos
JISBD´2000 34
6. Referencias
Lorenz, M. and Kidd, J., “Object_oriented Software Metrics”, Prentice Hall 1994.
McCall, J.A., Richards, P.K. and Walters, G.F. “Factors in Software Quality”, RADC TR-77-369, US Rome
Air Development Center Reports NTIS AD/A-049 014, 015, 055, 1977.
Paulk, M., Curtis, B., Chrissis, M., and Weber, C. “Capability Maturity Model for Software: Version 1.1”.
Technical Report SEI-93-TR-24, Software Engineering Institute, Carnegie Mellon University,
Pittsburgh, Pennsylvania, USA, 1993.
Poels, G., “On the measurements of event-based object-oriented conceptual models”. 4th International
ECOOP Workshop on Quantitative Approaches in Object Oriented Software Engineering, Cannes,
France, 2000.
Roth, T., Aiken, P. y Hobbs, S., “Hypermedia support for software developmemt: a retrospective
assessment”, Hypermedia, 6 (3), pp 149-173, 1994.
Rout, T.P. “Software Process Improvement and Practice”, 1(1), pp 57-66, 1995.
Samson, W.B., Nevill, D.G. Y Dugard, P.I., “Predictive software Metrics based on a Formal Specification”,
Software Engineering Journal, 5(1), 1990.
SPICE, “SPICE Document Suite, Software Process Improvement and Capability determination”, , 1999.