Revisiones de la literatura en Ingeniería del Software

40
Revisiones de la literatura en Ingeniería del Software: Un ejemplo práctico. Iván Ruiz Rube [email protected] Desarrollo de software orientado a servicios y procesos de aprendizaje Itinerario de Doctorado en Modelado, Simulación y Pruebas de Procesos y Tratamiento de Señales y Datos

description

Presentación sobre cómo llevar a cabo estudios de la literatura en Ingeniería del Software, a través de un ejemplo real.

Transcript of Revisiones de la literatura en Ingeniería del Software

Page 1: Revisiones de la literatura en Ingeniería del Software

Revisiones de la literatura en Ingeniería

del Software: Un ejemplo práctico.

Iván Ruiz [email protected]

Desarrollo de software orientado a servicios y procesos de aprendizajeItinerario de Doctorado en Modelado, Simulación y Pruebas de Procesos y Tratamiento de Señales y Datos

Page 2: Revisiones de la literatura en Ingeniería del Software

Contenidos• Introducción• Planificación

• Ejecución• Difusión• Bibliografía

Page 3: Revisiones de la literatura en Ingeniería del Software

Introducción• Toda investigación debe comenzar estudiando el estado del arte de algún tema específico.

• Es algo común tanto para estudiantes pre-doctorales como para los ya doctores.

• Una revisión de la literatura es un medio para evaluar e interpretar la investigación disponible relativa a una determinada área de interés.

Page 4: Revisiones de la literatura en Ingeniería del Software

Introducción

Page 5: Revisiones de la literatura en Ingeniería del Software

Introducción• Existen dos formas de estudiar la literatura:• Poco rigurosa

• “Busca aquí en el Google..”• “Mírate las actas de este congreso..”• “Yo se que no se ha hecho nada

anteriormente…”

• Formal• Usando alguna metodología confiable,

rigurosa y extendida en la comunidad investigadora.

Page 6: Revisiones de la literatura en Ingeniería del Software

Introducción• Barbara Kitchenham propuso un conjunto de directrices para llevar a cabo estudios de la literatura en Ingeniería del Software.

• Estas directrices están basadas en otras metodologías similares en disciplinas como las ciencias sociales o la medicina.

• Están siendo ampliamente utilizadas por parte de la comunidad investigadora.

Page 7: Revisiones de la literatura en Ingeniería del Software

Introducción

• Systematic Literature Review (SLR)Estudio secundario que utiliza una metodología rigurosa para identificar, analizar e interpretar de forma no sesgada y repetible, todas las evidencias relativas a una pregunta de investigación.

Page 8: Revisiones de la literatura en Ingeniería del Software

Introducción

• Systematic Mapping Study (SMS)Estudio secundario (también utiliza una metodología rigurosa) que analiza un amplio conjunto de estudios primarios para identificar qué y cuantas evidencias hay disponibles sobre un determinado tópico. También llamado estudio de alcance (scoping study).

Page 9: Revisiones de la literatura en Ingeniería del Software

Introducción

Systematic Literature Review• El tópico que se quiere estudiar es reducido

• Estudiar la calidad de las evidencias

• Requiere un análisis detallado de los estudios

• Búsqueda en profundidad

• El objetivo es resumir el estado del arte

Systematic Mapping Study• El tópico que se quiere estudiar es muy amplio

• Estudiar la cantidad de evidencias

• Requiere un análisis superficial de los estudios

• Búsqueda en anchura• El objetivo es identificar clusters de evidencias y áreas donde fomentar la investigación

Page 10: Revisiones de la literatura en Ingeniería del Software

Introducción

• Etapas de la SLR/SMS

Page 11: Revisiones de la literatura en Ingeniería del Software

• Etapas de la SLR/SMS

Page 12: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

1. Identificar la necesidad de la revisiónJustificación:

En el año 2002, la OMG propuso un lenguaje para el modelado de procesos software, en línea con el enfoque de desarrollo MDA. Se trata de SPEM (Software & Systems Process Engineering Meta-Model).

Este lenguaje dispone de los elementos básicos para la definición de metodologías y procesos software: roles, actividades, tareas, herramientas, productos de trabajo, iteraciones, hitos, etc.

La misión del lenguaje fue por un lado, dotar de un mecanismo para la representación estandarizada de contenidos de métodos en IS y por otro, dar soporte a la sistematización/ejecución de los procesos de desarrollo software.

Page 13: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

1. Identificar la necesidad de la revisiónJustificación (cont.)

Page 14: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

1. Identificar la necesidad de la revisiónJustificación (cont.)

