BPMN y diagrama de actividad UML
Los dos dibujan trabajo en secuencia, los dos usan un rombo para una decisión y, en tramos largos de cualquier proceso, los dos diagramas son la misma imagen. Cuatro cosas los separan, y solo una es de notación.
8 min de lecturaBPMN 2.07 de 7
La respuesta corta
- Las dos notaciones mueven un testigo por el flujo, así que la mitad de control de flujo de ambos diagramas es una correspondencia casi exacta.
- La divergencia real es la calle: BPMN prohíbe que el flujo de secuencia cruce el borde de un participante, y las particiones UML no tienen esa regla.
- Los eventos de borde hacen de la interrupción una marca de primera clase en BPMN; UML expresa la misma idea con regiones interrumpibles, que casi nadie dibuja.
- Solo BPMN tiene historia de ejecución. Si el diagrama va a un motor de procesos, la elección ya está hecha por ti.
01La misma imagen, dibujada dos veces#
Empecemos por lo que no está en disputa. Las dos notaciones describen un testigo que viaja por un flujo: sale de un inicio, atraviesa trozos de trabajo, se divide en una rama, espera en una unión y acaba deteniéndose. Ese modelo procede del mismo sitio en ambos casos, y por eso los dos diagramas de un proceso de aprobación sencillo son reconociblemente el mismo dibujo con distinto mobiliario.
| Elemento | Notación | Qué significa |
|---|---|---|
| Una unidad de trabajo | Rectángulo redondeado en ambas | Una tarea BPMN y una acción UML son la misma idea. BPMN añade una marca para el tipo de trabajo - de usuario, de servicio, manual - que UML deja al nombre. |
| Una rama exclusiva | Rombo en ambas | BPMN le dibuja una X dentro y UML lo deja vacío, pero la semántica coincide: se toma exactamente un camino de salida, y las condiciones van en las aristas. |
| Paralelismo | Rombo con un más, o una barra gruesa | La compuerta paralela de BPMN y las barras de bifurcación y unión de UML significan lo mismo. Es la única diferencia de forma con la que un lector tropieza de verdad. |
| El final | Círculo grueso, o diana rellena | Ambas distinguen "este camino ha terminado" de "todo el proceso ha terminado", y en las dos notaciones esa distinción es la que se falla. |
Si tu proceso es una recta con dos decisiones, la comparación acaba aquí y deberías dibujar la que tus lectores ya conocen. Las diferencias de abajo solo empiezan a morder cuando entran en escena participantes, interrupciones o automatización, que es, todo hay que decirlo, la mayoría de los procesos reales.
02Dónde divergen de verdad#
1. La calle es una regla, no una etiqueta. Es la diferencia que más importa y de la que menos se repara. Una partición de actividad UML dice quién ejecuta una acción y nada más, así que el flujo de control cruza sus bordes con la misma libertad que cualquier otra cosa. Una calle de BPMN es un participante enteramente aparte, con su propio proceso, y BPMN prohíbe que el flujo de secuencia la cruce: la interacción entre calles tiene que ser un flujo de mensaje. Esa sola regla explica que un diagrama BPMN de dos organizaciones sea una afirmación sobre su independencia, mientras que el equivalente UML es una afirmación sobre reparto de roles.
2. La interrupción es de primera clase en BPMN. Adjunta un evento de borde a una tarea y habrás dicho, con una sola marca, que ese trabajo puede cortarse por un temporizador, un error o un mensaje entrante, y si el camino original continúa después. UML puede expresar lo mismo con una región de actividad interrumpible y una acción de aceptación de evento, pero la construcción se enseña poco, se dibuja poco y se lee bien pocas veces. En la práctica, si el proceso está lleno de escalados y plazos, BPMN lo dibuja con un tercio de la tinta. El vocabulario de eventos es la mayor parte de lo que estás comprando.
3. UML vive dentro de un modelo mayor. Un diagrama de actividad comparte su modelo con el diagrama de clases de al lado, así que una acción puede consumir un objeto de un tipo definido en otro sitio y una herramienta puede comprobar que ese tipo existe. BPMN tiene objetos de datos, pero son locales al proceso por diseño y no llevan detrás nada parecido a un modelo de clases. Si la descripción del proceso tiene que cuadrar con un diseño de sistema, ese vocabulario compartido vale más que cualquier función de notación.
4. Solo BPMN es ejecutable. BPMN 2.0 define una serialización XML que los motores de workflow consumen directamente, y por eso el mismo fichero puede ser una imagen para el negocio y un artefacto de despliegue para ingeniería. UML tiene fUML, un subconjunto ejecutable con semántica definida, y casi ningún motor que lo acepte. Trátalo como la única restricción dura de la lista: si hay un motor al final de la cadena, la notación es BPMN y el resto de este artículo es contexto.
03Cuál dibujar#
La decisión casi siempre la toma el lector, no el proceso. Las dos notaciones pueden expresar cualquier proceso que vayas a dibujar; solo una la leerán de un vistazo las personas que tienen que aprobarlo.
Úsalo cuando
- Los lectores son gente de negocio, y más aún si una consultora de procesos o un curso de análisis de negocio ya les ha enseñado BPMN.
- El proceso cruza fronteras de organización y su independencia es parte de lo que se quiere decir.
- Temporizadores, escalados, cancelaciones e interrupciones disparadas por mensaje son la sustancia del proceso.
- El diagrama va a un motor de procesos, ahora o con verosimilitud más adelante.
Usa otra cosa cuando
- El proceso es interno a un sistema y los lectores son ingenieros que ya leen UML.
- Los pasos tienen que cuadrar con tipos, operaciones o componentes definidos en el mismo modelo.
- El diagrama es una de una docena de vistas de un sistema y la coherencia entre ellas pesa más que la soltura al leerlo.
- Necesitas el conjunto en un fichero de modelo intercambiable y no un proceso cada vez.
Donde el público es de verdad mixto - y en un proyecto de cualquier tamaño suele serlo - dibuja el proceso una vez en BPMN para quienes son sus dueños y reserva el diagrama de actividad para las partes del flujo que son de verdad algoritmo y no proceso. Ese reparto va con el público en vez de contra él, y se defiende en revisión mucho mejor que un único diagrama que media sala no puede leer.
04Pasar de una a otra#
Las conversiones en ambos sentidos son rutina, y la manera honrada de hacer una es decidir de antemano qué estás dispuesto a perder. De BPMN a UML el control de flujo se traslada casi a la perfección: las tareas pasan a acciones, las compuertas exclusivas a nodos de decisión y de fusión, las paralelas a bifurcaciones y uniones, y las reglas de las compuertas se corresponden una a una. Lo que entregas es todo lo relativo a participantes y eventos.
En sentido contrario las pérdidas son menores, pero lo que se añade es trabajo: BPMN querrá un evento de inicio, un evento de fin y una calle por cada actor que habías modelado como partición, y se negará a dejar que el flujo de secuencia cruce esas calles. Esa negativa suele ser donde el ejercicio se paga solo, porque fuerza una pregunta que el diagrama de actividad te dejaba esquivar: ¿esto es un proceso o son dos?
Vayas en el sentido que vayas, lo caro es el redibujo, y eso es justo lo que elimina una herramienta con un modelo detrás de las imágenes: deja a los participantes y al trabajo como elementos del modelo y la segunda vista deja de ser un segundo dibujo. Si prefieres verlo antes que leerlo, la plantilla BPMN de partida abre un proceso con calles y carriles y los eventos ya colocados, y la demo de quince segundos devuelve un fichero real al terminar.
En una línea cada uno
- 01La mitad de control de flujo de ambas notaciones es en la práctica el mismo diagrama; no elijas por las formas.
- 02Una calle de BPMN prohíbe que el flujo de secuencia cruce su borde. Una partición UML no. Esa es la diferencia más honda entre las dos.
- 03Los eventos de borde hacen a BPMN mucho más barato para procesos llenos de plazos, escalados y cancelaciones.
- 04Un diagrama de actividad vale más cuando el proceso tiene que concordar con un modelo de clases contiguo.
- 05Si lo tiene que ejecutar un motor, la respuesta es BPMN y nada más de esta lista se aplica.
05Preguntas frecuentes#
¿Puede un motor de procesos ejecutar un diagrama de actividad UML?
No como ejecuta un proceso BPMN. Existe un subconjunto ejecutable de UML llamado fUML, con semántica definida, pero casi ningún motor de workflow comercial lo admite como destino de despliegue, mientras que el XML de BPMN 2.0 lo leen directamente motores como Camunda, Flowable o Zeebe. Si el objetivo es ejecutar, dalo por resuelto y no por preferencia.
¿Significan las calles de BPMN lo mismo que las particiones UML?
No, y aquí es donde tropieza la gente. Una partición UML solo dice quién ejecuta una acción, y el flujo de control cruza particiones sin restricción. Una calle de BPMN es un participante aparte con su propio proceso, y el flujo de secuencia no puede cruzar su borde en absoluto: solo puede hacerlo el flujo de mensaje. Una calle es por tanto una afirmación mucho más fuerte que un simple carril.
¿Se puede convertir un proceso BPMN en un diagrama de actividad UML?
El esqueleto de control de flujo se convierte limpiamente: las tareas pasan a acciones, las compuertas exclusivas a nodos de decisión y las paralelas a barras de bifurcación y unión. Lo que no sobrevive es todo lo que BPMN dice de participantes y eventos: las calles se hunden en particiones, los flujos de mensaje pasan a ser aristas normales y los eventos de borde no tienen equivalente directo alguno.
¿Qué notación esperan ver los analistas de negocio?
BPMN, en casi toda organización que tenga función de procesos. Es la notación que enseñan los cursos de análisis de negocio y en la que entregan las consultoras de procesos, así que llega ya legible. Un diagrama de actividad UML suele ser comprensible para esas mismas personas en esa misma reunión, pero se lee como un artefacto de ingeniería y no como un documento de proceso.
En esta serie
- 01Qué es BPMN
- 02Eventos
- 03Compuertas
- 04Ejemplos BPMN
- 05Dibujar un BPMN
- 06Símbolos BPMN
- 07BPMN o diagrama de actividad
Lecturas relacionadas
Fundamentos
Diagramas de comportamiento
Práctica del modelado
Referencia de notación
Diagramas de comportamiento
Práctica del modelado