TESIS DOCTORAL

Un framework para el
despliegue y evaluación
de procesos software
IVÁN RUIZ RUBE

Cádiz, 19 de Diciembre de 2013
Contenidos
•
•
•
•
•

Introducción
Estado del arte
Marco de trabajo
Evaluación
Conclusiones

Un framework para el despliegue y evaluación de procesos software

2
Introducción
• Contexto
• Motivación
• Objetivos

Un framework para el despliegue y evaluación de procesos software

3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Herramientas

MDE: Metamodelos

Un framework para el despliegue y evaluación de procesos software

51
Herramientas

MDE: Reglas de transformación

Un framework para el despliegue y evaluación de procesos software

52
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
Herramientas

LOD: Vocabularios

Un framework para el despliegue y evaluación de procesos software

54
Herramientas

LOD: Links y reglas de inferencia

Un framework para el despliegue y evaluación de procesos software

55
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
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
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
Caso 1: Despliegue de OpenUP

Un framework para el despliegue y evaluación de procesos software

59
Caso 1: Despliegue de OpenUP

Modelo de proceso OpenUP

Un framework para el despliegue y evaluación de procesos software

60
Caso 1: Despliegue de OpenUP

Un framework para el despliegue y evaluación de procesos software

61
Caso 1: Despliegue de OpenUP

Modelo de productos de trabajo

Un framework para el despliegue y evaluación de procesos software

62
Caso 1: Despliegue de OpenUP

Un framework para el despliegue y evaluación de procesos software

63
Caso 1: Despliegue de OpenUP

Modelos de herramientas específicas

Un framework para el despliegue y evaluación de procesos software

64
Caso 1: Despliegue de OpenUP

Un framework para el despliegue y evaluación de procesos software

65
Caso 1: Despliegue de OpenUP

Plantillas para MediaWiki

Un framework para el despliegue y evaluación de procesos software

66
Caso 1: Despliegue de OpenUP

Proyecto Enterprise Architect

Un framework para el despliegue y evaluación de procesos software

67
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
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
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
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
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
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
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
Conclusiones
• Conclusiones
• Líneas de trabajo futuras
• Contribuciones

Un framework para el despliegue y evaluación de procesos software

75
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
Resumen

77
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
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
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
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
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
MUCHAS GRACIAS
IVÁN RUIZ RUBE
ivan.ruiz@uca.es

83