Sin embargo, parece que SPEM no ha conseguido la popularidad de otros lenguajes de la OMG, como UML.

Por este motivo, se plantea desarrollar un estudio de alcance (systematic mapping study) para comprobar el nivel de aceptación del lenguaje SPEM, así como de los usos y los beneficios reales (en contraposición con los prometidos) al usar esta notación.

Además, no se han encontrado estudios secundarios relativos a este asunto, por lo que se justifica el desarrollo de este trabajo. De este modo, se pretende descubrir debilidades en el lenguaje y las áreas de trabajo donde aplicar futuros esfuerzos de investigación.

Page 15: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

2. Comisionar una revisión

Comisionar revisión

Consiste en la subcontratación o externalización del desarrollo de una revisión de la literatura a otra organización diferente de la que la necesita.

Esta actividad no aplica para estudiantes de doctorado o en aquellos casos en que el grupo de investigación acomete la revisión por necesidades o inquietudes propias.

Page 16: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

3. Definir las preguntas de investigaciónPreguntas de Investigación

A continuación, se describen las preguntas de investigación que dirigirán la ejecución del estudio.

•Q1: ¿Cuáles son las metodologías y procesos que se han modelado con SPEM?•Q2: ¿Qué mecanismos se han desarrollado o utilizado para verificar y validar modelos SPEM?•Q3: ¿Qué posibilidades con respecto al despliegue y la ejecución de los procesos se han obtenido utilizando modelos SPEM?•Q4: ¿Qué ventajas se obtienen al evaluar y monitorizar procesos SPEM desplegados en entornos de ejecución adecuados?

Page 17: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

4. Desarrollar el protocolo de revisiónTérminos de búsquedaSPEM y “software process” (para desambiguación).Los términos de búsqueda deben adaptarse a los requerimientos de los motores de búsqueda.

Motores de búsqueda seleccionadosWiley Online Library, World Scientific Net, IEEE Digital Library, Elsevier, Springer y ACM Digital Library.

Herramientas de soporte a la revisiónRegistro de búsquedas, resultados y analíticas: ExcelSistema de gestión de referencias: Mendeley

Page 18: Revisiones de la literatura en Ingeniería del Software

Criterios de inclusión/exclusión•Fuera de alcance: Trabajos publicados antes de la publicación de la primera versión formal de la especificación (Noviembre 2002)•Lenguaje no apropiado: Trabajos publicados en idiomas distintos del inglés o castellano.•Fuera de ámbito: En algunas ocasiones se localizan trabajos no directamente relacionados con nuestros tópicos de interés.•Duplicado: Trabajos cuya contribución principal está recogida en otros trabajos ya incluidos.

Procedimiento de selecciónEl tercer criterio requería distinguir si los trabajos emplean SPEM, como mera anotación para clarificar la propia investigación o lo citan como trabajo futuro.Para el cuarto, se revisan las publicaciones encontradas de un mismo autor y se selecciona una, en base a la relevancia de la publicación y otros factores.

Planificación de la Revisión

4. Desarrollar el protocolo de revisión

Page 19: Revisiones de la literatura en Ingeniería del Software

Procedimiento para la evaluación de la calidad

Esta actividad no aplica en nuestro caso, dado que al realizar un estudio de alcance no es nuestro objetivo medir la calidad de las contribuciones existentes, sino la cantidad. Se suele llevar a cabo utilizando una lista de control diseñada a tal efecto.

Planificación de la Revisión

4. Desarrollar el protocolo de revisión

Page 20: Revisiones de la literatura en Ingeniería del Software

Esquema para la extracción de datos

•Metadatos básicos: título, autor y fecha publicación

•Tipo de investigación: opinión, experiencia personal, propuestas de solución, validación de propuesta y evaluación.

•Tipo de contribución: técnica, transformación, metamodelo, proceso, herramienta y framework.

•Utilidad de la contribución: modelado, adaptabilidad, verificación/validación, configuración/despliegue y evaluación.

•Versión del lenguaje: SPEM (1.1 o 2.0), extensión al lenguaje (1.1 o 2.0) y otros lenguajes ideados a partir de SPEM.

Planificación de la Revisión

4. Desarrollar el protocolo de revisión

Page 21: Revisiones de la literatura en Ingeniería del Software

Procedimiento de extracción

Extraer de manera automática los metadatos que acompañan a los trabajos en formato BIBTEX. Estos metadatos necesitan un proceso posterior de refinamiento para normalizar nombres de autores, completar campos vacíos como el publicador o la fecha de publicación, etc.

Revisar (no en profundidad) los trabajos encontrados: titulo, resumen, palabras clave y en menor medida, las conclusiones u ojeando el texto completo.

