• Like
Un framework para el despliegue y evaluación de procesos software
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

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

  • 644 views
Published

Tesis Doctoral. PhD

Tesis Doctoral. PhD

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
644
On SlideShare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
15
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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
  • Herramientas como Redmine, Jira, o Trac
  • SWPM-WIKI. CodeBase no. Documentary-> Articulo wiki. Modelo -> Image + ItemList
  • 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

Transcript

  • 1. TESIS DOCTORAL Un framework para 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 Marco de 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 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
  • 51. Herramientas MDE: Metamodelos Un framework para el despliegue y evaluación de procesos software 51
  • 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
  • 54. Herramientas LOD: Vocabularios Un framework para el despliegue y evaluación de procesos software 54
  • 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
  • 75. Conclusiones • Conclusiones • Líneas de trabajo futuras • Contribuciones Un framework para el despliegue y evaluación de procesos software 75
  • 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
  • 77. Resumen 77
  • 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
  • 83. MUCHAS GRACIAS IVÁN RUIZ RUBE ivan.ruiz@uca.es 83