Modelado PDF
Modelado PDF
Modelado PDF
Modelado de
Procesos
Bizagi Suite
Tabla de Contenido
Patrones de modelado de procesos ............................................................................................ 4
WCP 3 - Sincronización............................................................................................................ 6
REFERENCIAS .................................................................................................................................. 52
WCP 1- Secuencia
Descripción
Este patrón es utilizado para modelar dependencia entre tareas, es decir, una tarea
no puede empezar hasta que otra no haya terminado (ejecución en secuencia) [2].
Ejemplo
No tendría sentido que una reclamación sea evaluada antes de ser reportada, o
pagar el dinero de la reclamación antes de evaluarla.
Implementación
Para modelar este patrón es necesario conectar las actividades (en el orden de
ejecución definido) utilizando conectores de flujo de secuencia como se muestra en
el diagrama 1.
Una división paralela es un punto del proceso donde un camino es dividido en dos
o más ramas paralelas las cuales son ejecutadas al mismo tiempo [2].
Ejemplo
Implementación
WCP 3 - Sincronización
Descripción
Ejemplo
El empleado no puede empezar a trabajar hasta que todas las actividades se hayan
completado.
Implementación
Para este ejemplo vamos a utilizar una Compuerta Paralela como elemento
convergente para lograr la unión de todas las ramas.
Ejemplo
Implementación
La unión simple es un punto del proceso donde dos o más caminos alternativos
convergen en uno solo. Es un supuesto de este patrón que los caminos alternativos
no son ejecutados en paralelo [2].
Ejemplo
Implementación
Ejemplo
Implementación
Ejemplo
Implementación
Para implementar el patrón se deben utilizar dos compuertas inclusivas, una como
elemento divergente (activar algunas de las ramas salientes) y otro como elemento
de sincronización o convergente (para esperar que todas las ramas activadas
lleguen a un determinado punto para continuar con el proceso).
El patrón de unión múltiple es usado para converger dos o más ramas en un solo
camino. Cada activación de una de las ramas entrantes resulta en la activación de
la siguiente actividad en el proceso [2].
Ejemplo
Implementación
El patrón utiliza una compuerta paralela para habilitar los dos caminos. Cada vez
que la actividad de uno de los caminos es terminada, la siguiente actividad, en este
caso Informar sobre Referencias, es ejecutada.
Este patrón describe un punto en el proceso donde se espera a que una de las
ramas entrantes haya sido completada antes de continuar con la siguiente actividad,
las otras ramas son omitidas después de ser completadas. Una vez todas las ramas
entrantes han sido completadas, el discriminador se reinicia [2].
Ejemplo
Implementación
Este patrón puede utilizar compuertas Paralelas o Inclusivas para dividir los
caminos. Para modelar el discriminador es necesario utilizar una Compuerta
Compleja la cual espera hasta que una de las dos ramas entrantes sea completada.
Ejemplo
Implementación
Esta compuerta puede utilizar una Compuerta Paralela o Inclusiva para dividir los
caminos. Para modelar la estructura parcial de unión se utiliza una Compuerta
Compleja la cual espera hasta que las dos ramas entrantes sean completadas.
El patrón representa la convergencia de dos o más ramas, que han sido activadas
antes en algún punto del proceso, en un solo camino. El proceso continua cuando
N de las M ramas habilitadas anteriormente han terminado.
La unión es reiniciada cuando todas las ramas entrantes han sido ejecutadas una
vez en la misma instancia del proceso. La ejecución de las ramas entrantes se
bloquea hasta que el elemento de unión ha sido reiniciado.
Ejemplo
Cuando el último de los jueces decida sobre la propuesta, será posible empezar a
estudiar una nueva.
Implementación
El patrón utiliza una compuerta Paralela o una compuerta Inclusiva para dividir la
rama entrante. Una compuerta compleja es utilizada para validar el número de
aprobaciones (N) necesarias para informar sobre la decisión.
Para bloquear las ramas entrantes hasta que la unión sea reiniciada, se utiliza un
Evento Condicional. El evento evalúa si hay alguna aprobación en progreso, y
bloqueará la entrada de nuevas propuestas hasta que todos los jueces hayan dado
su veredicto de la propuesta en curso.
El patrón describe la convergencia de dos o más ramas que han sido habilitadas en
un punto anterior del proceso en un solo camino. El control del flujo es pasado a la
siguiente actividad una vez N de las M ramas han sido activadas. La activación de
la unión cancela todas las ramas entrantes que no han sido terminadas.
Ejemplo
Implementación
El patrón puede utilizar una compuerta Paralela o una compuerta Inclusiva para
dividir la rama entrante. Una compuerta compleja es utilizada para validad el
número de aprobaciones (N) necesarias para informar sobre la decisión (para
continuar con el proceso).
Para bloquear las ramas entrantes hasta que la unión sea reiniciada se utiliza un
Evento Condicional. El evento evalúa si hay alguna aprobación en progreso, y
bloqueará la entrada de nuevas propuestas hasta N de los jueces hayan dado su
veredicto de la propuesta en curso.
Una vez las N de las M ramas necesarias han sido terminadas, un evento escalable
es lanzado para cancelar las tareas de aprobación pendientes.
El patrón de generalización de uniones describe como unir dos o más ramas que
han sido habilitadas en un punto anterior del proceso en un solo camino de salida.
A diferencia del patrón de sincronización, esté soporta situaciones donde uno o
más caminos entrantes reciben múltiples activaciones de una misma instancia del
proceso [2].
Ejemplo
El empleado no puede empezar a trabajar hasta que todas las actividades hayan
sido completadas.
Implementación
Para este ejemplo vamos a utilizar una Compuerta Paralela como elemento
convergente para lograr la unión de todas las ramas que fueron activadas
anteriormente.
Ejemplo
Implementación.
Este patrón puede ser modelado utilizando Eventos Condicionales. Estos eventos
son usados para coordinar la sincronización entre los caminos necesarios sin
necesidad de forzar la sincronización de todos los caminos.
Los eventos condicionales permiten al flujo del proceso continuar cuando las
actividades indicadas han sido terminadas.
El patrón describe la convergencia de dos o más ramas que han sido abiertas antes
en un solo camino. El proceso continúa cuando todas las ramas entrantes han sido
activadas o no es posible que alguna de ellas se active en el futuro [2].
Ejemplo
Implementación
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Una encuesta es enviada a 100 empleados. Cuando todos los
empleados hayan enviado sus resultados, el analista puede evaluar la información.
Implementación
Para implementar este patrón es necesario utilizar un sub proceso para crear las 100
instancias de la actividad Completar encuesta. En este caso, el sub proceso Enviar
Encuesta es instanciado 100 veces.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 100: Esto significa que el proceso debe ser instanciado 100
veces.
Condición MI= Ninguna. Esto quiere decir que no hay condición para el número de
instancias para el sub proceso.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo = Todo: El proceso continua cuando todas las instancias del sub
proceso han terminado.
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Una encuesta es enviada a 100 empleados. Una vez se responden todas
las encuestas, estas son evaluadas por el analista.
Implementación.
Para implementar este patrón es necesario utilizar un sub proceso para crear las 100
instancias de la actividad Completar encuesta. En este caso, el sub proceso Enviar
Encuesta es instanciado 100 veces.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 100: Esto significa que el proceso debe ser instanciado 100
veces.
Cantidad Final= 100: El sub proceso se considera como terminado cuando se hayan
completado todas (en este caso) las 100 instancias.
Condición MI= Ninguna. Esto quiere decir que no hay condición para el número de
instancias para el sub proceso.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo = Todo. El proceso continua una vez todas las instancias del
sub proceso han finalizado.
El patrón es utilizado para modelar actividades que han sido instanciadas mucha
veces en el proceso y no necesitan ser sincronizadas para que el flujo continúe. Este
patrón también es conocido como MultiCaminos sin sincronización o “Spawn of
facility”.
Ejemplo
Implementación
Para modelar este proceso es necesario utilizar un sub proceso que crea múltiples
instancias de una actividad. El sub proceso Sugerencias es habilitado para cada una
de las partes interesadas con el objetivo de que hagan sus comentarios. El proceso
continúa con su flujo normal cuando el sub proceso ha sido activado.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 15: Esto significa que el proceso debe ser instanciado 15 veces.
Suponga que existen 15 Stakeholders.
Cantidad Final= 15: El sub proceso se considera como terminado cuando se hayan
completado todas (en este caso) las 100 instancias.
Condición MI= Ninguna. Esto quiere decir que no hay condición para el número de
instancias para el sub proceso.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo = Ninguno. El proceso continúa cada vez que se finaliza una
instancia del sub proceso.
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Una encuesta es enviada a 100 empleados. Cuando todos los
empleados hayan enviado sus resultados, el analista puede evaluar la información.
Implementación
Para implementar este patrón es necesario utilizar un sub proceso para crear las 100
instancias de la actividad Completar encuesta. En este caso, el sub proceso Enviar
Encuesta es instanciado 100 veces.
Diagrama 19. Ejemplo del patrón Múltiples instancias con conocimiento a priori del número de ejecuciones en la etapa de
diseño.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 100: Esto significa que el proceso debe ser instanciado 100
veces.
Cantidad Final= 100: El sub proceso se considera como terminado cuando se hayan
completado todas (en este caso) las 100 instancias.
Condición MI= Ninguna. Esto quiere decir que no hay condición para el número de
instancias para el sub proceso.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo = Todo: El proceso continua cuando todas las instancias del sub
proceso han terminado.
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Un grupo de empleados es escogido de forma aleatoria para contestar
una encuesta. Cuando todas las encuestan han sido respondidas, el analista
comienza con la evaluación y análisis de ellas.
Implementación
Para modelar este patrón es necesario utilizar un sub proceso el cual crea las
múltiples instancias de una actividad. En este caso, el sub proceso Responder
Encuesta en instanciado tantas veces como empleados sean escogidos en la
actividad anterior.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Condición de Flujo = Todo: El proceso terminara cuando todas las instancias hayan
terminado.
Este patrón permite a una actividad ser instanciada muchas veces durante el
proceso. La cantidad de instancias no es conocida ni durante la etapa de diseño ni
en el tiempo de ejecución. Las actividades son ejecutadas al mismo tiempo, pero
mientras se están ejecutando, se pueden crear nuevas instancias de ellas. Es
necesario terminar todas las instancias para poder continuar con el flujo del
proceso.
Ejemplo
El equipo del proyecto realiza una reunión de comité para empezar el proyecto.
Durante la reunión se planeas varias actividades que se deben realizar
posteriormente. Sin embargo, una situación inesperada puede surgir y nuevas
actividades deben ser realizadas.
El equipo del proyecto puede crear nuevas actividades, de ser requerido, antes de
que todas las instancias hayan terminado.
Implementación
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Condición de Flujo = Todo: El proceso terminara cuando todas las instancias hayan
terminado.
Este patrón permite instanciar una actividad varias veces. El número de instancias
es conocido durante la fase de diseño o en el tiempo de ejecución. Las actividades
son ejecutadas de forma paralela y solo es necesario que terminen N de las M
(N<M) instancias creadas para continuar con
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Una encuesta es enviada a 100 empleados, el analista espera a que 60
de los 100 empleados envíen sus resultados para empezar con el análisis.
Implementación
Para implementar este patrón es necesario utilizar un sub proceso para crear las 100
instancias de la actividad Completar Encuesta. La compuerta compleja se utiliza para
controlar que al menos 60 encuestas han sido respondidas antes de continuar con
el proceso.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 100: Esto significa que el proceso debe ser instanciado 100
veces.
Cantidad Final= 100: El sub proceso se considera como terminado cuando se hayan
completado todas (en este caso) las 100 instancias.
Condición MI= Ninguna. Esto quiere decir que no hay condición para el número de
instancias para el sub proceso.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo =Ninguno: El proceso continúa cada vez que se finaliza una
instancia del sub proceso.
Ejemplo:
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. Una encuesta es enviada a 100 empleados, el analista espera a que 60
de los 100 empleados envíen sus resultados para empezar con el análisis. Las 40
encuestas restantes son canceladas, es decir no será posible que los 40 empleados
faltantes envíen sus resultados.
Implementación:
Para implementar este patrón es necesario utilizar un sub proceso para crear las 100
instancias de la actividad completar encuesta.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Cantidad de Inicio = 100: Esto significa que el proceso debe ser instanciado 100
veces.
Cantidad Final= 100: El sub proceso se considera como terminado cuando se hayan
completado 60 de las 100 instancias.
Orden MI = Paralelo: Las instancias del sub proceso serán ejecutadas en paralelo.
Condición de Flujo = Todo: El proceso continua cuando todas las instancias del sub
proceso han terminado.
La condición de terminación es validada cada vez que una instancia termina. Una
vez la condición ha sido evaluada como cierta, la siguiente tarea se activa aunque
existan instancias sin terminar, la terminación de las demás tareas es irrelevante y
luego de alcanzar la condición no se pueden crear nuevas instancias de las tareas
[1].
Ejemplo
Una compañía decide evaluar la percepción del ambiente de trabajo entre los
empleados. La encuesta es enviada a algunas personas. Es posible enviar nuevas
encuestas a otros empleados antes de que las encuestas ya enviadas hayan sido
respondidas.
El analista espera hasta que 60 encuestas hayan sido respondidas para poder
realizar la evaluación. Las demás encuestas pueden ser enviadas, pero no se tendrán
en cuenta.
Implementación
Para implementar el patrón es necesario utilizar un sub proceso para crear todas
las instancias necesarias. En este caso, el sub proceso Responder Encuesta es
instanciado tantas veces como sea necesario.
Para configurar el comportamiento del sub proceso para la condición que se desea,
es necesario definir las siguientes propiedades:
Condición de Flujo= Ninguno: El proceso continúa cada vez que una instancia es
terminada.
Ejemplo
Implementación
Ejemplo
El Jefe de Recursos Humanos estable que durante los procesos de selección los
aspirantes deben presentar tres pruebas de aptitud: una prueba psicológica, un test
de inteligencia y un test de conocimientos específicos.
Implementación
Para modelar el patrón se utiliza un sub proceso múltiple, el sub proceso solo
incluye una actividad. Para definir el orden en el cual se realizan las pruebas es
necesario establecer como propiedades del sub proceso los siguientes datos.
WCP 18 - Milestone
Descripción
Ejemplo
En una agencia de viajes es posible cambiar las fechas de las reservas de vuelos,
carros y hoteles mientras las facturas no hayan sido impresas.
Implementación
El proceso espera hasta que la sección crítica sea completada para permitir la
ejecución de otra sección crítica.
Ejemplo
Implementación
Una vez que el servidor ha sido actualizado, una compuerta exclusiva evalúa si se
necesitan más cambios para volver a habilitar las tareas críticas o si el proceso puede
terminar.
Ejemplo
Un estudiante debe presentar tres pruebas para ser admitido a la Universidad: una
prueba psicológica, una prueba de admisión y una de conocimientos generales.
Implementación
El patrón utiliza una compuerta Inclusiva para controla que una actividad debe ser
ejecutada en cada caso. La primera actividad indica cual es la prueba a realizar, la
compuerta inclusiva habilitada la actividad seleccionada y la compuerta exclusiva
controla que todas las actividades han sido realizadas para continuar con el flujo
normal del proceso.
Ejemplo
Durante una solicitud de viajes es necesario reservar varias cosas, por ejemplo,
hotel, carro, vuelo y entregar un adelanto al empleado. El empleado debe poder
cancelar en viaje antes de terminar las reservas.
Implementación
El patrón describe la eliminación de una instancia completa del proceso. Esto incluye
tareas que están siendo ejecutadas y las tareas que todavía no lo han sido [2].
Ejemplo
Implementación
Ejemplo
Implementación
Bizagi soporta este patrón a través de un sub proceso transaccional. El sub proceso
Transaccional permite la interrupción de las actividades y continuar por un flujo
especial a través de un evento intermedio de error.
Ejemplo
Implementación
Implementación
Patrones de Iteraciones
WCP 26 – Ciclos Arbitrarios
Descripción
El patrón modela un punto en el flujo del proceso donde una o más actividades son
realizadas varias veces.
Ejemplo
Implementación
El patrón utiliza una compuerta exclusive que controla el número de veces que se
ha aprobado el entregable, cuando se cumpla la condición (número de
aprobaciones requeridas) el proceso continúa por el flujo normal.
Ejemplo
Implementación
WCP 22 - Recursividad
Descripción
Implementación
Patrones de Terminación
Los patrones de terminación son utilizados para determinar cuándo las instancias
de un proceso deben terminar de acuerdo a las condiciones del negocio.
Ejemplo
Implementación
Note que el patrón utiliza evento al final de los caminos que deben ser completados.
El proceso se considera terminado cuando todos los eventos de fin son alcanzados.
Ejemplo
Implementación
Note que el patrón utiliza Eventos de fin Terminal al final de cada una de las ramas
habilitadas. El proceso se considera como terminado cuando alguno de los eventos
es alcanzado.
El patrón permite que una actividad sea activada por otra parte del proceso o por
un proceso externo. Esta activación es transitoria ya que si la señal o mensaje para
activar no es recibida por una actividad de inmediato, esta se pierde [1].
Ejemplo
El proceso no puede continuar con la actividad de Pago de factura hasta que los
productos hayan sido entregados e inspeccionados por la empresa.
Implementación
En este caso el proceso espera el mensaje para poder continuar. Para más
información sobre configuración de eventos de mensaje visite:
http://help.bizagi.com/bpmsuite/es/index.html?bpmn_colaborativo.htm
El patrón permite que una actividad sea activada por otra parte del proceso o por
un proceso externo. La activación es persistente ya que es guardada hasta que el
flujo que debe recibirla llegue al punto de recepción de la señal [1].
Ejemplo
Una empresa que produce tapicería para los asientos de carros deportivos. La
tapicería es producida de acuerdo a las especificaciones y preferencias de los
clientes, cuando estas son definidas se envía una señal a la línea de montaje para
continuar con el proceso de producción de los automóviles.
Implementación
REFERENCIAS
[1] Nick Russell, Arthur H.M. Ter Hofstede, “Workflow Control-Flow Patterns, A
Revised View”.BPM Group, Queensland University Of Technology, Australia. 2006.
[2] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski and A.P. Barros,
“Workflow Patterns”, Department of Technology Management, Eindhoven
University of Technology, Australia, 2002.