bpmn-bayard.blogspot

bpmn-bayard.blogspot
(Business Process Diagram, BPD)

BPMN (Business Process Model And Notation)

"La notación para el modelado de procesos de negocio (Business Process Model And Notation – BPMN por sus siglas en ingles), es una forma estándar y gráfica de modelar procesos de negocios.

La meta fundamental de BPMN es proporcionar una notación estándar que sea fácilmente comprensible por todos los Stakeholders.

Provee una notación simple para los flujos, independiente del entorno de implementación. La notación se sustenta en un marco riguroso que facilita trasladar los modelos de nivel de negocio hacia modelos ejecutables que las suites de BPM y motores Workflow puedan comprender. En los últimos años, BPMN ha sido ampliamente adoptado por los productos relacionados a la Gestión de Procesos de Negocios (BPM - Business Process Management), tanto para los fabricantes de herramientas de Análisis de Procesos de Negocios (BPA - Business Process Analysis), como por los de herramientas de Modelado y Suites completas de BPM."

Fuente: Guía de Referencia y Modelado BPMN - Stephen A. White, phd - Derek Miers

Índice

1.  INTRODUCCIÓN A BPMN
    1.1. ¿QUÉ ES EL BPMN?
    1.2. ¿QUÉ ES EL BPD?
2.  PROCESO DE NEGOCIO
3.  ¿POR QUÉ ES IMPORTANTE MODELAR CON BPMN?
4.  ESTRUCTURACIÓN DE NIVELES
    4.1. BPMN FRAMEWORK
5.  HISTORIA DEL BPMN
6.  COMPORTAMIENTO DEL MODELO BPMN
7.  CONCEPTO TOKEN
8.  FUNDAMENTOS DE BPMN
    8.1. OBJETOS DE FLUJO
                 8.1.1. Actividad
                 8.1.2. Evento
                 8.1.3. Compuerta
    8.2. OBJETOS DE CONEXIÓN
                 8.2.1. Línea de Secuencia
                 8.2.2. Línea de Mensaje
                 8.2.3. Asociación
                 8.2.4. Asociación de Datos
    8.3. CANALES O SWIMLANE
                 8.3.1. Pools
                 8.3.2. Lanes
    8.4. ARTEFACTOS
                 8.4.1. Objetos de Datos
                 8.4.2. Anotaciones
                 8.4.3. Grupos
9. MODELO DE PROCESOS
    9.1. Orquestación
    9.2. Coreografía
    9.3. Colaboración
                 9.3.1. Conversación
10. BUENAS PRÁCTICAS EN BPMN
11. COMPARACIÓN DE NOTACIONES
    11.1. UML & EPC y BPMN
    11.2. COMPARACIÓN DE LOS ESTÁNDARES
12. GLOSARIO EN BPMN
13. EJERCICIOS
14. REFERENCIAS

10. BUENAS PRÁCTICAS EN BPMN

Este apéndice recopila de diferentes fuentes las mejores prácticas:

Mejor Práctica:
Envío y Recepción de MensajesEl modelador podría escoger entre usar solamente Tareas de Enviar y Recibir, o usar los Eventos Intermedios de Mensaje de lanzar y capturar. La Buena Práctica es evitar mezclar ambas aproximaciones en el mismo modelo.

Hay ventajas y desventajas de ambos enfoques. Los Eventos Intermedio de Mensaje producen el mismo resultado pero tienen la ventaja de ser gráficamente distinguibles (mientras que las tareas no lo son). Por otra parte, las Tareas, usada en lugar de los Eventos pueden permitir que el modelador asigne recursos y simule costos.


Mejor Práctica:
Utilización de Eventos de InicioEn general, recomendamos que los modeladores usen eventos de Inicio y Fin.


Mejor Práctica:
Configuración de TemporizadoresEvitar el uso de condiciones temporales específicas de fecha y hora ya que impiden la reusabilidad del proceso.


Mejor Práctica:
Usar Condiciones PredeterminadasEl uso de condiciones predeterminadas, o condiciones por defecto, en un Flujo de Secuencia de salida es una forma de que el modelador se asegure que el Proceso no quede trancado en un Gateway Exclusivo. Esto genera un Flujo de Salida Predeterminado. El camino predeterminado es escogido cuando las condiciones de todos los demás Flujos de Secuencia de salida resultan ser falsas.



 

Ejemplo de Flujo de Salida Predeterminado


Mejor Práctica:
Usar Eventos Intermedios Temporizados con Gateway de EventosUna forma para que el modelador se asegure que el Proceso no quede trancado en Gateway Exclusivo Basado en Eventos es usar un Evento Intermedio Temporizado como una de las opciones para el Gateway.


Mejor Práctica:
Asegurar que el número de Flujos de Secuencia de entrada es correcto para un Gateway ParaleloLa clave es revisar minuciosamente, asegurando que los Gateways Paralelos que se unen tengan el número correcto de Flujos de Secuencia de entrada – especialmente cuando se usan junto con otros Gateways. A modo de guía, los modeladores deben hacer coincidir los Gateways Paralelos que se fusionan y dividen (si el comportamiento deseado es de integrarlos nuevamente).


Mejor Práctica:
Usar una Condición Predeterminada en un Gateway InclusivoUna forma para que el modelador se asegure que el Proceso no quede atascado en un Gateways Inclusivo es la condición predeterminada para los Flujos de Secuencia de salida. Este Flujo de Salida Predeterminado siempre se evalúa verdadero cuando todos las demás condiciones de los Flujos de Salida se resultan ser falsas.




Ejemplo de Flujo de Secuencia Predeterminado


Mejor Práctica:
Usar siempre Gateways Inclusivos de a paresUna forma de evitar comportamientos inesperados es crear modelos donde los Gateways Inclusivos Divisores son seguidos por Gateways Inclusivos Unificadores y la cantidad de Flujos de Secuencia debe coincidir entre ellos.


Mejor Práctica:
Usar Anotaciones de Texto en los Gateways ComplejosYa que el comportamiento de los Gateways Complejos es distinto para cada Gateways, se recomienda usar Anotaciones de Texto para explicar al lector del diagrama el comportamiento que se ha configurado para el Gateway.


Mejor Práctica:
Usar un Flujo de Secuencia por Defecto o Estándares cuando se usan Flujo de Secuencia CondicionalesUna forma de que el modelador se asegure que el Proceso no quede atascado luego de una Actividad es usar Flujos de Secuencia por Defecto o Estándares cuando se usan Flujos de Secuencia Condicional.


Mejor Práctica:
No asociar un Objeto de Datos con un Flujo de Secuencia si el Flujo de Secuencia está conectado a un GatewayLa aplicación de inputs y outputs se puede confundir fácilmente cuando se usan uno o más Gateways para Flujos de Secuencia que están asociados con Objetos de Datos.


Mejor Práctica:
Modelar InputsetsSi hay más de un Inputset, elegir un punto en la frontera de una Actividad y hacer que todas las entradas que pertenezcan a ese Inputset se conecten a ese punto. Las entradas para los otros Inputsets se deben conectar cada una a puntos separados en la frontera de la Actividad. El mismo patrón se debe usar para el modelado de los outputsets.