Simultáneamente, se van clasificando los estudios primarios. Hay que tener en cuenta que el esquema de clasificación no es estático, sino que se va ampliando y mejorando conforme se van revisando trabajos.

Planificación de la Revisión

4. Desarrollar el protocolo de revisión

Page 22: Revisiones de la literatura en Ingeniería del Software

Procedimiento de análisis y síntesis de los datos

En estudios de alcance, lo habitual es resumir y totalizar el número de estudios encontrados. En revisiones sistemáticas se suelen emplear técnicas de análisis estadístico y síntesis narrativa. En ambos casos, se utilizan representaciones gráficas para una mejor comprensión e interpretación de los resultados.

En nuestro caso, emplearemos algunas tablas y diagramas (gráficos de sectores, de líneas y de burbujas) para representar la información más significativa.

Planificación de la Revisión

4. Desarrollar el protocolo de revisión

Page 23: Revisiones de la literatura en Ingeniería del Software

Planificación de la Revisión

5. Evaluar el protocolo de revisiónEvaluación del Protocolo

Es importante validar el protocolo por parte de algún experto, de cara a confirmar que las cadenas de búsqueda, los datos a extraer y los procedimientos de análisis y síntesis sean los mas apropiadas para intentar dar respuesta a las preguntas de investigación.

En nuestro caso, el protocolo fue revisado por los Doctores participantes de esta investigación.

Page 24: Revisiones de la literatura en Ingeniería del Software

• Etapas de la SLR/SMS

Page 25: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

1. Localizar literaturaID SOURCE SEARCH TERMS SEARCH SCOPE RESULTS CONDUCTED BY DATE

1 Wiley Online Library ''software process'' AND spem All Fields (Including full text) 9 Iván Ruiz-Rube 10/02/2011

2 World Scientific Net spem Keywords 2 Iván Ruiz-Rube 10/02/2011

3 IEEE Digital Library (Xplore) ''software process'' AND spem Full Text and Metadata 109 Iván Ruiz-Rube 10/02/2011

4 Elsevier (ScienceDirect) ''software process'' AND spem Full Text 34 Iván Ruiz-Rube 10/02/2011

5 Springer ''software process'' AND spem Full Text 138 Iván Ruiz-Rube 10/02/2011

6 ACM Digital Library ''software process'' AND spem

Full Text, Title, Abstract and Review [Refine Search excluding results from Springer-Verlang and IEEE Press and Computer Society] 33 Iván Ruiz-Rube 10/02/2011

7 Wiley Online Library ''software process'' AND spem All Fields (Including full text) 1 Iván Ruiz-Rube 09/02/2012

8 World Scientific Net spem Keywords 0 Iván Ruiz-Rube 09/02/2012

9 IEEE Digital Library (Xplore) ''software process'' AND spem Full Text and Metadata 23 Iván Ruiz-Rube 09/02/2012

10 Elsevier (ScienceDirect) ''software process'' AND spem Full Text 5 Iván Ruiz-Rube 09/02/2012

11 Springer ''software process'' AND spem Full Text 7 Iván Ruiz-Rube 09/02/2012

12 ACM Digital Library ''software process'' AND spem

Full Text, Title, Abstract and Review [Refine Search excluding results from Springer-Verlang and IEEE Press and Computer Society] 12 Iván Ruiz-Rube 09/02/2012

TOTAL     373    

Page 26: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

1. Localizar literatura

Page 27: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

2. Selección de estudios primarios

Page 28: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

3. Evaluación de la calidad de los estudios primarios

Page 29: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

4. Extracción de datos

Type Publisher Normalised Publication Citation Key Title Year

1 IEEE Asia-Pacific Software Engineering Conference WookjinAgile Development of Web Application by Supporting Process Execution and Extended UML Model

2005

1Springer Berlin / Heidelberg

International Workshop on Software Engineering for Large-Scale Multi-agent Systems

Cossentino2005 Composition of a New Process to Meet Agile Needs Using Method Engineering 2005

1 ACM

Research conference of the South African institute of computer scientists and information technologists on IT research in developing countries

Theunissen2005 In search of the sweet spot: agile open collaborative corporate software development 2005

1Springer Berlin / Heidelberg

International Conference on Web Engineering Sampaio2004 XWebProcess: Agile Software Development for Web Applications 2004

1 ACM PressInternational Workshop on Traceability in emerging forms of software engineering

Kelleher2005 A reusable traceability framework using patterns 2005

1Springer Berlin / Heidelberg

