Upload
ivan-ruiz-rube
View
419
Download
1
Embed Size (px)
DESCRIPTION
Trabajo Fin de Máster "Ingeniería y Tecnología del Software"
Citation preview
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
Trabajo Fin de Máster Máster en Ingeniería y Tecnología del Software Universidad de Sevilla 16 de noviembre de 2010
Iván Ruiz-Rube
Objetivos
Trabajo Fin de Máster
Identificación de nuevas líneas de Investigación
Revisión exhaustiva de la literatura
MDE como soporte a la calidad en los Procesos Software
Estudio de alcance
MDE como soporte a la calidad en el Producto Software
2/41
Iván Ruiz-Rube
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
3/41
Iván Ruiz-Rube
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
4/41
Iván Ruiz-Rube
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
5/41
Iván Ruiz-Rube
Niveles de la Calidad
Trabajo Fin de Máster
25000
PRODUCTO PROCESO
(Juran, 1998)
6/41
Iván Ruiz-Rube
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
7/41
Iván Ruiz-Rube
Ingeniería Dirigida por Modelos
Trabajo Fin de Máster
CIM PIM PSM Code
ARQUITECTURA DE MODELADO
NIVELES DE ABSTRACCIÓN
ESTÁNDARES
8/41
Iván Ruiz-Rube
Calidad y MDE
¿Sería posible utilizar el enfoque MDE para potenciar la calidad del software?
Trabajo Fin de Máster
25000 25000
PRODUCTO PRODUCTO PROCESO PROCESO
25000
PRODUCTO PROCESO
ARQUITECTURA DE MODELADO ARQUITECTURA DE MODELADO
NIVELES DE ABSTRACCIÓN NIVELES DE ABSTRACCIÓN
ESTÁNDARES ESTÁNDARES
CIM PIM PSM Code
ARQUITECTURA DE MODELADO
NIVELES DE ABSTRACCIÓN
ESTÁNDARES
9/41
Iván Ruiz-Rube
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
10/41
Iván Ruiz-Rube
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master
11/41
Iván Ruiz-Rube
Calidad interna Métricas
• Framework de desarrollo de modelos de evaluación [50]
• Metamodelo de evaluación de calidad [10]
Revisiones Técnicas
• Reconocimiento de anti-patrones & model checking [36]
• Adherencia al metamodelo [19]
• Reglas OCL [20]
Mejora de la Calidad
• Patrones de modelado [72]
• Refactoring de modelos [46]
Trabajo Fin de Master
[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)
12/41
Iván Ruiz-Rube
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master
13/41
Iván Ruiz-Rube
Calidad externa
Pruebas
• Testing de transformaciones [41]
• Generación automática de casos de prueba [62]
Simulación
• Modelos de simulación desde modelos de diseño [51]
Trabajo Fin de Master
[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)
14/41
Iván Ruiz-Rube
Puntos de vista
Calidad Interna
Calidad Externa
Calidad en Uso
Trabajo Fin de Master
15/41
Iván Ruiz-Rube
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]
Trabajo Fin de Master
[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)
16/41
Iván Ruiz-Rube
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
17/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
18/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
19/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
20/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
21/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
22/41
Iván Ruiz-Rube
Calidad de Procesos
Trabajo Fin de Máster
Procesos no definidos
Descripciones textuales
Notaciones gráficas
Modelos de procesos
23/41
Iván Ruiz-Rube
Modelado de Procesos
Trabajo Fin de Master
SPEM
Enterprise Architect
Eclipse Process Framework
IRIS Process Author
Visual Studio ALM
24/41
Iván Ruiz-Rube
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
25/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
Weske, M.: Business Process Management: Concepts, Languages, Architectures (2007)
26/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
27/41
Iván Ruiz-Rube
Diseño de Procesos
Trabajo Fin de Master
Metodologías
• Ágiles (OpenUP, Scrum y XP) [17]
• Regionales (Métrica, V-Modell) [71]
• Orientadas a Agentes [57]
Enfoques de mejora
• CMMI [33]
• ISO 12207 [22]
• PMBOK [38]
Otros usos
• Lineas de Productos Software [7]
• Gestión de Cadenas de Suministros [11]
• Gestión del 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)
28/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
29/41
Iván Ruiz-Rube
Análisis de Procesos Verificación
• Reglas OCL [25]
• Redes de Petri [8]
Validación
• Adherencia a modelos (CMMI) [55]
• Usabilidad modelos [43]
• Evaluación visual [5]
Simulación
• DEVSHybrid [49]
• SimSe [25]
Métricas
• Medidas sobre modelos SPEM [23]
Trabajo Fin de Master
[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)
30/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
31/41
Iván Ruiz-Rube
Configuración de Procesos
Implantación
• Entorno de ejecución de procesos MDA [42]
• Integración de herramientas de soporte SOA [3]
Adaptación (Tailoing)
• Situational Method Engineering [1]
• Lineas de Procesos [44]
Trabajo Fin de Master
[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)
32/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
33/41
Iván Ruiz-Rube
Ejecución de Procesos
Operación (Enactment)
• BPEL [3]
• XPDL [21]
• Web [39]
• MS Project [38]
Monitorización
• Ontologías OWL y reglas SWRL [59]
Trabajo Fin de Master
[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)
34/41
Iván Ruiz-Rube
Ciclo de vida de BPM
Trabajo Fin de Master
35/41
Iván Ruiz-Rube
Evaluación Procesos
Monitorización de Actividad de Negocio
• Análisis de métricas recopiladas desde herramientas de soporte
Trabajo Fin de Master
[61] Rufaatti, G. et al.: New Trends Towards Process Modelling: Spago4Q (2007)
36/41
Iván Ruiz-Rube
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
37/41
Iván Ruiz-Rube
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
38/41
Iván Ruiz-Rube
Conclusiones
Trabajo Fin de Master
Fuentes: Google Scholar, TDG Scholar e Inspec
39/41
Iván Ruiz-Rube
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.
Trabajo Fin de Master
1 Navigational Development Techniques (NDT). http://www.iwt2.org/ndt.php 2 Architecture-Driven Modernization (ADM). http://adm.omg.org/
40/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