Universidad de Salamanca Departamento de Informática y Automática 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
CONTENIDO Introducción Medición de especificaciones de requisitos Medidas basadas en modelos Arquitectura de gestión de calidad de ERS Conclusiones Referencias
1. Introducción
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 JISBD´2000
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 JISBD´2000
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 JISBD´2000
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]: JISBD´2000
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 JISBD´2000
2. Medición de especificaciones de requisitos
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] JISBD´2000
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] JISBD´2000
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) JISBD´2000
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 JISBD´2000
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 JISBD´2000
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” JISBD´2000
3. Medidas basadas en modelos MPC = ci M1, M2, ...,Mn P = 1 - (ET/ER)
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 JISBD´2000
3. Medidas basadas en modelos Modelo empírico Modelo numérico Medida Comprensión/ refinamiento Matemáticas/ estadística Resultado empírico Resultado numérico Interpretación JISBD´2000
3. Medidas basadas en modelos 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 JISBD´2000
4. Arquitectura de gestión de calidad de ERS
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 JISBD´2000
4. Arquitectura de gestión de calidad de ERS Modelos en el ámbito de los requisitos Entorno de desarrollo Meta metamodelo Ingeniería de métodos Lenguaje de modelado Modelado conceptual Modelos Instancias y escenarios Uso Entorno de aplicación 1 Entorno de aplicación 2 Estructura de referencia ISO IRDS (Information Resource Dictionary System) JISBD´2000
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 JISBD´2000
4. Arquitectura de gestión de calidad de ERS Metamodelo Modelo M2 UML Nombre: UML tipo: gráfico nº de notaciones: 9 Modelo Escenario Casos de uso Diagrama: casos de uso Clasificadores: 2 CU-0 Aplicación: contabilidad Nivel: contextual JISBD´2000
4. Arquitectura de gestión de calidad de ERS 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 JISBD´2000
4. Arquitectura de gestión de calidad de ERS SGBD ME Aplicación 1 Aplicación n Repositorio CASE de gestión de Calidad JISBD´2000
5. Conclusiones
5. Conclusiones Construir modelos para: Construir modelos de: 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 JISBD´2000
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 JISBD´2000
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 JISBD´2000
6. referencias
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. JISBD´2000
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. JISBD´2000
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. JISBD´2000