International Conference on Software Reuse Lopes2006 Odyssey-CCS: A Change Control System Tailored to Software Reuse 2006

1Springer Berlin / Heidelberg

International Conference on Product-Focused Software Process Improvement

Ceron2005A Meta-model for Requirements Engineering in System Family Context for Software Process Improvement Using CMMI

2005

1 ACM PressBrazilian Symposium on Multimedia and the web

Neto2006 Using a software process for ontology-based context-aware computing 2006

1 IEEEIEEE International Conference on e-Technology, e-Commerce and e-Service

FalconeSampaio Business Process Design and Implementation for Customer Segmentation e-Services 2005

Page 30: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

4. Extracción de datosCitation Key Year Research Type

Contribution Type Metamodel Type Description

Process V&V

Process Modeling

Wookjin 2005 Proposal of solution Framework SPEM 1.1 Agile Web Development Process   ASD

Cossentino2005 2005Proposal of solution Process SPEM 1.1 Agile PASSI: Agile Agent-Oriented Process   ASD-MAS

Theunissen2005 2005Philosophical papers Process SPEM 1.1

A hybrid process that embodies the best of ASD and OSSD   ASD-OSSD

Sampaio2004 2004 Proposal of solution Process SPEM 1.1 XP Process for Web   ASD-WEB

Kelleher2005 2005 Proposal of solution Framework SPEM 1.1 Software Product Traceability Process   CHANGE

Lopes2006 2006

Proposal of solution Tool SPEM 1.1

Modeling Change Control Processes in software reuse-driven paradigms. Software to process importation, assignment of users to roles, assignment of templates to products, and Notification configuration. Responsible for selecting the appropriate templates of each finished process activity, presenting the respective forms to be filled in by the users, and storing the documents produced by the forms.A Prolog-based component able to detect pending activities and infer the next activities when an activity is finished   CHANGE

Ceron2005 2005Proposal of solution Framework SPEM 1.1

Requirements Engineering Process in System Family Context using CMMI   CMM-SPL

Neto2006 2006

Validation Research Process SPEM 1.1Software process towards supporting the development of ontology-based context-aware applications   CONTEXT

FalconeSampaio 2005Proposal of solution Process SPEM 1.1

Business Process Design for sourcing CRM services via ASP   CRM-ASP

Page 31: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

5. Análisis y Síntesis de datos

Page 32: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

5. Análisis y Síntesis de datos

Page 33: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

5. Análisis y Síntesis de datos

Page 34: Revisiones de la literatura en Ingeniería del Software

Ejecución de la Revisión

5. Análisis y Síntesis de datos

Hallazgos encontrados

•Gran aceptación de SPEM en el diseño de metodologías para sistemas multiagente o líneas de productos software.•Flexibilidad de procesos es una labor complicada (variability, tailoring).•No es interpretado por un software y no tiene un mapeo directo con lenguajes ejecutables.•Pocos trabajos relativos a la evaluación sistematizada de procesos software.•Poco calado en la industria.

Page 35: Revisiones de la literatura en Ingeniería del Software

• Etapas de la SLR/SMS

Page 36: Revisiones de la literatura en Ingeniería del Software

Difusión de los Resultados

1. Definir mecanismos de difusiónPublicación de los resultados

•Proyecto de investigación •Informe técnico•Páginas web•Artículo en Congreso/Revista•Etc.

Page 37: Revisiones de la literatura en Ingeniería del Software

Difusión de los Resultados

2. Formatear el informe

Page 38: Revisiones de la literatura en Ingeniería del Software

Difusión de los Resultados

3. Evaluar el informe

Page 39: Revisiones de la literatura en Ingeniería del Software

Bibliografía• Kitchenham, B., et al. (2007). Guidelines for performing

Systematic Literature Reviews in Software Engineering. EBSE Technical Report EBSE-2007-01.

• Petersen, K., et al. (2008). Systematic mapping studies in software engineering. In 12th International Conference on Evaluation and Assessment in Software Engineering (Vol. 17, p. 1).

• Wieringa, R., et al. (2006). Requirements engineering paper classification and evaluation criteria: a proposal and a discussion. Requirements Engineering, 11(1), 102-107.

• Ruiz‐Rube, I., et al. (2013). Uses and applications of Software & Systems Process Engineering Meta‐Model process models. A systematic mapping study. Journal of Software: Evolution and Process. Early published online.

Page 40: Revisiones de la literatura en Ingeniería del Software

Iván Ruiz [email protected]

Desarrollo de software orientado a servicios y procesos de aprendizajeItinerario de Doctorado en Modelado, Simulación y Pruebas de Procesos y Tratamiento de Señales y Datos