Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6822-Texto Del Artículo-34201-1-10-20171011 PDF
6822-Texto Del Artículo-34201-1-10-20171011 PDF
15 | N° 43 | Sep - Dic | pp 79 - 91
Forma de citar: Camacho. M. C. (2016). Un Método Incremental para el Análisis visual de modelos de Proceso
software. En R, Llamosa Villalba (Ed.). Revista Gerencia Tecnológica Informática, 15(43), 79-91. ISSN 1657-8236.
79
Gerenc. Tecnol. Inform. | Vol. 15 | N° 43 | Sep - Dic | Camacho, Hurtado, Ruiz
RESUMEN ANALÍTICO
Especificar modelos de procesos en SPEM 2.0 es una tarea costosa por la cantidad de detalles a ser
definidos. Normalmente dicha especificación evoluciona en la labor de definición del proceso o un
proyecto de mejoramiento. En el desarrollo de software se pueden construir y evaluar entregables,
de la misma forma se esperaría que con la definición del proceso ocurra igual. Sin embargo, la etapa
de evaluación práctica de un proceso es mucho más larga, costosa y compleja que la misma etapa
de definición. En este artículo se propone el uso de AVISPA-Method (Método incremental para el
análisis visual de modelos de proceso software), como un método liviano para realizar evaluaciones
tempranas del modelo de proceso a un costo mucho más reducido que su evaluación en la aplicación
real, este método emplea a AVISPA (Analysis and Visualization for Software Process Assessment)
como herramienta para la evaluación del modelo de proceso. Para mostrar la aplicabilidad del método,
se ha desarrollado un estudio de caso, en el que el modelo de proceso Small-SPL se ha evaluado
y depurado incrementalmente siguiendo este enfoque. Durante su proceso de modelado, AVISPA-
Method, fue utilizado al terminar cada una de las versiones planificadas durante su especificación. Esto
contribuyó a depurar la especificación de cada una de las tres versiones y a un notable mejoramiento
en la especificación del proceso.
PALABRAS CLAVES: Vistas de Modelos de Procesos Software, AVISPA, Procesos Software, Modelos
de Procesos Software, Verificación de Procesos Software, Análisis de Procesos Software.
ANALYTICAL SUMMARY
Specifying process models in SPEM 2.0 is a costly task by the number of details to be defined.
Normally this specification evolves in the task of defining the process or an improvement project. In
software development can be constructed and evaluated deliverables, in the same way, would expect
that with the definition of the process occur the same. However, the practical evaluation stage of a
process is much longer, costly and complex than the same stage of definition. This paper proposes
the use of AVISPA-Method (Incremental method for visual analysis of software process models), a
process visual analysis tool, as a lightweight method for conducting early evaluations of the process
model at a much lower cost. To evidence the applicability of the method, a case study has been
developed, in which the Small-SPL process model has been evaluated and incrementally debugged
following this approach. During its modeling process, AVISPA-Method was used at the end each of
the planned versions during its specification. This contributed to debug the specification of each of
the three versions and a notable improvement in the specification of the process.
KEYWORDS: Software Process Model Blueprints, AVISPA, Software Process, Software process
models, software process verification, software process analysis.
del proceso que permitan conocer si está correctamente del modelo pueda ser parte del ciclo justo antes del hacer
especificado [10]. (Do) y después de tener un nuevo diseño del modelo de
procesos (Plan) resultado de las mejoras analizadas a
Para el análisis de los modelos de procesos existen varias partir del chequeo (Check) y propuestas en el actuar
alternativas no excluyentes, que incluyen su aplicación
directa en proyectos piloto [11], su análisis a través de En este artículo se presenta mediante un estudio de
simulaciones [12], las métricas [13], las verificaciones caso, como AVISPA-Method fue utilizado para mejorar
formales [14] y la visualización [15]. incrementalmente la calidad del modelo de referencia
Small-SPL, un modelo orientado a la adopción del enfoque
La evaluación de los modelos de procesos software para de líneas de productos en pequeñas organizaciones a
determinar errores en su especificación es crucial para través de la reutilización de activos de proceso.
lograr la adopción satisfactoria por parte de las empresas.
Pero la evaluación de los procesos software es una El resto de este artículo se organiza de la siguiente
actividad compleja porque en muchos casos se realiza manera: la sección I presenta trabajos relacionados que
sobre el desarrollo de los proyectos, es decir cuando el abordan el problema del análisis de la calidad de los
proceso está desplegado en la organización y listo para modelos de proceso, la sección II presenta una síntesis
su ejecución, donde las empresas sin saberlo pueden del trabajo con la herramienta AVISPA. En la sección
estar utilizando un proceso inadecuado, con errores III se describe el enfoque incremental para el análisis
comunes como tareas y actividades sobredimensionadas de modelos de proceso AVISPA-Method. La sección
o subdimensionadas, tareas multipropósito y roles IV presenta el estudio de caso en el que Small-SPL
sobrecargados, lo cual puede implicar que los proyectos es analizado utilizando AVISPA-Method. La sección V
de la organización utilicen inadecuadamente los recursos presenta algunas conclusiones, limitaciones y trabajo
asignados para el desarrollo de los proyectos y por lo futuro.
tanto no se obtengan los resultados esperados. En el
desarrollo de software se pueden construir y evaluar 1. TRABAJOS RELACIONADOS
entregables, de la misma forma se esperaría que con
la definición del proceso ocurra igual. Sin embargo, la El interés de este trabajo está en poder evaluar la calidad
etapa de evaluación práctica de un proceso es mucho de los modelos de procesos especificados en SPEM 2.0.
más larga, costosa y compleja que la misma etapa de A continuación presentamos algunos trabajos que se
definición. enfocan en la evaluación de la calidad del proceso o de
su especiación.
La visualización de modelos de proceso es una
alternativa, para lograr en forma temprana, viable y En la ingeniería de requisitos se utilizan varias técnicas
efectiva, el análisis de modelos de procesos. Una primera para realizar la especificación correcta y precisa de los
aproximación son los Blueprints propuestos por Hurtado requisitos. A menudo se crean procesos/herramientas
y otros [16], los culés son representaciones gráficas que combinan múltiples técnicas donde la salida de
de modelos de proceso de software que permiten a una técnica se convierte en la entrada a la siguiente.
los diseñadores de procesos: (i) mejorar la calidad de En [18] se modela y se estudia un proceso requisitos
los modelos de procesos de software, (ii) identificar las para comprobar la coherencia de los requisitos mediante
anomalías o problemas en la especificación y/o el modelo, la evaluación de errores. Se realiza un análisis de los
(iii) proporcionar pistas para encontrar inconsistencias factores de entrada para determinar el efecto que las
en el modelo. Como siguiente aproximación se tiene los fuentes de incertidumbre pueden tener sobre la precisión
patrones de errores de AVISPA [10], los cuales permiten final del proceso de verificación y de la coherencia de los
identificar de manera concreta problemas específicos en requisitos.
el modelo de proceso, resaltándolos y diferenciando los
elementos con algún tipo de anomalía. En un enfoque de evaluación basado en evidencias se
toman los resultados o evidencias de la ejecución del
La visualización ha mostrado su efectividad en el modelo aplicado a un proyecto, y se comparan con las
análisis de modelos de procesos [10] [17], sin embargo especificaciones de algún modelo de referencia [11]. Un
se carece de guía para que los ingenieros de proceso ejemplo de evaluación de procesos basada en evidencia
aprovechen sus bondades. La idea es que un ingeniero ocurre durante la verificación del cumplimiento respecto
de procesos se pueda beneficiar de un ciclo completo a algún modelo de referencia como CMMI [8] e ISO/
PDCA (Plan, Do, Check, Act) en la depuración del modelo IEC15504 [6]. Normalmente este tipo de actividades
de procesos de software. Es decir, dado que el modelo de evaluación basada en evidencia sólo pueden
de proceso evoluciona y se define incrementalmente, en llevarse a cabo una vez que el modelo de proceso se
este trabajo se plantea que la verificación de la calidad ha aplicado a proyectos específicos. Así, la evaluación
basada en evidencia del modelo de proceso, necesita [21] [22]. En éste caso se tiene un ciclo de revisión
ciclos muy largos. En este contexto los procesos no más corto que la ejecución misma del proceso, pero
necesariamente debe especificarse en al algún lenguaje aún requiere de gran cantidad de datos históricos.
formal o semiformal, debido a que se debe verificar el Esta técnica de análisis es adecuada sólo cuando se
cumplimiento o adaptación al estándar, y aun así no se sabe que el modelo de proceso es conveniente para
garantiza la calidad del modelo de proceso mismo. la organización o el proyecto, pero si el modelo está
incompleto, insuficientemente especificado o no es
Schramm ed al. [19] describe que dentro de las conveniente, la simulación no producirá los resultados
actividades de la ingeniería de modelos de procesos esperados.
se debe considerar la evaluación de la descripción del
modelo de proceso para proporcionar información de Dado que el análisis de modelos de software ayuda a
mejora. La evaluación del proceso se hace mediante la disminuir los recursos, esfuerzo y de la misma forma
recolección de conceptos, herramientas y la medición recursos hardware, Christov y Avrunin [23], proponen
de las características de las descripciones de proceso. una técnica formal de verificación y validación para
La información recolectada puede ser utilizada para identificar y medir las diferencias entre los modelos
realizar una actualización de la descripción del proceso de procesos y las ejecuciones reales de los procesos.
y para la extracción de información útil en la mejora Sin embargo, este análisis está orientado a evaluar
del proceso. Ruiz et al. [20] propone un meta-proceso, la congruencia entre el modelo y su ejecución en el
para formalizar el proceso software usando la plataforma proyecto. Una de las dificultades para la obtención de
Eclipse Process Framework. El meta proceso define estas mediciones, es que su realización no es fácil y los
una fase de ejecución donde las actividades, Partial resultados no son precisos [24].
Validation y Complete validation, son las encargadas
de efectuar la evaluación del proceso software. Con el Hurtado et al. [16] propone un enfoque visual para la
desarrollo de estas actividades se valida la correctitud evaluación de modelos de procesos. La evaluación se
de la especificación del proceso. basa en tres tipos de vistas arquitectónicas, enfocadas
en elementos básicos de un proceso software: Role
Gruhn et al. [14] plantea una técnica de verificación Blueprint, Task Blueprint y Work Product Blueprint.
basada en los resultados de la traza de la ejecución Este acercamiento utiliza la herramienta ProcessModel,
de los procesos. Si para varias ejecuciones el proceso basada en Modrian and Mose, para la visualización de
demuestra funcionar bien (p ej. ausencia de cuellos de los modelos de procesos. Las diferentes visualizaciones
botella), entonces es muy probable que el modelo de del proceso que se obtienen al usar la herramienta son
procesos que lo define este bien elaborado. Pero no se utilizadas para encontrar errores, problemas y mejoras
puede asegurar que será así para todas las ejecuciones. en la especificación del proceso. Hurtado et al. [25]
Este enfoque requiere de varias ejecuciones del modelo lo define una serie de patrones de error que indican la
que lo hace lento. Por lo tanto, la verificación de modelos presencia potencial de conceptos erróneos en modelos
de proceso de software ayuda a prevenir la ejecución de de procesos software. En este trabajo se presentan
errores en los modelos de proceso de software. patrones de error, se caracterizan los tipos de errores
y se detalla cómo los errores pueden ser localizados
Un enfoque de evaluación de la usabilidad y en un modelo de proceso de software. Para ayudar
mantenibilidad del modelo de proceso a través de en el análisis de la calidad de la especificación de los
métricas del modelo, es propuesto por Cánfora et. al. procesos se propone AVISPA como una herramienta
[13]. Los autores definen un conjunto de métricas para que representa gráficamente diferentes aspectos de
medir de manera global la usabilidad y mantenibilidad un modelo de proceso y resalta posibles errores como
de un modelo de proceso de software, basados en indicadores intuitivos y comprensibles. Hurtado et
un conjunto de métricas aplicadas a todo el modelo. al. [26] describe AVISPA para el análisis de la calidad
La propuesta permite evaluar aspectos generales del de los modelos de procesos de software definidos en
modelo de proceso tales como número de tareas por SPEM 2.0. Se proporciona una descripción detallada de
rol, número de productos de trabajo de entrada en los elementos internos de AVISPA para mostrar tanto
promedio, entre otros. En este caso, es difícil conocer su estructura como sus mecanismos de extensibilidad.
en forma específica los problemas del modelo de También presentan un mecanismo interactivo para
proceso, así como la ubicación de los mismos dentro del definir nuevos scripts de análisis e implementar nuevos
modelo. Esto le resta efectividad al momento de definir patrones y vistas del proceso.
oportunidades de mejora.
El enfoque de AVISPA permite analizar los modelos
La simulación del modelo de proceso es otra alternativa de proceso en forma temprana, aún si los modelos
para analizar algunos aspectos del modelo de proceso son incompletos, aprovechando el potencial de la
elemento sin guía asociada Un elemento sin guía asignada En las tres vistas un nodo con color azul
Fuente: [18]
Roles:
Artefactos:
El objeto de este estudio de caso fue observar y analizar Cada una de las iteraciones tuvo un objetivo específico
los aportes de AVISPA-Method como estrategia de y contribuyó en la definición de diferentes versiones de
análisis para asegurar la calidad del modelo de proceso Small-SPL, cada una de las versiones fue evaluada con
Small-SPL antes de su despliegue. Teniendo en cuenta el AVISPA-Method, siguiendo cada una de sus actividades,
objeto del estudio de caso, se definieron los indicadores, para verificar la correctitud del modelo de proceso, es
métricas e instrumentos presentados en la tabla 2. de aclarar que después de realizar la evaluación de
cada una de las versiones de Small-SPL, se obtenía
Se denominan hallazgos a las alertas generadas por una versión mejorada después de corregir los errores
la herramienta AVISPA y errores a los hallazgos que encontrados a partir de los resultados de la evaluación,
se verifican como fallos reales de la especificación del estas versiones se denominaron x.5, y era la base para
proceso al ser analizada con AVISPA-Method. la especificación de la siguiente versión. La aplicación de
AVISPA-Method se grafica en la figura 3.
4.3 Desarrollo del estudio de caso
A continuación se realizará un análisis de los resultados
Para el desarrollo del estudio de caso se utilizó obtenidos, los cuales se detallaran a partir de las tres
Avispa–Method. Se definieron incrementalmente tres vistas gráficas (tareas, roles y productos de trabajo) que
diferentes versiones de Small SPL donde cada versión proporciona AVISPA de un modelo de procesos, cada
fue examinada con AVISPA y los resultados obtenidos una trata un aspecto particular del modelo de procesos
fueron analizados. [16].
importante para el análisis de Small-SPL debido a que Al realizar el análisis con AVISPA de la segunda versión
las pequeñas empresas productoras de software tienen de Small-SPL se obtuvo como resultado la vista de roles
limitaciones de personal. de la figura 8, en la que se puede observar un rol aislado,
un subproceso independiente y de acuerdo al patrón rol
FIGURA 7. Vista de Roles Small-SPL v 1.0 sobrecargado existen tres nodos de mayor tamaño (más
oscuros) que se indicaban como roles sobrecargados
parte superior se encuentran varios nodos aislados que 4.3.4 Comparativo de hallazgos en el análisis de
indican que pueden ser productos de trabajo consumidos Small-SPL
(requeridos) pero no generados. El patrón productos de
trabajo innecesarios (“grasa”) son los nodos oscuros que El comparativo de los resultados obtenidos para cada
pueden indicar que estos productos no son consumidos versión permite observar los errores detectados, los
por ninguna tarea. cambios entre versiones y las depuraciones realizadas a
la especificación del proceso.
Al evaluar la versión 2.0 de Small SPL se pudo evidenciar
que si bien el número total de productos de trabajo no FIGURA 13. Resultados comparativos del análisis de
disminuyó de manera considerable, los ajustes realizados Small-SPL con AVISPA-Method
lograron reducir los productos de trabajo desconectados
(no son producidos por ninguna tarea, pero si consumidos)
y también se disminuyeron los productos de trabajo
“grasa” que son generados, pero no consumidos, estos
hallazgos pueden observarse en la figura 11.
proceso, en la segunda versión el número de hallazgos por ser un proceso incremental facilita el análisis y la
disminuyo considerablemente y en la tercera versión corrección de las fallas de especificación, asegurando un
se logró eliminar casi por completo los errores de la refinamiento continuo y ayudando a que la correctitud
especificación del modelo de proceso sea mayor.
[30] P. Runeson y M. Höst, «Guidelines for conducting de SSR '99 Proceedings of the 1999 symposium on
and reporting case study research in software Software reusabilit, Los Angeles, California, USA,
engineering,» Empirical software engineering, vol. 1999.
14, nº 2, pp. 131-164, 2009. [33] ESI, «Families,» 2003. [En línea]. Available: http://
[31] L. Northrop, P. Clements, F. Bachmann, J. Bergey, www.esi.es/Families/. [Último acceso: Junio 2012].
G. Chastek y S. Cohen, «A Framework for Software [34] F. van der Linden, «Family Evaluation Framework
Product Line Practice,» 2007. [En línea]. Available: overview & introduction,» 2005.
http://www.sei.cmu.edu/productlines/frame_ [35] M. C. Camacho Ojeda y J. A. Hurtado Alegria,
report. [Último acceso: Febrero 2010]. «Analizando la viabilidad de adoptar el enfoque
[32] J. Bayer, O. Flege, P. Knauber, R. Laqua, D. Muthig, de Líneas de Productos de Software en pequeñas
K. Schmid, T. Widen y J.-M. DeBaud, «PuLSE: A entidades,» de 7th Colombian Computing Congress,
Methodology to Develop Software Product Lines,» 2012.