La Electricidad Y La Electrónica Trabajo Tecnología.pdf
Gestión de la calidad usando ingeniería dirigida por modelos
1. Iván Ruiz-Rube
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
María José Escalona
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla
Gestión de la Calidad usando
Ingeniería Dirigida por Modelos
Trabajo Fin de Máster
Máster en Ingeniería y Tecnología del Software
Universidad de Sevilla
16 de noviembre de 2010
2. 2/41
Objetivos
Estudio de alcance
MDE como soporte a la calidad en el Producto Software
Revisión exhaustiva de la literatura
MDE como soporte a la calidad en los Procesos Software
Identificación de nuevas líneas de Investigación
Trabajo Fin de Máster Iván Ruiz-Rube
3. 3/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones y Trabajo futuro
Trabajo Fin de Máster Iván Ruiz-Rube
4. 4/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones y Trabajo futuro
Trabajo Fin de Máster Iván Ruiz-Rube
5. 5/41
Introducción
• Calidad del software como elemento
fundamental en la IS
• Gran interés por la calidad. Caso particular de
CMMI en España
• Gestión de la calidad (QM)
– Planificación
– Aseguramiento
– Control
– Mejora
Trabajo Fin de Máster Iván Ruiz-Rube
6. 6/41
Niveles de la Calidad
PROCESO PRODUCTO
(Juran, 1998)
25000
Trabajo Fin de Máster Iván Ruiz-Rube
7. 7/41
Coste de la Calidad
• QM implica esfuerzos en
tiempo y recursos
• Actividades de QM son
‘no productivas’.
• ¿Cómo desarrollar
actividades de QM con el
menor esfuerzo posible?
Trabajo Fin de Máster Iván Ruiz-Rube
8. 8/41
Ingeniería Dirigida por Modelos
ARQUITECTURA DE MODELADO ESTÁNDARES
NIVELES DE ABSTRACCIÓN
CIM PIM PSM Code
Trabajo Fin de Máster Iván Ruiz-Rube
9. 9/41
Calidad y MDE
ARQUITECTURA DE MODELADO ESTÁNDARES
PROCESO PRODUCTO
NIVELES DE ABSTRACCIÓN
25000
CIM PIM PSM Code
¿Sería posible utilizar el enfoque MDE para
potenciar la calidad del software?
Trabajo Fin de Máster Iván Ruiz-Rube
10. 10/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones y Trabajo futuro
Trabajo Fin de Máster Iván Ruiz-Rube
11. 11/41
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master Iván Ruiz-Rube
12. 12/41
Calidad interna
Revisiones Mejora de la
Métricas
Técnicas Calidad
• Framework de • Reconocimiento • Patrones de
desarrollo de de anti-patrones modelado [72]
modelos de & model • Refactoring de
evaluación [50] checking [36] modelos [46]
• Metamodelo de • Adherencia al
evaluación de metamodelo [19]
calidad [10] • Reglas OCL [20]
[10] Cachero, C. et al.: Metamodeling the quality of the web development process' intermediate artifacts (2007)
[19] Escalona, M. et al.: Measuring the quality of Model-Driven projects with NDT-Quality (2010)
[20] Farkas, T.: Quality Improvement in Automotive Software Engineering using a Model-Based Approach (2008)
[36] Koehler, J. et al.: Combining quality assurance and model transformations in business-driven development (2008)
[46] Mens, T. et al.: Model-driven software refactoring (2008)
[50] Mohagheghi, P. & Dehlen, V.: Developing a quality framework for model-driven engineering (2008)
[72] Wahler, M.: A Pattern Approach to Increasing the Maturity Level of Class Models (2008)
Trabajo Fin de Master Iván Ruiz-Rube
13. 13/41
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master Iván Ruiz-Rube
14. 14/41
Calidad externa
Pruebas Simulación
• Testing de transformaciones • Modelos de simulación
[41] desde modelos de diseño
• Generación automática de [51]
casos de prueba [62]
[41] Lin, Y. et al.: A testing framework for model transformations (2005)
[51] Monperrus, M. et al.: Model-driven simulation of a maritime surveillance system (2010)
[62] Rui-zhi, D.: Model-Driven Testing of Software Product Line (2009)
Trabajo Fin de Master Iván Ruiz-Rube
15. 15/41
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master Iván Ruiz-Rube
16. 16/41
Calidad en Uso
Calidad de Servicio (QoS)
• Lenguaje específico de dominio (DSL) para definir acuerdos
de nivel de servicio (SLA) [53]
• Enriquecer modelos PIM con aspectos QoS [74]
[53] Oberortner, E. et al.: Tailoring a model-driven Quality-of-Service DSL for various stakeholders (2009)
[74] Weis, T. et al.: Quality of service in middleware and applications: a model-driven approach (2005)
Trabajo Fin de Master Iván Ruiz-Rube
17. 17/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones
Trabajo Fin de Máster Iván Ruiz-Rube
18. 18/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
19. 19/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
20. 20/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
21. 21/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
22. 22/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
23. 23/41
Calidad de Procesos
Modelos de
procesos
Notaciones
gráficas
Descripciones
textuales
Procesos
no
definidos
Trabajo Fin de Máster Iván Ruiz-Rube
24. 24/41
Modelado de Procesos
SPEM
Enterprise Architect Visual Studio ALM
IRIS Process Author
Eclipse Process Framework
Trabajo Fin de Master Iván Ruiz-Rube
25. 25/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones y Trabajo futuro
Trabajo Fin de Máster Iván Ruiz-Rube
26. 26/41
Ciclo de vida de BPM
Weske, M.: Business Process Management: Concepts, Languages, Architectures (2007)
Trabajo Fin de Master Iván Ruiz-Rube
28. 28/41
Diseño de Procesos
Metodologías Enfoques de mejora Otros usos
• Ágiles (OpenUP, • CMMI [33] • Lineas de Productos
Scrum y XP) [17] • ISO 12207 [22] Software [7]
• Regionales (Métrica, • PMBOK [38] • Gestión de Cadenas de
V-Modell) [71] Suministros [11]
• Orientadas a Agentes • Gestión del
[57] Conocimiento [15]
[7] Avila-García, O. et al.: Combinando Modelos de Procesos y Activos Reutilizables en una Transición poco Invasiva hacia las Líneas de Producto de
Software (2007)
[11] Caldelas, A. et al.: Formalización de Servicios de Implantación de Sistemas SCM mediante el Estándar SEMDM (2009)
[15] Chongsringam, P. & Prompoon, N.: Process Model Design for Knowledge Management in CMMI Organization (2008)
[17] Eclipse Foundation: Eclipse Process Framework (2010)
[22] Garbajosa, J. & Espinoza, A.: Repositorio de fragmentos de método y herramientas de explotación básicas (2007)
[33] Juan Li, M. et al.: A Metamodel for the CMM Software Process (2004)
[38] Koacz, K.: Using SPEM/UML profile to specification of IS development processes (2006)
[57] Puviani, M., et al. Methodologies for self-organising systems: a SPEM approach (2009)
[71] Wachtel, E. et al.: A Domain Specific Language for Project Execution Models (2009)
Trabajo Fin de Master Iván Ruiz-Rube
30. 30/41
Análisis de Procesos
Verificación Validación Simulación Métricas
• Reglas OCL • Adherencia • DEVSHybrid • Medidas
[25] a modelos [49] sobre
• Redes de (CMMI) [55] • SimSe [25] modelos
Petri [8] • Usabilidad SPEM [23]
modelos
[43]
• Evaluación
visual [5]
[5] Alegría, J. et al.: Software Process Model Blueprints (2010)
[8] Bendraou, R. et al.: Definition of an Executable SPEM 2.0 (2007)
[23] Garcia, F. et al.: A Proposal and Empirical Validation of Metrics to Evaluate the Maintainability of Software Process Models (2007)
[25] Hsueh, N. et al.: Applying UML and software simulation for process definition, verification, and validation (2008)
[43] Mahrin, M. et al.: Investigating factors afecting the usability of software process descriptions (2008)
[49] Park, S. et al.: Developing a software process simulation model using SPEM and analytical models (2008)
[55] Pablo Szyrko, D.R.: Definición de un metamodelo para la validación de procesos de software organizacionales basados en modelos estándares (2010)
Trabajo Fin de Master Iván Ruiz-Rube
32. 32/41
Configuración de Procesos
Implantación Adaptación (Tailoing)
• Entorno de ejecución de • Situational Method
procesos MDA [42] Engineering [1]
• Integración de • Lineas de Procesos [44]
herramientas de soporte
SOA [3]
[1] Aharoni, A. & Reinhartz-Berger, I.: A Domain Engineering Approach for Situational Method Engineering (2008)
[3] Aldazabal, A. et al.: Automated Model Driven Development Processes (2008)
[42] Maciel, R.S.P. et al.: An Integrated Approach for Model Driven Process Modeling and Enactment (2009)
[44] Martínez-Ruiz, T. et al.: Towards a SPEM v2.0 Extension to Dene Process Lines Variability Mechanisms (2008)
Trabajo Fin de Master Iván Ruiz-Rube
34. 34/41
Ejecución de Procesos
Operación (Enactment) Monitorización
• BPEL [3] • Ontologías OWL y
• XPDL [21] reglas SWRL [59]
• Web [39]
• MS Project [38]
[3] Aldazabal, A. et al. Automated Model Driven Development Processes (2008)
[21] Feng, Y. et al.: SPEM2XPDL: Towards SPEM Model Enactment (2006)
[38] Koacz, K.: Using SPEM/UML profile to specication of IS development processes (2006)
[39] Larrucea, X. & Alonso, J.: Vulcano: Especificación del metamodelo a utilizar (2007)
[59] Rodríguez, D. & Sicilia, M.: Defining SPEM 2.0 process constraints with semantic rules using SWRL (2009)
Trabajo Fin de Master Iván Ruiz-Rube
36. 36/41
Evaluación Procesos
Monitorización de Actividad de Negocio
• Análisis de métricas recopiladas desde herramientas de
soporte
[61] Rufaatti, G. et al.: New Trends Towards Process Modelling: Spago4Q (2007)
Trabajo Fin de Master Iván Ruiz-Rube
37. 37/41
Contenidos
• Introducción
• Calidad en el Producto Software
• Calidad en el Proceso Software
• Ciclo de vida del Proceso Software
• Conclusiones y Trabajo futuro
Trabajo Fin de Máster Iván Ruiz-Rube
38. 38/41
Conclusiones
• Calidad del SW a dos niveles
• MDE no es sólo MDD
• MDE como soporte al producto
software:
– Medición, revisiones técnicas,
mejora, pruebas, simulación y
calidad de servicio
• MDE como soporte al proceso
software (BPM):
– Diseño, análisis, configuración,
ejecución y evaluación
Trabajo Fin de Master Iván Ruiz-Rube
40. 40/41
Trabajo Futuro
• Representación en SPEM de
metodologías web: NDT1.
• Aplicaciones de ADM2 para los
procesos software.
• Modelado de aspectos no
funcionales del proceso software.
• Modelado de líneas de procesos
software.
1 Navigational Development Techniques (NDT). http://www.iwt2.org/ndt.php
2 Architecture-Driven Modernization (ADM). http://adm.omg.org/
Trabajo Fin de Master Iván Ruiz-Rube
41. Gestión de la Calidad usando
Ingeniería Dirigida por Modelos
Iván Ruiz-Rube
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Cádiz
María José Escalona
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla