Professional Documents
Culture Documents
4, 2010
no están completas [22]. Uno de los principales automatizar el mayor número posible de
problemas por lo que esto viene ocasionado es actividades de gestión del proceso software y para
porque la especificación de los requisitos no da mejorar la alineación de los productos con el
lugar a una representación exacta del negocio y negocio del cliente.
sus necesidades [20]. Técnicas como la
especificación de los Casos de Uso, las Historias 3.1. Automatizando la gestión de procesos
de Usuario o los Goals, permiten identificar y
detallar los requisitos que cumplen dichas Para poder automatizar las actividades de gestión
necesidades. Sin embargo, no facilitan la es necesario saber el estado exacto de cada
identificación y especificación de las relaciones proceso, qué tareas se están haciendo y cuáles son
entre requisitos o entre éstos y el entorno, las que se deben realizar a continuación.
perdiendo parte de la información de dichas Estas necesidades son en parte ya cubiertas
necesidades y del negocio [19]. por los BPMS. Los BPMS son motores que
Con el objetivo de minimizar este problema, ejecutan procesos de negocio, normalmente
diversas investigaciones han definido métodos que modelados en BPMN o BPEL, para orquestar y
permiten deducir los requisitos a partir del realizar las tareas definidas en ellos.
negocio. Así, en [18] se indica cómo obtener Por lo tanto, se decidió utilizar estos BPMS
diagramas de casos de uso a partir de procesos de para ejecutar modelos de procesos software y, así,
negocio. En [9] indican cómo controlar el nivel de cubrir las necesidades anteriores. Para ello, tanto
detalle de los casos de uso. En [23] se definen la notación BPMN utilizada para modelar los
algunos patrones para identificar las relaciones procesos software, como el propio BPMS,
entre casos de uso. No obstante, estos trabajos no tuvieron que ser adaptados para soportar las
permiten identificar todas las posibles relaciones características específicas de la ejecución de estos
[4], ya que no contemplan el tratamiento de casos procesos. Así, en primer lugar se decidió utilizar
de uso en ramas paralelas, sub-procesos, flujos de un BPMS libre, Apache ODE [1], para poder
excepción, etc. adaptarlo a éstas características sin necesidad de
La falta de esta información implica que los tener que desarrollar uno nuevo. En segundo
requisitos sean desarrollados sin tener en cuenta lugar, se añadieron nuevas funcionalidades al
estas relaciones. Una consecuencia negativa de BPMS y nuevos atributos a la especificación
esto es el aumento de la dificultad de integración BPMN para incluir información específica del
entre requisitos. O lo que es peor, del sistema proceso software. Algunos de estos atributos son:
desarrollado con el resto de sistemas y procesos
del negocio. Esta falta de integración podría Artefactos y modelos que deben ser generados
conllevar una disminución de la eficacia del como resultados de cada tarea.
sistema o incluso la necesidad su posterior
Herramientas o funcionalidades que deben ser
modificación para mejorar dicha integración.
utilizadas para completar cada tarea.
Esto pone de manifiesto la necesidad de
Actividad automática o manual. Las
métodos que permitan identificar las relaciones
actividades automáticas son aquéllas que
entre requisitos y entre requisitos y el entorno.
pueden ser completadas sin necesidad de
Con este objetivo, se propone el uso de una serie
intervención de los usuarios. Las actividades
de patrones que, aplicados sobre los procesos de
manuales son aquéllas en las que al menos un
negocio, facilitan la identificación de esta
usuario debe trabajar.
información. De esta forma se contribuye a
mejorar la alineación de los sistemas con el
A pesar de estas adaptaciones, el
negocio, aumentando la eficacia de ambos.
funcionamiento de este BPMS es similar al de
cualquier otro motor de procesos. Así, cuando el
3. Uso de técnicas BPM para mejorar la jefe de un proyecto debe decidir qué proceso
gestión y alineación de procesos software seguir, lo modela en BPMN o lo elige de
entre los ya modelados. A continuación, se
A continuación se detallan las técnicas BPM despliega una nueva instancia del proceso elegido
(Business Process Management) utilizadas para en el BPMS. A partir de dicha instancia, el
cierta adaptabilidad de los mismos con respecto a La primera línea de investigación está
la situación de los proyectos software. enfocada hacia la agilización de la gestión de los
procesos software. Con este fin, se ha adaptado un
4.2. Alineación sistemas IT - PN BPMS para que sea capaz de ejecutar procesos
software. Esta ejecución permite automatizar un
A medida que las empresas han puesto un mayor gran número de actividades, tales como el control
énfasis en la necesidad de sistemas IT alineados de las iteraciones, el control de cambios de estado
con su negocio, el número de investigaciones y o el control de los casos de uso. De esta forma, se
perspectivas con las que atacar este objetivo se ha reduce el esfuerzo dedicado a la gestión de
incrementado. procesos, permitiendo a los gestores centrarse en
Así, en [9] indican una serie de mapeos para actividades que proporcionan más valor al cliente.
obtener actores, casos de uso o, incluso, algunas Como trabajo futuro, estamos desarrollando
relaciones entre casos de uso a partir de procesos nuevas funcionalidades que incrementan el
de negocio modelados con Diagramas de número de actividades automatizadas, así como la
Actividad de UML. Sin embargo, sólo indican capacidad de adaptación de los procesos software
cómo obtener relaciones de tipo “extend”. No a las características del producto que se desarrolla.
permiten capturar todas las relaciones existentes La segunda línea de trabajo se orienta hacia la
(como las relaciones de tipo “include”, casos de mejora de la alineación de los sistemas IT con los
uso en sub-procesos, flujos de excepción, etc.). procesos de negocio del cliente. Como resultado
En [23], extienden los mapeos indicados en de este trabajo, se han definido una serie de
[9] añadiendo tres patrones para la identificación patrones que permiten identificar los casos de uso
de las relaciones entre casos de uso. No obstante, de un sistema, junto con las relaciones entre éstos,
siguen sin contemplar todas las posibles opciones a partir de sus procesos de negocio. Por ejemplo,
para la identificación de las relaciones (como se han definido patrones para identificar
pueden ser, casos de uso en ramas paralelas, sub- relaciones de tipo extends e include o para el
procesos, flujos de excepción, etc.). tratamiento de subprocesos. Estos patrones
Por último, en [18] extienden los diagramas mejoran la alineación IT- Procesos de negocio,
BPMN y los Diagramas de Actividad de UML mejorando el rendimiento e integración de dichos
para que puedan representar procesos de negocios sistemas con el negocio. Como trabajo futuro,
con conceptos de seguridad. Además, presentan estamos definiendo nuevos patrones que permitan
una serie de transformaciones en QVT y reglas identificar un mayor conocimiento del negocio.
para obtener los casos de uso, y los casos de uso Además, se pretende extender un lenguaje de
que proporciona la seguridad, a partir de los definición de requisitos para que dicha
procesos de negocio. Sin embargo, no se indica información pueda ser modelada y mantenida a lo
cómo obtener las relaciones entre casos de uso. largo de todo el desarrollo.
A diferencia de los trabajos mencionados, la Finalmente, se pretende utilizar la información
segunda línea de investigación presentada en este extraída del negocio para facilitar el desarrollo de
artículo define una serie de patrones que no sólo sistemas IT. En concreto, de los sistemas
facilitan la identificación de casos de uso, sino que desarrollados con una arquitectura multicapa y
además permiten identificar las relaciones entre utilizando frameworks de desarrollo. La
éstos o de éstos con el entorno, a partir de construcción de este tipo de aplicaciones requiere
procesos de negocio. de un gran conocimiento. Por ello, se están
definiendo reglas que, reutilizando dicha
información, faciliten su implementación.
5. Estado actual y trabajos futuros