Documentos de Académico
Documentos de Profesional
Documentos de Cultura
net/publication/269270189
CITATIONS READS
3 1,972
2 authors:
Some of the authors of this publication are also working on these related projects:
Diseño De Juegos Pervasivos Basados En Experiencias De Aprendizaje Sensible Al Contexto (Dispersa) View project
All content following this page was uploaded by Julio Ariel Hurtado on 16 May 2015.
Resumen— El Proceso Unificado – UP, es un marco prescriptivo adaptan el proceso software de una forma implícita e
ampliamente utilizado por la industria del software. Debido a que impredecible. Esto origina que la experiencia, conocimiento y
el UP fue desarrollado bajo el supuesto de una aplicabilidad análisis involucrado en el proceso de adaptación no sea
universal, su definición no viene adaptada a cada organización o capturado y por lo tanto, no sea compartido y reutilizado. El
proyecto específico. Varias propuestas se han delineado para Proceso Unificado - UP [4] es un marco de procesos software
adaptar este marco a las necesidades específicas de las aplicado a múltiples contextos de proyectos y en numerosas
organizaciones y proyectos. Aunque estas adaptaciones se han organizaciones en el mundo [2]. Reportes de experiencia, libros
aplicado tanto en el ámbito de la industria, como en el de la y publicaciones científicas indican un considerable interés en el
investigación, carecen de mecanismos sistemáticos y son difíciles
uso de UP en la industria mundial. Particularmente un estudio
de replicar. Este artículo aplica una estrategia general, pero
realizado en el marco del proyecto SIMEP-SW arrojó que
concreta para facilitar la adaptación sistemática del Proceso
Unificado utilizando un enfoque de línea de procesos software. cerca del 50% de las pequeñas empresas de software del sur
Con el fin de evaluar nuestra propuesta, se ha implementado la occidente colombiano utilizan UP como marco de referencia
disciplina de implementación del UP como una la línea de [3]. UP es presentado como un marco de procesos adaptable en
procesos software utilizando CASPER meta-proceso, donde la [4], donde se debe considerar el tamaño del producto, el
adaptación es planeada y ejecutada brindando evidencias de las dominio del problema, la complejidad del sistema, la
ventajas y desventajas del enfoque. experiencia de las personas y el nivel del proceso
organizacional para efectuar su adaptación. Además, UP
Keywords- Proceso Unificado, Adaptación de Procesos y Línea incluye una guía general y manual para su adaptación, que no
de Procesos Software. explica de forma clara como los elementos del proceso deben
Abstract— Unified Process - UP, is a prescriptive framework
ser seleccionados o adaptados de acuerdo a un contexto
widely used by the software industry. Since the UP was developed específico [2], [5]. De esta forma, el proceso de adaptación del
under the assumption of a universal applicability, its definition is UP es propenso al error y consume tiempo. El MDE (Model
not match to every organization or project. Several proposals Driven Engineering) es una estrategia que se puede utilizar en
have been outlined to adapt this framework to the specific needs la adaptación de procesos. En [7] se presenta una estrategia
of organizations and projects. Although these adaptations have basada en MDE para definir modelos de procesos adaptables.
been applied in contexts, industry and research, they do not En ésta estrategia un modelo de procesos específico desde un
include systematic mechanisms and so, they are difficult to modelo de procesos general utilizando una especificación
replicate. This paper applies a general strategy, but concrete to formal del contexto específico del proyecto. En este artículo
facilitate systematic adaptation of the Unified Process using a dicha estrategia MDE es aplicada en la adaptación del modelo
software process line approach. In order to evaluate this de procesos del UP. Para ello, el UP es definido como una línea
proposal, the UP implementation discipline has been modeled as de procesos - PUL soportada en la experiencia empírica de
a software process line using CASPER meta-process providing adaptación basada en la guía presentada en [8]. La definición
evidences about the advantages and disadvantages of approach. de UP como una línea de procesos fue guiada por el meta-
Keywords— Unified Process, Tailoring Process and Software proceso CASPER (Contex Adaptable Software Process
Process Line. EngineeRing) presentado en [7], el cual sigue un enfoque de
familia de procesos y una estrategia MDE para producir
modelos de procesos software.
I. INTRODUCCIÒN
La adaptación de procesos software es una tarea recurrente, En la sección 2 de este artículo se describen trabajos
que consume tiempo y demanda conocimiento para las relacionados con las adaptaciones y mecanismos de adaptación
organizaciones. En [1] se muestra que el 77% de las empresas del Proceso Unificado reportadas por la literatura. En la
sección 3 se presenta el marco general del Proceso Unificado No obstante el proceso es adaptado en forma manual. Esta
como una línea de procesos canónica, mientras un caso adaptación fue evaluada en una empresa de desarrollo de
especifico es detallado en la sección 4 utilizando la experiencia software en la que se adaptó la disciplina de planificación y
ganada durante el desarrollo de la guía [8] en la adaptación de gestión de RUP. En [1] se propone un marco conceptual
la disciplina de implementación del Proceso Unificado. En la dirigido a las empresas y equipos de desarrollo de software
sección 5, se presentan las conclusiones y trabajo futuro. para asistir el método de adaptación de procesos, presenta un
caso de estudio de aplicación de su propuesta en una empresa
II. TRABAJO RELACIONADOS en la cual se ha adoptado RUP como proceso organizacional.
En este caso se evidencia el uso de información de contexto
Algunos trabajos definen formas para mejorar la adaptación para conducir la adaptación, sin embargo, esta no es
del UP a situaciones específicas [2], [5], [6]. Herramientas de sistemática.
soporte como EPFC 1 y RMC 2 han sido desarrolladas por la
comunidad y la industria para soportar el proceso de adaptación
de una forma organizada basada en el concepto de III. APLICANDO CASPER PARA GENERAR PUL
configuración. Sin embargo, estos métodos son todavía El proceso de software se define como un conjunto de
limitados porque la adaptación no es sistemática y depende de actividades, métodos, prácticas y transformaciones que las
la experiencia del ingeniero de procesos, lo que la hace poco personas usan para desarrollar y mantener software, como
repetible y por tanto susceptible al error humano. Aunque también sus productos asociados (p.ej., planes,
existen diversos acercamientos para la adaptación de procesos especificaciones, diseños y pruebas) [9] dentro de una
como los presentados en [7] éstos son acercamientos generales, planificación y presupuesto predecible [4]. Su definición
existe poca evidencia de su aplicación a procesos de software incluye un ciclo de vida y un conjunto de cuerpos de
establecidos y ampliamente conocidos y aplicados por la conocimiento denominados disciplinas.
industria, como es el caso del Proceso Unificado - UP. Existe
evidencia empírica sobre adaptaciones del UP, es el caso de A. Enfoque de adaptación
procesos como: Agile UP (AUP) [18], Basic Unified Process CASPER es un meta-proceso para definir modelos de
(BUP) [19], Open Unified Process (OpenUP), Open Unified procesos software adaptables mediante familias de procesos
Process Basic (OpenUP/Basic) [20] y Enterprise Rational [7]. Utiliza coherentemente tres enfoques principales: líneas de
Unified Proceses (EUP) [21]. Estas adaptaciones y extensiones procesos software, modelamiento del contexto extendiendo
de UP, deben aún ser adaptados para cubrir las necesidades de modelado del proceso y se basa en transformación de modelos
las diferentes organizaciones y proyectos, puesto que siguen para efectuar la adaptación. Las líneas de procesos gestionan el
teniendo un alcance muy amplio. Concretamente el Proceso proceso software y su variabilidad de forma sistemática,
Unificado en su disciplina de ambiente brinda una guía de promoviendo que los procesos software puedan ser
ajuste para la adaptación [4], donde se identifican factores organizados de acuerdo a similitudes y diferencias, que
como elementos relevantes que pueden influir y guiar la permiten una mejor adaptación a las necesidades de un
adaptación del proceso. En este mismo enfoque de adaptación proyecto específico [22]. El modelamiento del contexto
se encuentra la guía de adaptación del Proceso Unificado a identifica las particularidades del proyecto y/o organización
contextos específicos de proyectos en el ámbito de pequeñas que pueden afectar la adaptación del proceso. Para la
organizaciones presentado en [8]. Sin embargo, este enfoque implementación de los procesos adaptables en CASPER 3 se
carece de planificación y resulta complejo debido a los han definido los meta-modelos SPCM (Software Process
cuidados en la selección de elementos por la dependencia que Contex meta-model) para plasmar el Modelo de Contexto y
estos tienen sobre otras partes del proceso. En [6] se propone SPEM 2.0 (Software and Systems Process Engineering Meta-
un enfoque basado en la definición de un meta-modelo en la model) para definir el proceso software con su variabilidad. La
que se extiende el meta-modelo de RUP (Rational Unified variabilidad hace referencia al conjunto de puntos de variación
Process) incluyendo nuevos elementos y relaciones necesarias (opcional y alternativa) y sus variantes que se tiene planificado
para permitir la adaptación del proceso. El anterior enfoque se para un proceso. CASPER utiliza técnicas ingeniería dirigida
orienta a la definición de un proceso adaptable, pero no define por modelos - MDE como estrategia de adaptación, en la cual
los mecanismos para lograr la adaptación, es decir, no tiene en el proceso software de referencia, el proceso adaptado y el
cuenta información del contexto de las organizaciones o contexto son definidos como modelos, así mismo el proceso de
proyectos específicos para tomar las decisiones en la adaptación mismo se programa como un una transformación
adaptación. declarativa en la que se aplican un conjunto de reglas. El meta-
Un modelo genérico para la adaptación es presentado en proceso CASPER es utilizado en este estudio para estructurar e
[23], donde la adaptación se hace sobre la base de las implementar una línea de procesos canónica basada en el
características del proyecto utilizando un modelo de Proceso Unificado. Esta línea de procesos canónica incluye una
comparación de características el cual tiene como fin recuperar guía de extensión con el fin de generar líneas de procesos
y reutilizar posibles partes de procesos previamente definidos. específicas en las organizaciones. La Fig. 1 presenta los
modelos y la estrategia general que se aplica a la generación de
procesos miembro de la familia basada en UP. La descripción
1
Eclipse Process Framework Composer (EPFC) website
http://www.eclipse.org/epf/ 3
Información del meta-modelo SPCM se encuentra en [7] y en la
2
Rational Method Composer (RMC) website http://www- dirección web https://sites.google.com/site/softwaremetaprocess/home/casper-
01.ibm.com/software/awdtools/rmc/s tool
de los elementos que hacen parte de la línea de procesos del UP una configuración del modelo de contexto y una copia del
– PUL se describe a continuación. modelo de procesos de referencia. Mediante reglas concretas se
efectúa la transformación del modelo de procesos de referencia
B. Definición del Modelo de Contexto Canónico de PUL a un modelo de procesos adaptado de acuerdo a las
El modelo de contexto canónico definido para la línea de características puntuales del proyecto y de la organización,
procesos PUL es conforme a SPCM el cual se basa en tres plasmadas en una configuración del modelo de contexto. La
conceptos básicos: atributo de contexto, dimensión y atributo línea de procesos canónica incluye un conjunto de patrones de
de configuración de contexto. El contexto de un proyecto adaptación, los cuales serán usados como referentes para
puede variar en diferentes dimensiones específicas, por extender las transformaciones definidas en el modelo. Dichos
ejemplo: proyecto, producto, equipo. Las dimensiones incluyen patrones serán establecidos correlacionando los hallazgos
variables contextuales modeladas como atributos de contexto establecidos a partir del análisis de los procesos del modelo de
tales como tamaño de producto, duración, complejidad, tamaño referencia canónico y del modelo de contexto canónico.
del equipo de desarrollo, el conocimiento sobre el dominio de
aplicación, y la familiaridad con la tecnología utilizada, entre
otros. El modelo de contexto PUL define un conjunto
incompleto de dimensiones y atributos y valores de atributos
con el fin de que la organización extienda el modelo canónico.
Para configurar un nuevo contexto se deben seleccionar las
características propias, de la organización y/o del proyecto
específico, contenidas en el modelo de contexto. Existe
evidencia empírica en reportes y adaptaciones [8], [23] que
permitieron definir en forma preliminar este modelo de
contexto. Para la versión final es necesario lograr una
caracterización estructurada de adaptaciones, mediante
experiencias descritas en la literatura y la industria, tales como
las propuestas en [1], [2], [4], [6] [8], [23], [27] que permita
identificar las dimensiones, atributos y valores de atributos
adecuados. En la generación de procesos adaptados, el modelo
de contexto proporciona una o varias configuraciones
contextuales.
C. Definición del Proceso de Referencia Canónico de PUL Fig. 1. Modelo de Línea de UP- PUL
El Modelo canónico de la familia de procesos de PUL
contiene la definición de UP como el proceso de referencia y IV. VALIDACIÓN PRELIMINAR: DEFINICIÓN DE LA
un conjunto de diferentes variantes identificadas y DISCIPLINA DE IMPLEMENTACIÓN PUL-I
estructuradas coherentemente, y definidas conforme a SPEM
2.0. Con este modelo se pretende facilitar la reutilización y
evolución de los componentes de proceso, así como también En esta sección se muestra cómo se implementa la
facilitar la adaptación mediante puntos iniciales de variación y disciplina de implementación en el UP – denominada PUL-I
variantes. La creación completa de éste núcleo será obtenida de como una forma de validar conceptual y técnicamente la
[4], [18], [19], [20] [21], usando las técnicas [25], [26] para la propuesta de PUL. Esta disciplina ha sido modelada como
obtención del proceso núcleo y sus variantes. parte del proceso UP e incluye además, la incorporación de una
práctica no propia del proceso, considerando el caso típico al
El modelo de proceso canónico proporciona una versión considerar que las organizaciones que han adoptado el proceso
básica y extensible de la familia de procesos para desarrollo de unificado conservan aún sus prácticas nativas o incorporan
software basada en el UP y una guía de extensión a las prácticas de otros procesos.
necesidades de la organización.
A. Modelo de Contexto de PUL-I
D. Definición de la Estrategia de Adaptación Canónica del Se ha definido de forma preliminar las dimensiones,
PUL atributos y valores de atributos que resultan relevantes para la
La transformación de modelos es un proceso mediante el cual adaptación de ésta disciplina de acuerdo a parte de la
se hace la adaptación del modelo de proceso de referencia a un información de contexto manejada en [8], [23]. Los elementos
modelo de procesos adaptado de acuerdo a las características del modelo de contexto de la línea de procesos se ilustran en la
del proyecto y de la organización plasmadas en la fig. 2.
configuración del modelo de contexto. Para realizar la
transformación de modelos es necesario definir reglas de B. El modelo de referencia de PUL-I
adaptación, las cuales son definidas haciendo un análisis de
En esta sección se define de forma preliminar el proceso de
cómo se relacionan los atributos del modelo de contexto con
implementación de UP, ver fig. 3, es un proceso definido en
las variantes del modelo de proceso. En la ejecución de la
SPEM 2.0 el cual está basado en la especificación hecha por
adaptación la transformación de modelos recibe como entradas
[4] e incluye las siguientes tareas principales: Estructurar el C. El modelo de variabilidad de PUL-I y su alcance
Modelo de Implementación, Plan de integración, Implementar Para establecer la variabilidad del proceso se utiliza la
componentes, Integrar cada subsistema e Integrar el sistema. notación descrita en [23], ver figura 4. El primer elemento de la
notación hace referencia a que una entidad 4 del proceso es
opcional, la segunda notación indica que la entidad del proceso
es obligatoria y la tercera notación indica alternativas diferentes
para desarrollar la entidad del proceso.
4
Entidad del proceso: Hace referencia a cualquier elemento que haga
parte del proceso software como actividad, tarea, proceso.
El modelo de proceso con variabilidad resultante después Subsistema del proceso de implementación no harán parte del
del análisis de características del proceso de Implementación se proceso adaptado.
presenta en la fig. 6.
D. Reglas de adaptación
Para que la adaptación en la línea de procesos se realice de
manera automática es necesario definir reglas de adaptación
que permitan relacionar los elementos de la configuración del
modelo de contexto con las variantes del proceso. Para ello
debemos usar la información del alcance que relaciona los
valores de los atributos de contexto y las características de los
procesos. Las reglas de adaptación deben tomar la decisión
sobre cuales elementos del proceso harán parte del proceso
adaptado dependiendo de los valores que tome los atributos de
contexto. El código de la fig. 7, corresponde solo a una regla de
opcionalidad definida en ATL para la actividad Plan de
integración. De igual manera se definió la regla
correspondiente a la opcionalidad de la actividad Integrar
Cada Subsistema. La fig. 8 muestra el código de
implementación de la regla ATL que se ejecuta cuando es
necesario hacer una selección entre TDD o Diseñar e
Implementar Componente. La adaptación del proceso se realiza
mediante la configuración del modelo de contexto y la
ejecución de las reglas de adaptación. La tabla 1, muestra un
ejemplo de configuración de modelo de contexto. Como la Fig 6. Proceso de Implementación con variabilidad
configuración del modelo de contexto, especifica que el
atributo Tamaño del Proyecto tiene el valor “pequeño”,
entonces la actividad Plan de integración e integrar Cada