BPMN Vs Diagrama de Actividades Actualmente los procesos de negocio constituyen un recurso de gran importancia para las organizaciones que buscan mejorar continuamente su eficiencia y competitividad a través de la gestión sistemática de los mismos. Desde el punto de vista de la Ingeniería de Software, la descripción de los procesos de negocio es fundamental para las actividades de captura de requerimientos de software. Se pueden utilizar diferentes notaciones para el modelado de procesos de negocio. Entre las mas utilizadas y consideradas estándares de la industria se encuentran UML (Unified Modeling Language)[1], más específicamente el Diagrama de Actividad (UML-AD), Este diagrama nos permite representar un proceso de negocio modelando el flujo de trabajo entre las actividades que conforman dicho proceso.De similares características y para los mismos propósitos surge BPMN (Business Process Modelling Notation)[2], notación propuesta por BPMI (Business Process Management Initiative)[3]. A partir de estos estándares en uso es posible realizar una comparación entre las dos notaciones, analizando como ambas representan de igual forma diferentes patrones de flujo de trabajo. Para esta comparación utilizaremos los 5 patrones de tipo básico para el modelado de control de flujo. Además de estos tipos básicos existen otros conjuntos de patrones más complejos soportados por ambas notaciones, ypara los quese extiende esta comparación,como los de ramificaciones, sincronizaciones avanzadas, estructurales, de múltiples instancias y de cancelación. Secuencias Ambas notaciones modelan la secuencia de actividades en forma gráficamente similar, igualmente clara e intuitiva. Figura 1 –Representación de Secuencias en BPMN Figura2 –Representación de Secuencias en UML-AD Condicionales Para la representación grafica de condicionales ambas notaciones lo hacen de la misma forma utilizando un rombo como símbolo. Figura3 - Representación de Condicionales en BPMN Figura4 - Representación de Condicionales en UML-AD Uniones Simples Las uniones simples pueden representarse de dos formas en ambas notaciones. BPMN ofrece un mecanismo más sencillo para representar las uniones simples. El Diagrama de Actividades utiliza un rombo para las uniones simples, pero al ser de uso opcional no son utilizados con frecuencia. Figura5 –Primera forma de Representación de Uniones Simples en BPMN Figura6–Segunda forma de Representación de Uniones Simples en BPMN Figura7–Primera forma de Representación de Uniones Simples en UML-AD Figura8–Segunda forma de Representación de Uniones Simples en UML-AD Decisiones Paralelas BPMN ofrece 3 formas de representar decisiones paralelas. La es en la que el flujo se dirige de una actividad a otras sin ningún tipo de condición (Figura 9). La segunda forma es opcional, y consiste en la utilización de un símbolo especial de BPMN (figura 10). La tercera consiste en una “caja paralela”, en donde el flujo que se dirige de la actividad hacia la caja genera la ejecución en simultáneo de las actividades contenidas dentro de la caja. El mismo patrón de decisión puede representarse En el Diagrama de actividad con una barra horizontal o vertical (figura 11). Si bien las notaciones difieren en este caso el mecanismo continúa siendo similar en ambos diagramas. Figura9 –Primera forma de Representación de Decisiones Paralelas en BPMN Figura10 –Segunda forma de Representación de Decisiones Paralelas en BPMN Figura11 –Tercera forma de Representación de Decisiones Paralelas en BPMN Figura12 – Representación de Decisiones Paralelas en UML-AD Sincronización La sincronización consiste en la unión del flujo resultante de la decisión paralela, también con similares características de modelado para ambas notaciones. Figura13 – Primera forma de representación de Sincronizaciones en BPMN Figura14 – Segunda forma de representación de Sincronizaciones en BPMN Figura15 – Representación de Sincronizaciones en UML-AD Conclusiones Al examinar los diferentes patrones de flujo de trabajo que pueden modelarse con BPMN y UML-AD, nos encontramos con que ambas notaciones se adecuan a todos de igual forma, con la salvedad que UML-AD no cuenta con elementos gráficos para la representación del patrón de Enrutamiento Paralelo con Inter Llegada (Interleaved Parallel Routing), que sí se encuentra en BPMN. Ambas notaciones ofrecen soluciones bastante similares para la mayoría de los patrones de flujo de trabajo que soportan, esto es bastante lógico debido a que ambas fueron diseñadas para satisfacer las mismas necesidades de modelado, pero para diferentes tipos de usuarios destinatarios. En cuanto al modelado de los elementos, BPMN posee menos elementos,implementando variaciones de los mismos, lo que le permite manejar de forma más sencilla situaciones más complejas que pueden surgir en el proceso de modelado. Otra diferencia entre las notaciones es la terminología de algunos elementos (Ej. Evento de inicio en BPMN, nodo inicio para UMLAD). Podríamos encontrar más diferencias si tenemos en cuenta que además de modelar el flujo entre actividades, BPMN incorpora la característica de modelado del flujo de datos entre lasmismas. Adicionalmente,a pesar de que BPMN muestra el flujo de datos y la asociación de artefactos de datos con las actividades, no es de ningún modo un diagrama de flujo de datos. Referencias 1. OMG. Unified Modelling Language: Superstructure Version 2.0 (online), Julio 2005, http://www.omg.org 2. Object Management Group. Business Process Modeling Notation (BPMN). http://www.omg.org/technology/documents/br_pm_spec_catalog.htm, version 1.2, 3 January 2009. 3. http://www.bpmi.org/.