Javier Bermudez (jbermude@uc.cl) Para qu modelar? Para sacar el mejor provecho a los artefactos creados por el hombre
2 BPMN Historia Mayo 2004: BPMI Lanza propuesta BPMN 1.0 2005: BPMI se fusiona con OMG Febrero 2006: Versin final BPMN 1.0 Febrero 2008: BPMN 1.1 Julio 2008: Comienza discusin BPMN 2.0 Enero 2009: BPMN 1.2 Agosto 2009: Beta 1 de BPMN 2.0 Enero 2011: BPMN 2.0 3 Introduccin Por qu BPMN es importante? El mundo de los procesos de negocio ha cambiado dramticamente en los ltimos aos. Los procesos son multi-funcionales.
Un proceso de negocio atraviesa mltiples participantes y la coordinacin puede ser compleja. Hasta BPMN, no haba una tcnica de modelacin estndar que tratara estas situaciones.
BPMN fue desarrollado para proveer a los usuarios de una notacin gratis. Esto los beneficiar de manera similar a como UML estandariz el mundo de la ingeniera de software. 4 Modelacin BPMN define un Diagrama de Procesos de Negocio (BPD), basado en la tcnica de flowcharting (diagramacin de flujos) que ajusta a modelos grficos de operacin de procesos de negocio.
Un modelo de procesos de negocio ser una red de objetos grficos, correspondientes a actividades y controles de flujo que definen el orden de ejecucin de stas.
5 Comunicando un proceso La perspectiva del modelador: Qu quisiera comunicar uno con respecto a un proceso? Qu se hace En qu orden Quin hace qu
La perspectiva de la audiencia: Cun complejo es el mensaje que se quiere entregar? Alto nivel Detallado
A continuacin revisaremos los elementos que responden a la primera pregunta, agrupados segn la segunda pregunta
6 BPMN Core Elements Actividad: el concepto fundamental en BPMN BPMN especifica el orden y la responsabilidad de ejecucin de las actividades del proceso.
A travs del siguiente smbolo se representan las actividades: Actividad Nombre de la actividad (Verbo + sustantivo) 8 Actividad Ejemplo de un Taller
Sin embargo, nos falta especificar el orden de ejecucin de stas. 9 Flujo de secuencia: orden de ejecucin de las actividades A travs del flujo de secuencia se especifica qu actividad se debe ejecutar antes que otra. Se representa a travs de una flecha continua.
Implcitamente, cada instancia de ejecucin del proceso es una ficha que recorre el diagrama. 10 Pools y lanes : Organizaciones participantes y responsabilidad de ejecucin BPMN permite modelar el aspecto interno y externo de los procesos: Para representar las distintas organizaciones involucradas en el proceso (proveedores y clientes) se ocupan los pools.
11 Pools y lanes : Organizaciones participantes y responsabilidad de ejecucin Para representar los roles y asignar la ejecucin de las tareas se ocupan los lanes: carriles dentro de los pools.
12 Eventos: cosas que suceden Los procesos deben responder a cambios en el entorno: la llegada de un aviso, el paso del tiempo, etc. Estos se representan en BPMN con el concepto de evento. Los eventos afectan el flujo del proceso y tienen un causa (trigger gatillo) o un efecto (resultado). Hay tres tipos de eventos bsicos basado en cundo ellos afectan el flujo:
Inicio (start)
Intermedio (intermediate)
Fin (end)
13 Eventos ms comunes
Sin trigger Mensaje Tiempo Comportamiento genrico Llegada o envo automtico de mensaje Paso de un plazo de tiempo u ocurrencia de una fecha especfica Inicio: Slo pueden usarse al principio del diagrama Intermedios: se ocupan para especificar comportamientos durante la ejecucin Fin: Slo pueden usarse al final del flujo Captura (catch): la ejecucin se detiene a la espera de la ocurrencia del evento Ejecucin (throw): se ejecuta el comportamiento especificado mientras la ejecucin contina 14 Ejemplo de uso de eventos 15 Fuente: www.diveintobpm.org Este evento es de captura (catch), por lo que la ejecucin del proceso se detiene a la espera de la ocurrencia del evento. Este evento es de ejecucin (throw), por lo que se enva el mensaje y se contina el proceso Eventos: cosas que suceden 16 Gateways : secuencias de ejecucin complejas BPMN tambin incluye una forma de especificar flujos de secuencia complejos
Tipos de gateways o compuertas: Exclusiva
Basado en datos Inclusiva Paralela 17 Gateways : secuencias de ejecucin complejas 18 Flujo de mensaje: comunicacin entre pools Un Flujo de Mensaje se usa para mostrar la comunicacin entre dos participantes de procesos separados.
Se representa por una lnea segmentada con el extremo sin relleno
Representa el envo de informacin desde un participante a otro, en una actividad o evento de mensaje especfico.
19 Flujo de mensaje: comunicacin entre pools 20 Artefactos: elementos adicionales que enriquecen el diagrama Datos (Data object) Formularios Informacin Pueden ir incorporados en flujo de mensajes o como entrada y salida de tareas Grupo (Group) Agrupacin de actividades
Anotacin (Annotation) Comentarios
Nombre [Estado] Anotaciones de Texto permiten al Modelador agregar informacin adicional 21 Asociaciones: unin entre artefactos Una Asociacin se usa para asociar datos, textos u otros artefactos con flujos de objetos. Se representa por una lnea segmentada finamente con el extremo en punta.
Tambin se usan para mostrar las entradas y salidas de las actividades.
22 Artefactos: elementos adicionales que enriquecen el diagrama.
23 Ejemplo con formas bsicas 24 BPMN elementos bsicos 25 Preguntas interesantes Modelar un proceso de punta a punta en un solo diagrama? No, se recomienda dividir en trozos manejables y con significado propio. Utilice el concepto de Sub-Proceso Qu restricciones tiene el flujo de mensaje? No puede unir actividades dentro de un pool No tiene un significado de flujo, solo de intercambio de mensaje Puede haber una actividad compartida entre dos lanes? No, las actividades siempre estn asociadas a un ejecutor exclusivo.
26 Recomendaciones al modelar - pools
Cada pool debe contener un proceso independiente. 27 Recomendaciones al modelar - Eventos Los eventos deben tener un nombre diferente de las actividades. Sustantivo con descripcin del evento ocurrido.
Los eventos suceden fuera del control de los participantes del pool.
28 Recomendaciones al modelar - Decisiones Siempre sincronizar explcitamente los flujos paralelos.
Siempre ocupar un evento terminar cuando se requiere finalizar la ejecucin del proceso desde una rama paralela. 29 Recomendaciones al modelar - pasos No hay una receta establecida, sin embargo recomendamos seguir cierto orden: Crear los pools de acuerdo al diagrama SIPOC, considerando los Proveedores y Clientes del proceso. Crear el pool donde correr el proceso principal, con los lanes de acuerdo a los Ejecutores identificados en el RECI. Comenzar modelando slo en el pool de la organizacin, basndose en la ejecucin ideal y sin considerar los dems pools ni las interacciones con estos. (Opcional) Modelar los caminos ideales de los dems pools e incluir los mensajes entre estos y el pool de la organizacin. Modelar las rutas alternativas y de excepcin en el pool principal y luego en los dems, aadiendo las interacciones donde corresponda. 30 Referencias Web Oficial de BPMN www.bpmn.org Dive into BPM www.diveintobpm.org BizAgi www.bizagi.com