Un framework para el despliegue y evaluación de procesos software

  • 1.
    TESIS DOCTORAL Un frameworkpara el despliegue y evaluación de procesos software IVÁN RUIZ RUBE Cádiz, 19 de Diciembre de 2013
  • 2.
    Contenidos • • • • • Introducción Estado del arte Marcode trabajo Evaluación Conclusiones Un framework para el despliegue y evaluación de procesos software 2
  • 3.
    Introducción • Contexto • Motivación •Objetivos Un framework para el despliegue y evaluación de procesos software 3
  • 4.
    Contexto Calidad y procesosde 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 vidade 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 estadodel 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 Lenguajesde 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ísticasdel 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 Herramientasde 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 RESEARCHSCOPE1 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 RESEARCHSCOPE1 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 Modeladode 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 RESEARCHSCOPE1 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 Adaptabilidadde 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 RESEARCHSCOPE1 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óny 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 RESEARCHSCOPE1 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óny 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 RESEARCHSCOPE1 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ónde 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 RESEARCHSCOPE1 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 eldespliegue y evaluación Model-Driven Engineering Model Adapt Un framework para el despliegue y evaluación de procesos software 27
  • 28.
    Método para eldespliegue 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 eldespliegue 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 eldespliegue 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 eldespliegue 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 eldespliegue 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 eldespliegue 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 eldespliegue 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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 relacionesentre 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
  • 51.
    Herramientas MDE: Metamodelos Un frameworkpara el despliegue y evaluación de procesos software 51
  • 52.
    Herramientas MDE: Reglas detransformación Un framework para el despliegue y evaluación de procesos software 52
  • 53.
    Herramientas MDE: Herramienta paradespliegue 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
  • 54.
    Herramientas LOD: Vocabularios Un frameworkpara el despliegue y evaluación de procesos software 54
  • 55.
    Herramientas LOD: Links yreglas de inferencia Un framework para el despliegue y evaluación de procesos software 55
  • 56.
    Herramientas LOD: Componentes paraapertura 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 deestudio – 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: Desplieguede 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: Desplieguede OpenUP Un framework para el despliegue y evaluación de procesos software 59
  • 60.
    Caso 1: Desplieguede OpenUP Modelo de proceso OpenUP Un framework para el despliegue y evaluación de procesos software 60
  • 61.
    Caso 1: Desplieguede OpenUP Un framework para el despliegue y evaluación de procesos software 61
  • 62.
    Caso 1: Desplieguede OpenUP Modelo de productos de trabajo Un framework para el despliegue y evaluación de procesos software 62
  • 63.
    Caso 1: Desplieguede OpenUP Un framework para el despliegue y evaluación de procesos software 63
  • 64.
    Caso 1: Desplieguede OpenUP Modelos de herramientas específicas Un framework para el despliegue y evaluación de procesos software 64
  • 65.
    Caso 1: Desplieguede OpenUP Un framework para el despliegue y evaluación de procesos software 65
  • 66.
    Caso 1: Desplieguede OpenUP Plantillas para MediaWiki Un framework para el despliegue y evaluación de procesos software 66
  • 67.
    Caso 1: Desplieguede OpenUP Proyecto Enterprise Architect Un framework para el despliegue y evaluación de procesos software 67
  • 68.
    Caso 2: Análisisde 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álisisde 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álisisde 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: Revisionesde 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: Revisionesde 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: Revisionesde 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: Revisionesde 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
  • 75.
    Conclusiones • Conclusiones • Líneasde trabajo futuras • Contribuciones Un framework para el despliegue y evaluación de procesos software 75
  • 76.
    Conclusiones  Recopilar elestado 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
  • 77.
  • 78.
    Líneas de trabajofuturas • 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 losrecursos 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 financiadopor 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
  • 83.
    MUCHAS GRACIAS IVÁN RUIZRUBE ivan.ruiz@uca.es 83

Notas del editor

  • #2 Figuras de os componentes LOD, herramientas, componentes vocabularios, etc.Enlazar herramientas con diagramaConsultas SPARQL y datos SKOS
  • #5 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
  • #6 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
  • #7 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
  • #10 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)
  • #12 Sol. Basadas en metamodelo:EPF libre y IRIS propietariaSol. Basadas en perfil UML: EA y Objecteering
  • #13 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
  • #15 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
  • #16 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,
  • #17 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.
  • #18 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,
  • #19 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.
  • #20 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,
  • #21 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
  • #22 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,
  • #23 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…
  • #24 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.
  • #28 Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
  • #29 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
  • #32 Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
  • #33 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.
  • #36 PIM: diferentes perspectivas del proceso software
  • #38 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.
  • #39 Control de proyectos desde herramientas Gantt, gestión tickets y hojas excel
  • #40 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.
  • #41 SPEM y SPCM. Ej: Disciplina se materializa en TaskCategory. Phase, Iteración, Milestone se materializan en Hitos.
  • #42 Observado de MediaWIki,Confluence o Dokuwiki
  • #43 Observado de EA, Visual Paradigm o Rational Rose. No sólo UML
  • #44 Herramientas como Redmine, Jira, o Trac
  • #45 SWPM-WIKI. CodeBase no. Documentary-> Articulo wiki. Modelo -> Image + ItemList
  • #46 SWPM-VMM. CodeBase no tiene mapping. Doc-> paquete de nivel superior. Modelo -> diag + elemento de ejemplo
  • #47 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
  • #48 Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
  • #49 Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
  • #50 Herramientas especificas como composición de las genéricas y algunos detalles adicionales.
  • #52 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.
  • #53 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
  • #54 Permite lanzar las transformaciones intermedias y en última instancia invocar a las APIs de las herramientas para adaptar las herramientas.
  • #55 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
  • #56 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
  • #57 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
  • #58 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,
  • #61 Entorno EPF
  • #70 Este indicador permite comprobar habilidades relativas a la planificación del trabajo en equipo
  • #71 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
  • #75 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.
  • #78 Método modelado con SPEMDefinir rolesDefinir actividades y heramientas
  • #79 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
  • #82  metamodelos, transformaciones, vocabularios, links a las herramientas, casos de estudio, etc., están accesibles en esta web