4. Contexto
Calidad y procesos de software
• Diferentes perspectivas de la calidad del
software, en general depende de:
– procesos implantados
– recursos empleados
– personas implicadas
• Ingeniería de Procesos Software:
– promueve la producción sistemática de software
mediante el seguimiento de procesos técnicos y
de gestión bien definidos
Un framework para el despliegue y evaluación de procesos software
4
5. Contexto
Ciclo de vida de los procesos
Weske, M.: Business process management: concepts, languages, architectures (2007)
Un framework para el despliegue y evaluación de procesos software
5
6. Motivación
Ingeniería de Procesos
• Modelos de ciclo de
vida
Herramientas de
soporte
• Aplicaciones
• Métodos de desarrollo
• Marcos de mejora y
evaluación
• Forjas de software y
plataformas ALM
Un framework para el despliegue y evaluación de procesos software
6
7. Objetivos
OBJ-1
OBJ-2
OBJ-3
Recopilar el estado del arte en la gestión de procesos
software
Posibilitar la automatización del despliegue de
procesos software sobre herramientas de soporte
Mejorar los procedimientos necesarios para la
evaluación de la calidad en los procesos software
Un framework para el despliegue y evaluación de procesos software
7
8. Estado del arte
• Modelado de procesos
• Usos de SPEM
• Preguntas de investigación
Un framework para el despliegue y evaluación de procesos software
8
9. Modelado de procesos
Lenguajes de modelado
Open Process Framework
Microsoft Solution Framework
ISO/IEC 24744: Software Engineering Metamodel for
Development Methodologies (SEMDM)
OMG Software and Systems Process Engineering
Metamodel Specification (SPEM)
Un framework para el despliegue y evaluación de procesos software
9
10. Modelado de procesos
Características del lenguaje SPEM
• Permite representar de forma uniforme procesos y métodos
• Da soporte al desarrollo y reutilización de nuevos procesos
• Permite la adaptación (tailoring) de los procesos a necesidades
específicas
• Ofrece soporte al despliegue (enactment) de los procesos para su
ejecución automática
Un framework para el despliegue y evaluación de procesos software
10
11. Modelado de procesos
Herramientas de modelado SPEM
Eclipse Process Framework Composer
Enterprise Architect
IRIS Process Author
Objecteering
Un framework para el despliegue y evaluación de procesos software
11
12. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
12
13. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
13
14. Usos de SPEM
Modelado de procesos en IS
Desarrollo de sistemas multi-agente
Procesos basados en Unified Process
Líneas de productos software
Desarrollo de sistemas en tiempo real
Desarrollo ágil de software
Un framework para el despliegue y evaluación de procesos software
14
15. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
15
16. Usos de SPEM
Adaptabilidad de procesos
1
1
2
2
Martínez-Ruiz, T. et al.: Towards a SPEM v2.0 Extension to Define Process Lines Variability Mechanisms (2008)
Hurtado J. , et al: An MDE Approach to Software Process Tailoing (2011)
Un framework para el despliegue y evaluación de procesos software
16
17. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
17
18. Usos de SPEM
Verificación y Validación
2
1
3
4
1
Alegría, J. et al.: Software Process Model Blueprints (2010)
Garcia, F. et al.: A Proposal and Empirical Validation of Metrics to Evaluate the Maintainability of Software Process Models (2007)
3 4 Hsueh, N. et al.: Applying UML and software simulation for process definition, verification, and validation (2008)
2
Un framework para el despliegue y evaluación de procesos software
18
19. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
19
20. Usos de SPEM
Configuración y despliegue
1
2
3
1
Haumer, P.: Eclipse process framework composer (2007)
Bendraou, R., et al.: Definition of an Executable SPEM 2.0 (2007)
3 Cervera, M., et al.: A Methodological Framework and Software Infrastructure for the Construction of Software Production Methods (2010)
2
Un framework para el despliegue y evaluación de procesos software
20
21. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
21
22. Usos de SPEM
Evaluación de procesos
1
2
1
2
Rodríguez, D., et al.: Defining Software Process Model Constraints with rules using OWL and SWRL (2010)
Colombo, A., et al.: The use of a meta-model to support multi-project process measurement (2008)
Un framework para el despliegue y evaluación de procesos software
22
23. Usos de SPEM
RESEARCH SCOPE1
7
Process Verification
& Validation
6
5
Process Configuration
& Enactment
13
4
Process Evaluation
2
1
RESEARCH TYPE2
1
2
3
1
2
Philosophi
cal papers
4
5
Experience
Papers
Process Adaptability
3
Evaluation
Research
28
Validation
Research
38
Proposal of
solution
Process Modeling
Weske, M.: Business process management: concepts, languages, architectures (2007)
Wieringa, R., et al.: Requirements engineering paper classification and evaluation criteria: a proposal and a discussion (2005)
Un framework para el despliegue y evaluación de procesos software
23
24. Preguntas de investigación
Problema
• Herramientas no incorporan mecanismos para vincular las
definiciones explícitas de los modelos de procesos
• Falta de alineamiento entre los procesos y las herramientas de
soporte
Hipótesis
• Las inconsistencias entre la definición de los procesos y la
ejecución de los proyectos podrían minimizarse, en
parte, mediante la personalización y adaptación de las
herramientas de soporte y la creación de plantillas específicas
para las mismas
Un framework para el despliegue y evaluación de procesos software
24
25. Preguntas de investigación
Problema
• Falta de evidencias sobre la ejecución de los procesos en formato
accesible
• Complejidad en la evaluación de procesos
Hipótesis
• Conseguir una visión global y uniforme de la información
gestionada por las herramientas de soporte permitiría
automatizar la recogida de métricas y la evaluación de la calidad
en los procesos software
Un framework para el despliegue y evaluación de procesos software
25
26. Marco de trabajo
• Método para el despliegue y
evaluación
• Modelos y relaciones entre
modelos
• Herramientas
Un framework para el despliegue y evaluación de procesos software
26
27. Método para el despliegue y
evaluación
Model-Driven Engineering
Model
Adapt
Un framework para el despliegue y evaluación de procesos software
27
28. Método para el despliegue y evaluación
Model-Driven Engineering (MDE)
Initial
Definition
Manual
Refinement
Manual
Refinement
Manual
Refinement
CIM
PIM
PSM
Code
Transformation
Rules
Transformation
Rules
Transformation
Rules
Paradigma que promueve el uso de modelos como artefactos de
primer nivel. Model Driven Architecture (MDA) es la propuesta de la
OMG para el desarrollo dirigido por modelos.
Un framework para el despliegue y evaluación de procesos software
28
29. Método para el despliegue y evaluación
Modelado de procesos software
MODEL
Ingeniero de Procesos
Definición de métodos y procesos
software
Herramienta de modelado de procesos
compatible con el lenguaje SPEM
Un framework para el despliegue y evaluación de procesos software
29
30. Método para el despliegue y evaluación
ADAPT
Adaptación de herramientas de soporte
Un framework para el despliegue y evaluación de procesos software
30
31. Método para el despliegue y
evaluación
Linked Open Data
Model-Driven Engineering
Model
Adapt
Open
Un framework para el despliegue y evaluación de procesos software
Integration
31
32. Método para el despliegue y evaluación
Linked Open Data (LOD)
Java
Enterprise
Edition
Documento de
Análisis del Sistema
technology
workproducts
Proyecto Software
diagrams
versions
Modelo de casos
de uso
Versión
2.0
name
name
Cambio del
look&feel
Gestión de
compras
• Método para la
publicación y
consumo de datos en
la Web
• Interoperabilidad
sintáctica y semántica:
RDF y vocabularios
• Consumo de datos:
API REST o SPARQL
Un framework para el despliegue y evaluación de procesos software
32
33. Método para el despliegue y evaluación
OPEN
Apertura de herramientas de soporte
Un framework para el despliegue y evaluación de procesos software
33
34. Método para el despliegue y evaluación
INTEGRATE
Desarrollo de soluciones de integración
Ingeniero de Sistemas
Implementar soluciones para el análisis de
indicadores y métricas de software y para la
automatización de revisiones de calidad
Herramienta para la construcción de
soluciones de integración de datos ETL o EII
Un framework para el despliegue y evaluación de procesos software
34
35. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Un framework para el despliegue y evaluación de procesos software
…
35
36. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
Software Process Engineering Metamodel (SPEM)
Un framework para el despliegue y evaluación de procesos software
36
37. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
•
Softwarepara el despliegue y evaluación deModel (SWPM)
Work Product procesos software
Un framework
37
38. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
SPCM
…
…
…
…
…
Softwarepara el despliegue yControlprocesos software(SPCM)
Project evaluación de Model
Un framework
38
39. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
Correspondencias SPEM-SWPM
Un framework para el despliegue y evaluación de procesos software
•
39
40. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Correspondencias SPEM-SPCM
Un framework para el despliegue y evaluación de procesos software
…
40
41. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
WIKIM
…
•
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
WIKI tool Model (WIKIM)
Un framework para el despliegue y evaluación de procesos software
…
41
42. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
Visual Modeling tool Model (VMM)
Un framework para el despliegue y evaluación de procesos software
42
43. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Issue Tracking tool Model (ITM)
Un framework para el despliegue y evaluación de procesos software
…
43
44. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
Correspondencias SWPM-WIKIM
Un framework para el despliegue y evaluación de procesos software
44
45. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
…
Correspondencias SWPM-VMM
Un framework para el despliegue y evaluación de procesos software
45
46. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Correspondencias SPCM-ITM
Un framework para el despliegue y evaluación de procesos software
…
46
47. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
MediaWiki Model
Un framework para el despliegue y evaluación de procesos software
…
47
48. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
VMM
Enterprise
Architect
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Enterprise Architect Model
Un framework para el despliegue y evaluación de procesos software
…
48
49. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
SPCM
…
…
…
…
Redmine Model
Un framework para el despliegue y evaluación de procesos software
…
49
50. Modelos y relaciones entre modelos
CIM
PIM
PSM
(herramientas
genéricas)
PSM
(herramientas
específicas)
MediaWiki
WIKIM
…
SWPM
Enterprise
Architect
VMM
…
SPEM
Redmine
ITM
…
…
SPCM
…
…
…
…
Un framework para el despliegue y evaluación de procesos software
…
50
52. Herramientas
MDE: Reglas de transformación
Un framework para el despliegue y evaluación de procesos software
52
53. Herramientas
MDE: Herramienta para despliegue
Este software ofrece un conjunto de editores para los
modelos de despliegue, de herramientas genéricas y de
herramientas específicas. Actualmente soporta el
despliegue sobre las herramientas MediaWiki, Enterprise
Architect y Redmine.
53
Un framework para el despliegue y evaluación de procesos software
55. Herramientas
LOD: Links y reglas de inferencia
Un framework para el despliegue y evaluación de procesos software
55
56. Herramientas
LOD: Componentes para apertura datos
Extracción y exposición de datos RDF desde forjas
de software
Exposición de datos RDF en aplicaciones MVC Django
Exposición de datos RDF en aplicaciones MVC Ruby on
Rails
extension for
Exposición de datos RDF desde Enterprise Architect
Un framework para el despliegue y evaluación de procesos software
56
57. Evaluación
• Casos de estudio
– Despliegue de OpenUP
– Análisis de indicadores
• Escenario de uso
– Revisiones de calidad
Un framework para el despliegue y evaluación de procesos software
57
58. Caso 1: Despliegue de OpenUP
• Caso de estudio: Despliegue de
los productos de trabajo de
OpenUP sobre herramientas de
soporte
• Objetivo: Evaluación de la
actividades Modelado de
Procesos Software y Adaptación
de herramientas de soporte
• Alcance: Adaptación de las
herramientas MediaWiki y
Enterprise Architect
• Solución: Utilización del modelo
de OpenUP diseñado con EPF y
su despliegue mediante SPDT
Un framework para el despliegue y evaluación de procesos software
58
59. Caso 1: Despliegue de OpenUP
Un framework para el despliegue y evaluación de procesos software
59
60. Caso 1: Despliegue de OpenUP
Modelo de proceso OpenUP
Un framework para el despliegue y evaluación de procesos software
60
61. Caso 1: Despliegue de OpenUP
Un framework para el despliegue y evaluación de procesos software
61
62. Caso 1: Despliegue de OpenUP
Modelo de productos de trabajo
Un framework para el despliegue y evaluación de procesos software
62
63. Caso 1: Despliegue de OpenUP
Un framework para el despliegue y evaluación de procesos software
63
64. Caso 1: Despliegue de OpenUP
Modelos de herramientas específicas
Un framework para el despliegue y evaluación de procesos software
64
65. Caso 1: Despliegue de OpenUP
Un framework para el despliegue y evaluación de procesos software
65
66. Caso 1: Despliegue de OpenUP
Plantillas para MediaWiki
Un framework para el despliegue y evaluación de procesos software
66
67. Caso 1: Despliegue de OpenUP
Proyecto Enterprise Architect
Un framework para el despliegue y evaluación de procesos software
67
68. Caso 2: Análisis de indicadores
CVSAnal
y
• Caso de estudio: Análisis de
indicadores sobre las habilidades
de las personas implicadas en
proyectos de software
• Objetivo: Evaluación de la
actividades Apertura de las
herramientas de soporte y
Desarrollo de soluciones de
integración
• Alcance: Desarrollo de una
aplicación web, en el contexto de
una asignatura de Ingeniería
Informática, utilizando
SVN, Assembla y MediaWiki
• Solución: Procesos ETL basados en
consultas SQL sobre
CVSAnaly, Abreforjas y
StatMediaWiki
Un framework para el despliegue y evaluación de procesos software
68
69. Caso 2: Análisis de Indicadores
Asignación equilibrada de trabajo
– Tareas asignadas a los miembros del proyecto
– Contribuciones de los usuarios a la wiki
Un framework para el despliegue y evaluación de procesos software
69
70. Caso 2: Análisis de Indicadores
Control y monitorización del trabajo
– Actividad en sistemas de gestión de tareas
– Actividad en control de versiones
Un framework para el despliegue y evaluación de procesos software
70
71. Escenario Uso: Revisiones de calidad
• Escenario de uso:
Automatización de revisiones
técnicas de calidad
• Objetivo: Evaluación de la
actividades Apertura de las
herramientas de soporte y
Desarrollo de soluciones de
integración
• Alcance: Recogida de datos
desde proyectos gestionados en
Redmine y cuyos productos de
trabajo están en Enterprise
Architect
• Solución: Integración de
información en tiempo real
mediante consultas SPARQL
sobre datasets RDF
Un framework para el despliegue y evaluación de procesos software
71
72. Escenario Uso: Revisiones de calidad
Utilización de técnicas de modelado
– Actores del sistema en desarrollo que no están
asociados a ningún caso de uso
Un framework para el despliegue y evaluación de procesos software
72
73. Escenario Uso: Revisiones de calidad
Monitorización de proyectos
– Tareas finalizadas con posterioridad a la fecha
límite establecida para la versión planificada del
software
Un framework para el despliegue y evaluación de procesos software
73
74. Escenario Uso: Revisiones de calidad
Adherencia a los procesos definidos
– Listado de productos de trabajo documentales
que restan por elaborar, según la plantilla base
Un framework para el despliegue y evaluación de procesos software
74
76. Conclusiones
Recopilar el estado del arte en la gestión de procesos
software
– Aceptación de SPEM para el modelado de procesos
– Necesidad de mayores esfuerzos para la ejecutabilidad y
evaluación
Posibilitar la automatización del despliegue de
procesos software sobre herramientas de soporte
– Adaptación de herramientas mediante la transformación
y refinamiento sucesivo de modelos (MDE)
Mejorar los procedimientos necesarios para la
evaluación de la calidad en los procesos software
– Apertura e integración de datos sobre métricas y
evidencias desde herramientas de soporte (LOD)
Un framework para el despliegue y evaluación de procesos software
76
78. Líneas de trabajo futuras
• Desarrollo y mejora de herramientas
• Incorporación de nuevos modelos
• Experimentación en Ingeniería del Software
Un framework para el despliegue y evaluación de procesos software
78
79. Contribuciones
Artículos en revistas
Ruiz-Rube, I., Dodero, J. M., Palomo-Duarte, M., Ruiz, M. and Gawn, D.
(2013). Uses and applications of Software & Systems Process
Engineering Meta-Model process models. A systematic mapping
study.
Journal of Software: Evolution and Process, 25(09), 999-1025.
Factor de Impacto ISI JCR: 1.273
Ranking 2012: 30/105 1er Tercil (Computer Science, Software Engineering)
Dodero, J. M., Ruiz-Rube, I., Palomo-Duarte, M., & Cabot, J. (2012)
Model-driven learning design
Journal of Research and Practice in Information Technology, 44(3), 267-288.
Factor de Impacto ISI JCR: 0.222
Ranking 2012: 99/105 3er Tercil (Computer Science, Software Engineering)
Jörg, B., Ruiz-Rube, I., Sicilia, M. A., ... & Barriocanal, E. G. (2012).
Connecting Closed World Research Information Systems through the Linked Open Data
Web.
International Journal of Software Engineering and Knowledge Engineering, 22(03), 345364.
Factor de Impacto ISI JCR: 0.295
Ranking 2012 en JCR: 96/105 3er Tercil (Computer Science, Software Engineering)
Un framework para el despliegue y evaluación de procesos software
79
80. Contribuciones
Publicaciones en congresos
•
Ruiz-Rube, I., Cornejo-Crespo, C., Dodero, J. M., & Ruiz, M. (2010). Evaluación de
un ecosistema software en organizaciones de desarrollo web bajo CMMI. In
Actas de las Jornadas de Ingeniería del Software y Bases de Datos (pp. 237-248).
•
Ruiz-Rube, I., Dodero, J. M., & Stoitsis, J. (2011). Non-functional aspects of
information integration and research for the web science. In International
Conference on Computational Science, 4, 1631-1639. Core A.
•
Dodero, J. M., Ruiz-Rube, I., Palomo-Duarte, M., & Vázquez-Murga, J. (2011).
Open linked data model revelation and access for analytical web science. In
Metadata and Semantic Research (pp. 105-116). Springer Berlin Heidelberg.
•
Traverso-Ribón, I., Ruíz-Rube, I., Dodero, J. M., & Palomo-Duarte, M. (2013).
Open data framework for sustainable assessment in software forges. In
Proceedings of the 3rd International Conference on Web Intelligence, Mining and
Semantics (p. 20). ACM.
Un framework para el despliegue y evaluación de procesos software
80
81. Contribuciones
Aportaciones originales
Todas los recursos asociados a esta tesis se encuentran en:
http://spi-fm.uca.es/spdef
Un framework para el despliegue y evaluación de procesos software
81
82. Agradecimientos institucionales
Trabajo financiado por los proyectos:
eCultura: Desarrollo de una plataforma semántica para la explotación de
contenido cultural. Proyecto Avanza I+D del MITYC (TSI-020501-2008-53).
VOA3R: Virtual Open Access Agriculture & Aquaculture Repository: Sharing
Scientic and Scholarly Research related to Agriculture, Food, and Environment.
Proyecto de la Comisión Europea (ICT-PSP-250525).
Bestmark: Plataforma para el modelado, personalización y benchmarking en
la mejora de procesos normalizados. Proyecto Avanza 2 del MITYC (TSI020100-2011-396).
Un framework para el despliegue y evaluación de procesos software
82
Figuras de os componentes LOD, herramientas, componentes vocabularios, etc.Enlazar herramientas con diagramaConsultas SPARQL y datos SKOS
La calidad del software juega un papel fundamental en la construcción de aplicaciones informáticas. Conseguir un software libre de errores, que cumpla con los requisitos del cliente y que se ajuste a sus necesidades y expectativas resulta vital para el éxito o el fracaso de los proyectos.Sin embargo, la calidad del software resultante no sólo viene determinado por las propiedades y características inherentes del producto, sino también es influenciada por la calidad de los procesos, los recursos y las personas“Hay poca evidencia en que cumplir un modelo de procesos asegure la calidad del producto” (Kitchenham
PS es un PN.PN: conjunto de actividades que se desarrollan en coordinación y bajo un entorno organizacional y técnico, para alcanzar un determinado objetivo de negocioPS siguen el ciclo de vida de los procesos de negocio (weske). Actividades para una Gestión integral de procesos software. Círculo de Deming de mejora continuaEnactment: depliegue para la ejecución de los procesos, en donde los proyectos se gestionan como instancias de los procesos
Existen diferentes concepciones o perspectivas de lo que es un proceso software.La visión de los Ing. de Calidad/Procesos (formal o teórica) donde la producción de software consiste en aplicarModelos: secuencial, iterativo, incremental,Métodos: tradicionales RUP, Metrica o ágiles como Scrum, XP, Kanbal, Lean. Prácticas agiles: TDD, IC, PPMarcos de mejora CMMI o ISO 12207 y evaluación: SCAMPI o ISO 15504 Visión de los Ing. de Sistemas/Desarrollo (instrumental o formal):donde la producción de software consiste en usar una serie de herramientas para realizar unas tareasAplicaciones: gestión documental, modelado, control de versiones, integración continua, gestión de incidencias, tareas. Otros: sistemas wiki, pruebas, gestión de requisitos, repositorios de artefacto, etc.Forjas: repositorios de proyectos para fomentar la cooperación entre desarrolladores.ALM: pueden actuar también como forjas, pero integran y coordinan las herramientas necesarias para cubrir todas o parte de las actividades del CVEs recomendable armonizar estas dos visiones para así obtener mejores resultados
El modelado de procesos es la actividad fundamental a la hora de implantar una estrategia basada en procesos en las organizaciones. Para ello, necesitamos un lenguaje de modelado que permita representar los procesos.-- En procesos software se enmarca dentro en iniciativas para la mejora como CMMI dentro del area de proceso OrganizationalProcessDefinition y en ISO/IEC 12207 dentro de ProcessImprovementLenguaje de modelado: es una abstracción de un PS conteniendo actividades, recursos, productos, actores y reglasOPF dominio publico, 2002MSF de Microsoft es un enfoque para la entrega de soluciones tecnológicas de mayor calidad, menos personas y menor riesgoISO (de 2007): Metamodelo para la definición de metodologías de desarrollosw y hw, aunque no se basa en la arquitectura clasica de metamodelado de 4 capas: powertypes, clabjectsSPEM (2.0 de 2008)
Sol. Basadas en metamodelo:EPF libre y IRIS propietariaSol. Basadas en perfil UML: EA y Objecteering
SystematicMappingStudy: metodo de Kitchenham and directrices de PetersetnUsos y aplicaciones de SPEM en el marco del ciclo de vida de los procesosObjetivo: detectar clusters de evidencias y áreas deficitarias en cuanto al volumen de investigaciónLos trabajos fueron clasificados, entre otros, por los criterios que aparecen aquí: ámbito y tipo.A continuación voy a indicar algunas de las contribuciones mas representativas el ámbito de aplicación
Sistemas para problemas de IAUP: iterativo e incremental, dirigido por CdULPS: para el desarrollo de sistemas que compartan un conjunto de carácterísticas similaresSistemas en tiempo real: críticos en cuanto a tiempos de respuestaAgile: la definición de métodos o prácticas agiles de desarrollo
SystematicMappingStudy: metodo de Kitchenham and directrices de PetersetnUsos y aplicaciones de SPEM en el marco del ciclo de vida de los procesosObjetivo: detectar clusters de evidencias y áreas deficitariasBiblitoecas: Digital Library IEEE y, ACM y de Springer, entre otros.Se localizaron 375. Primarios: 115,
No hay 2 proyectos iguales: SituationalMethodEngineeringSPEM permite diseñar fragmentos de métodos en lugar de metodos completos1- Marcado de la parte común y variabilidad2- Transformación de modelos. Uso de modelo de contexto. tamaño del proyecto, tecnología, experiencia del equipo, experiencia con el cliente, restricciones de mercado, etc.
SystematicMappingStudy: metodo de Kitchenham and directrices de PetersetnUsos y aplicaciones de SPEM en el marco del ciclo de vida de los procesosObjetivo: detectar clusters de evidencias y áreas deficitariasBiblitoecas: Digital Library IEEE y, ACM y de Springer, entre otros.Se localizaron 375. Primarios: 115,
Diversidad de propuestas:1- Enfoque para la evaluación de modelos mediante el análisis visual de los procesos desde diferentes ángulos: roles, tareas y productos de trabajo, observando por ejemplo roles sobrecargados o con poca carga de actividades2- Cálculo de métricas (UCLM): num. de actiidades, productos o roles. Num, de dependencias de ent/sal de los productos con las actividades3- Técnicas más formales de verificación como las Redes de petri o el uso de reglas en OCL para la corrección del modelo (no sobre SPEM, sino sobre un perfil adicional)4- Validación mediante transformación en modelos interpretables en entornos de simulación analítica o de aprendizaje.
SystematicMappingStudy: metodo de Kitchenham and directrices de PetersetnUsos y aplicaciones de SPEM en el marco del ciclo de vida de los procesosObjetivo: detectar clusters de evidencias y áreas deficitariasBiblitoecas: Digital Library IEEE y, ACM y de Springer, entre otros.Se localizaron 375. Primarios: 115,
La mayoría son propuestas para el despliegueDespliegue sobre Gantt desde dentro del EPFTransformación en workflows a BPEL o BPMN para despliegue sobre motores de ejecución de actividades, plataformas integraciónPropuesta de la UPV. Construcción de entornos de desarrollo (basado en Eclipse) integrado de soporte al proceso
SystematicMappingStudy: metodo de Kitchenham and directrices de PetersetnUsos y aplicaciones de SPEM en el marco del ciclo de vida de los procesosObjetivo: detectar clusters de evidencias y áreas deficitariasBiblitoecas: Digital Library IEEE y, ACM y de Springer, entre otros.Se localizaron 375. Primarios: 115,
1. Propuesta de la UAH: Comprobar mediante restricciones en OWL y SWRL posibles inconsistencias entre definiciones de procesos y los procesos reales que se están llevando a cabo en el transcurso de los proyectos, para ello se requiere representar los modelos SPEM y los datos derivados de los proyectos mediante ontologías OWL. En el ejemplo se describe una regla que declara que si la duración de una iteración de un determinado proyecto es superior a 30 días, entonces el proyecto no es conforme a un plan de proyecto scrumProponen el uso de una plataforma BI para implementar procesos ETL y luego realizar análisis.NO: Otras propuestas: modelrelaxing y modelchanging para al vuelo, desviarse del modelo…
Sin duda, el modelado de procesos es el uso más extendido de SPEM, lo cual es normal, al tratarse de un lenguaje de modelado.Sin embargo, en la literatura se encontraron muchos trabajos que proponen extensiones al lenguaje, lo que da una idea de que el lenguaje necesita ser mejorado.Con respecto al tipo de investigación, destacar que la mayoría son meras propuestas de solución. Hay poca evaluaciones reales.
Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
Antes de ver el modelado…Objetivos: Interoperabilidad entre sistemasPruebas de softwareModernización de softwareConstrucción de lenguajes específicos de dominioDesarrollo de software o model-drivendevelopmentEste enfoque lo utilizaremos para la adaptación de las herramientas de soporte: Ingeniería de Procesos Software
Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
Facilitar la integración de información en la web. Para ello, los sistemas informáticos, con independencia del mecanismo de persistencia de sus datos y de la interfaz de usuario que habiliten para el usuario final, todos exponen la información utilizando un formato de datos común como RDF, el estándar de la W3C para representar información en forma de grafos. De esta forma se superan los problemas de interoperabilidad sintáctica.Además, los sistemas puedan describir la información RDF enriquecida utilizando una serie de conceptos y de propiedades descritas en unos vocabularios compartidos y aceptados por parte de la comunidad, de esta forma, se reducen los problemeas de interoperabilidad semántica, ya que sistemas distintos hablaran utilizando los mismos vocabularios.
PIM: diferentes perspectivas del proceso software
En el modelado SPEM, los productos son unidades atomicas sin estructura ni caracterización. Distingue entre artifact, deliverable o outcome pero no por ejemplo entre código o documento. Este modelo recoge la diferencia entre código o dcumento, independientemente del grado de especialización de las herramientas de soporte.
Control de proyectos desde herramientas Gantt, gestión tickets y hojas excel
SPEM y SWPM. Ej: Dominio se define como agrupación lógica de productos de trabajo se materializa en Document o CodeBase. Artifact puede materializarse en modelo, código o una especificación textual.
SPEM y SPCM. Ej: Disciplina se materializa en TaskCategory. Phase, Iteración, Milestone se materializan en Hitos.
Observado de MediaWIki,Confluence o Dokuwiki
Observado de EA, Visual Paradigm o Rational Rose. No sólo UML
SWPM-VMM. CodeBase no tiene mapping. Doc-> paquete de nivel superior. Modelo -> diag + elemento de ejemplo
SPCM-ITM. Mappinges muy sencillo, porque la tendencia es usar este tipo de sistemas. Solo Role se materializa en un User, Role y un Member
Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
Para la implementación hemos usado UMA, la versión de SPEM por parte de Eclipse. El resto de modelos los hemos implementado con EcoreTransformacion de un modelo grafo a uno en arbol, definendo la navegabilidad.
PDTE:Al implementar las reglas de transformación es necesario tomar ciertas decisiones. Por ejemplo, al transformar un elemento de tipo ARTIFACT de SPEM, en un elemento de tipo MODEL UML en SWPM
Permite lanzar las transformaciones intermedias y en última instancia invocar a las APIs de las herramientas para adaptar las herramientas.
Se ha generado un vocabulario mapeando clases UML en clases de RDF y los atributos como propiedades con dominio y las relaciones como propiedades con dominio y rango
Una premisa en LOD es la reutilizacion de terminos para no reinventar la rueda…Se han utilizado axiomas de equivalencia y especialización de RDF. El concepto Diagrama en el modelo VMM es una especialización del concepto Modelo en SWPM.Además de las relaciones entre los vocabularios se han definido links con otros vocabularios más extendidos como, como DC o DOAP, para maximizar la compatibilidad con terceras herramientas que usen los vocabularios anterioresSe han implementado algunas reglas de inferencia, para aquellos casos donde no existia una relacion univoca entre los elementos de los modelos, para así obtener consecuencias lógicas a partir de tripletas RDF
Abreforjas: Implementa un adaptador sobre las Apis existentes. Extrae datos desde forjas como Redmine y Assembla y los almacena en una bd. Además la herramienta habilita una interfaz LOD publicando los datos con el vocabulario ITMEasyData: permite desarrollar APIs LOD para aplicaciones existentes basadas en frameworks MVC, mediante la instrospecciónEnvoltorio directamente sobre los Datos. Para EnterpriseArchitect
Para contrastar las hipótesis y la solución aportada al problema de investigación y en base a los métodos identificados por Hevner para el diseño de métodos de evaluación en sistemas de información, se han implementado dos casos de estudio y se ha planteado un escenario descriptivo de uso,
Entorno EPF
Este indicador permite comprobar habilidades relativas a la planificación del trabajo en equipo
Este indicador permite comprobar habilidades del equipo con respecto al control y monitorización del trabajo.A partir de la actividad en los sistemas de gestión de tareas- Podemos observar el ritmo de finalización de tareas, que nos da un indicador de la velocidad del equipo de trabajo (núm. de tareas por unidad de tiempo)- Y también, retraso medio en la finalización de los sprints del proyecto, que nos da un indicador del grado de cumplimiento de los compromisos con las fechas adquiridos por parte del equipoA partir de la actividad en los sistemas de control de versionesPodemos observar el ritmo de subidas (commits) al repositorio de código, que nos da un indicador de la aplicación de la práctica ágil de integración continua
Aprovechando el primer caso de estudio del despliegue de OpenUP sobre EA. La plantilla generada para EA, también es expuesta por Abreforjas en formato RDF. Asi podemos comparar los documentos de trabajo esperados por la metodología e incluidos en ese proyecto plantilla y compararlos con los productos de trabajo elaborados para el proyecto bajo análisis.
Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
Desarrollo de nuevas herramientasDespliegue sobre wiki enriquecidas y documentos ofimáticosSoftware para la coordinación de actividades de despliegueIncorporación de nuevos modelos GC: integracion continua, control de versiones y repositorios de componentes GP: sistemas de planificación de RRHH y plataformas de aprendizaje online ISE: en los ultimos años explosión de metodos, tecnicas y herramientas. ¿cuál elegir?: marketing, experiencias individuales, o incluso moda: -> ISE: dar respuestas empiricas, utiles y creible.Experimentación en Ingeniería del SoftwareAnálisis de datos desde forjas de software, aplicando técnicas de NLP y OLAP
metamodelos, transformaciones, vocabularios, links a las herramientas, casos de estudio, etc., están accesibles en esta web