BPMN Curso v2

83
Introducción a la Notación BPMN 1

description

Metodologia BPMN 2.0

Transcript of BPMN Curso v2

Page 1: BPMN Curso v2

Introducción a la Notación BPMN

1

Page 2: BPMN Curso v2

• Introducción• Eventos (Events)• Gateways (Decisiones)• Actividades (Activities)• Patrones (Patterns)• Conclusiones

2

Agenda

Page 3: BPMN Curso v2

Objetivos de Aprendizaje

Al finalizar este tema, usted estará en capacidad de:

1. Definir y describir los elementos básicos de la notación BPMN.

3

Page 4: BPMN Curso v2

IntroducciónActividades (Activities)Eventos (Events)Gateways (Decisiones)

4

Page 5: BPMN Curso v2

Introducción

1.Objetos de

Flujo

3.Swinlanes (carriles)

4.Artefactos

2.Objetos de Conexión

Elementos Básicos de BPMN

Page 6: BPMN Curso v2

Los objetos de flujo son los principales objetos que expresan la semántica de un modelo de proceso

Eventos

Gateways

Actividades

Elementos Básicos: Objetos de Flujo

Page 7: BPMN Curso v2

Los objetos de conexión son usados para describir como interactúan los objetos de flujo.

Flujo de secuencias:

Flujo de Mensaje:

Asociación:

Elementos Básicos: Objetos de Conexión

Sequence Flow

Conditional Flow

Default Flow

Page 8: BPMN Curso v2

Flujos vs. ProcesosEl flujo del proceso define como ocurre una secuencia de actividades desde la perspectiva de un participante.

El flujo de datos define como la información es intercambiada entre participantes

Elementos Básicos: Objetos de Conexión

Page 9: BPMN Curso v2

Elementos Básicos: Pools (Participantes)

Participantes es Cualquier recurso

involucrado en un proceso

3 tipos de participantesSistemaHumanoProceso

Representado por un PoolNombrar el Pool como el participanteDejar un Pool para representar el proceso que se esta documentandoAl menos un Pool para representar un sistema o humano.

Ejecutable vs. No Ejecutable

Page 10: BPMN Curso v2

Los Artefactos son usados para proveer información adicional acerca del proceso:

Objetos de Datos:

Grupos:

Anotaciones:

Elementos Básicos: Artefactos

Anotaciones de Texto permiten al Modelador agregar información adicional

Page 11: BPMN Curso v2

IntroducciónActivities (Actividades)EventosGateways (Decisiones)

11

Page 12: BPMN Curso v2

Una Actividad es una unidad de trabajo a realizar. Podría ser una

tarea, un proceso o un sub-proceso.

BPMN define dos tipos principales de actividades:

Una Tarea es una actividad atómica que se incluye dentro de un

proceso

Un Sub-proceso es un proceso que se incluye dentro de otro

proceso

Actividades: Definición

Page 13: BPMN Curso v2

Las marcas son definidas para especificar semánticas adicionales,

tales como loops

Actividades: Marcas en Actividades

Page 14: BPMN Curso v2

Actividades: Loops Secuenciales

http://diveintobpm.org/index.jsp

Page 15: BPMN Curso v2

Actividades: Loops Paralelos

http://diveintobpm.org/index.jsp

Page 16: BPMN Curso v2

IntroducciónActividades (Activities)Eventos (Events)Gateways (Decisiones)Patrones (Patterns)

16

Page 17: BPMN Curso v2

Un Evento es algo que sucede durante la ejecución de un proceso de

negocio el cual afecta la ejecución del flujo

Existen tres tipos de eventos:

Eventos de Inicio

Eventos Intermedios

Eventos de fin

Eventos

Page 18: BPMN Curso v2

Un Evento de inicio indica cuando un proceso particular debe comenzar

Un evento de inicio comienza el flujo de un Proceso

Ningún flujo de secuencia puede conectarse a un evento de inicio

Un evento de Inicio es opcional

Si no es usado, las actividades sin flujo de secuencia de entrada serán

consideradas como conectadas con un evento de inicio implícito

Usado para:

Cuando la recepción de un mensaje activa la instancia de un proceso, ej.

Recepción de una Orden

Muestra cuando una instancia debe ser activada:, ej. Fin de Mes

Eventos: Evento de Inicio

Page 19: BPMN Curso v2

Un Evento intermedio indica cuando algo sucede durante la ejecución

de un proceso

Un evento intermedio afecta el flujo de un Proceso

Un eventos intermedio puede ser usado para:

Indicar cuando un mensaje puede ser recibido

Mostrar en donde se esperan delays

Interrumpir el flujo normal a través de manejo de excepciones

Eventos: Evento Intermedio

Page 20: BPMN Curso v2

Un Evento de fin de flujo de proceso no tendrá ninguna secuencia de

flujo de salida

Un Eventos de fin es opcional

Un Evento de fin puede ser usado para:

Poner fin a un flujo de proceso y enviar un mensaje

Poner fin a un flujo de proceso y generar un error

Poner fin a un flujo de proceso y realizar una solicitud de una compensación

Eventos: Evento de fin

Page 21: BPMN Curso v2

Mayor semántica, mediante símbolos de eventos específicos

Un evento intermedio tipo “mensaje”, por ejemplo, puede tener dos instancias: enviando o recibiendo. Los eventos que envían se anotan con un icono relleno (negros), mientras que los que reciben con un núcleo claro (blancos)

Cada símbolo hereda el comportamiento externamente y agrega su propio significado

Eventos: Símbolo de eventos en BPMN

Page 22: BPMN Curso v2

Evento de Inicio vacio. Ilustra que el proceso inicia en ese punto, pero sin ninguna información sobre el tipo de evento

Evento Intermedio VacioIndica un cambio de estado del diagramaPunto de captura de indicadores de gestión

Evento de Fin VacioIlustra que el proceso culminaLos procesos pueden tener múltiples puntos de fin

Evento TerminarDetiene el proceso inmediatamente, incluyendo cualquier ruta paralela

Eventos vacios

Page 23: BPMN Curso v2

En un subproceso se puede usar eventos de inicio y fin.Los eventos están implícitos.Su uso mejora la legibilidad del diagrama

Eventos en los Sub Procesos

Page 24: BPMN Curso v2

Eventos: Eventos de Inicio

Disparador Descripción Símbolo

Ninguno No se especifica el tipo de evento, también se usa cuando un sub proceso disparado por el proceso padre

Mensaje Llegada/envío de un mensaje y se dispara un proceso

Timer Para procesos que parten en un día/hora específica

Condicional Es cuando un proceso parte con una condición tal como “si se producen diferencias de inventario teórico y físico”

Señal Una señal no es un mensaje con un destino fijo, sino que puede activar muchos procesos distintos

Múltiple Muchos eventos distintos pueden activar el proceso, basta con que uno de ellos se cumpla para que el proceso se dispare

Evento de inicio de mensaje.     El proceso inicia cuando se recibe un mensaje desde otro participante

Page 25: BPMN Curso v2

Eventos: Eventos Intermedios

Disparador Descripción Símbolo

Ninguno No se muestra el tipo de evento

Mensaje El proceso queda en espera hasta que llegue el mensaje (recepción) o se usa para enviar mensajes (envío), también se usa para desviar excepciones (*)

Timer Dispara el proceso en un día/hora determinados, también se usa para desviar excepciones

Error Se dispara cuando se produce un determinado error. Solo se puede poner en el extremo de una actividad

Cancelar Se puede poner solo en el extremo de un sub proceso. Se dispara cuando recibe un evento “Cancelar”

Compensación Activa eventos que compensan alguna acción, puede afectar a una actividad si esta se especifica o a todas las suceptibles de ser compensadas

Condicional Es el evento que se dispara cuando una condición tiene valor “True”

Link Conecta dos secciones de un proceso, se puede usar –por ejemplo- para crear loops. Puede tener múltiples fuentes pero solo un destino

Señal Envía y recibe señales que se comunican a lo largo de todo un flujo a quien pueda interesar

Múltiple Es cuando un evento tiene múltiples disparadores, ya sea para recepción como para envío

Page 26: BPMN Curso v2

Eventos: Ejemplos Eventos Intermedios

Evento intermedio de mensaje.

El proceso espera hasta recibir un mensaje desde otro participante

Evento intermedio con temporizador

El proceso espera un periodo de tiempo antes de continuar.

Evento de fin de mensajeEl proceso termina enviando un mensaje a otro participante

Page 27: BPMN Curso v2

Eventos Intermedio - Ejemplo

Page 28: BPMN Curso v2

Eventos: Carreras (Races)

Decisión de ruta a ejecutar basada en la primera ocurrencia de un evento externoLos eventos pueden ser de distintos tiposSolo una ruta se ejecuta por lo que sincroniza con una bifurcación exclusiva

Page 29: BPMN Curso v2

Eventos: Races - Ejemplo

http://diveintobpm.org/index.jsp

Page 30: BPMN Curso v2

Eventos: Interrupción o Rutas Excepcionales

  BPMN tiene una forma elegante de manejar rutas excepcionales

Page 31: BPMN Curso v2

Eventos: Interrupción o Rutas Excepcionales

  Automáticamente escala tareas retrasadas

Page 32: BPMN Curso v2

Eventos: Interrupción o Rutas Excepcionales

  Múltiples eventos intermedios pueden ser colocados en el borde de un subproceso:

Eventos de errorEventos de temporizadorEventos de compensación

Page 33: BPMN Curso v2

Eventos: Interrupción - Ejemplo

http://diveintobpm.org/index.jsp

Page 34: BPMN Curso v2

IntroducciónActividades (Activities)EventosGateways (Decisiones)

34

Page 35: BPMN Curso v2

Los Gateways son puntos de decisión para canalizar el flujo. Son

utilizados para controlar como interactúan los flujos de secuencias a

medida que convergen o divergen en un proceso.

Decisiones, tales como forks, merges y joins en el flujo de proceso son

modelados con Gateways

El comportamiento de cada tipo de Gateways determinará cuantas de

las rutas estarán disponible para la continuación del flujo.

BPMN define cuatro tipos de Gateways:

Gateways: Definición

Page 36: BPMN Curso v2

Las distintas rutas se ejecutan

cuando se cumplen ciertas

condiciones.

Exclusivo

Solo una ruta se ejecutara

Inclusivo

Al menos una ruta se ejecuta

Puede tomar mas de una ruta

y se comporta como un

paralelo

Sincronizar con el mismo símbolo

que se inicia la bifurcación

Gateways: Condicionales

Page 37: BPMN Curso v2

Las rutas por defecto se toman

cuando las otras condiciones

no se evaluan como

verdaderas.

Exclusivo

(A o B), sino C

Inclusivo

Si no (A y/o B) entonces C

Gateways: Condicionales

Page 38: BPMN Curso v2

Gateways: Condicional Exclusivo - Ejemplo

Page 39: BPMN Curso v2

Gateways: Condicional Inclusivo - Ejemplo

Page 40: BPMN Curso v2

Gateways: Condicional Inclusivo - Ejemplo

Page 41: BPMN Curso v2

Los procesos con frecuencia requieren que múltiples eventos y tareas ocurran en paraleloUn Paralelo sincroniza los flujos que salen de manera paralela. Todas las rutas deben completarse antes de que el proceso continúe

Gateways: Paralelo

Sincronización explicita: Todas las rutas deben completarse antes de que el proceso continúe.

Page 42: BPMN Curso v2

• Bifurcación Sincronización

Gateways: Paralelo

Comportamiento:•A es la primera tareas en ejecutarse •B,D y E inician a la vez•F se ejecuta después de que C,D y E hayan todas terminado

Page 43: BPMN Curso v2

Comportamiento de los subprocesos Si existen múltiples puntos de inicio en un subproceso, cada ruta se ejecuta en paralelo.

Forma incorrecta:

Forma correcta:

Gateways: Paralelo

Page 44: BPMN Curso v2

Un Exclusive Event-Based Gateways es similar al Data-Based Gateways:

La única diferencia es que, en lugar de evaluar un conjunto de alternativas para

determinar sólo un flujo de salida, el Gateway basado en evento, iniciara una carrera

entre los diferentes eventos que en el proceso se pudiera recibir; el primero en ser

recibido ganará la carrera y determinará el flujo de la secuencia de salida que debe

ser utilizado.

Aquí los flujos se dirigen según si se ha recibido un mensaje, se ha cumplido una

condición o ha pasado cierto tiempo

Gateways: Exclusive Event-Based

Page 45: BPMN Curso v2

Gateways: Exclusive Event-Based

http://diveintobpm.org/index.jsp

Page 46: BPMN Curso v2

IntroducciónActivities (Actividades)EventosGateways (Decisiones)

46

Page 47: BPMN Curso v2

Un Proceso Complejo

Page 48: BPMN Curso v2

Documentation

Data Object

Task

Multiple Instances

Collapsed Subprocess

Loop

Text Annotation

Group

Ad-hoc Subprocesses

∼Transaction

Plain

Message

Timer

Error

Cancel

Compensation

Conditional

Signal

Multiple

Link

Terminate

Catching Throwing

EndIntermediateStart

Data-based Exclusive Gateway

Inclusive Gateway

Event-based Exclusive Gateway

Paralllel Gateway

Complex Gateway

Gateways

Events

Activities

Sequence Flow

Conditional Flow

Default Flow

Data

Transaction

Data Object

Undirected Association

Directed Association

Bidirected Association

Message Flow

Resumen de los elementos de BPMN

Page 49: BPMN Curso v2

Metamodelo de BPMN

49

Page 50: BPMN Curso v2

IntroducciónActivities (Actividades)EventosGateways (Decisiones)Ejercicios

50

Page 51: BPMN Curso v2

Ejercicios

¿Cuál de estos diagramas es el correcto?

51

 

Page 52: BPMN Curso v2

Ejercicios

¿Cuál de estos flujos en los eventos están incorrectos?

52

 

Page 53: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,E

53

 

Page 54: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,E

Convierta la tarea B en un subproceso que contenga las tareas B1 y B2

54

 

Page 55: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,E

Convierta la tarea B en un subproceso que contenga las tareas B1 y B2

 La tarea C debe ejecutarse en paralelo con el subproceso B

55

 

Page 56: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,E

Convierta la tarea B en un subproceso que contenga las tareas B1 y B2

La tarea C debe ejecutarse en paralelo con el subproceso B

Bajo ciertas condiciones, es necesario no ejecutar la tarea C

56

 

Page 57: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,EConvierta la tarea B en un subproceso que contenga las tareas B1 y B2Bajo ciertas condiciones, es necesario no ejecutar la tarea CLa tarea C debe ejecutarse en paralelo con el subproceso BBajo ciertas condiciones, es necesario no ejecutar la tarea CBajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B.

57

 

Page 58: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,EConvierta la tarea B en un subproceso que contenga las tareas B1 y B2La tarea C debe ejecutarse en paralelo con el subproceso BBajo ciertas condiciones, es necesario no ejecutar la tarea CBajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso BQueremos esperar un tiempo entre que termina B1 y el inicio de B2

58

 

Page 59: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,EConvierta la tarea B en un subproceso que contenga las tareas B1 y B2La tarea C debe ejecutarse en paralelo con el subproceso BBajo ciertas condiciones, es necesario no ejecutar la tarea CBajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso BQueremos esperar un tiempo entre que termina B1 y el inicio de B2La tarea A es realmente la recepción inicial de un mensaje de un participante “Cajero”.La tarea E es realmente el envío final de un mensaje a un participante “Contabilidad”

59

 

Page 60: BPMN Curso v2

Ejercicios

60

 

Page 61: BPMN Curso v2

Ejercicios

Modele una secuencia de 5 tareas llamadas A,B,C,D,EConvierta la tarea B en un subproceso que contenga las tareas B1 y B2La tarea C debe ejecutarse en paralelo con el subproceso BBajo ciertas condiciones, es necesario no ejecutar la tarea CBajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso BQueremos esperar un tiempo entre que termina B1 y el inicio de B2La tarea A es realmente la recepción inicial de un mensaje de un participante “Cajero”.La tarea E es realmente el envío final de un mensaje a un participante “Contabilidad”Si el subproceso B no termina en un tiempo determinado es necesario ejecutar una tarea “escalar”

61

 

Page 62: BPMN Curso v2

Ejercicios

62

 

Page 63: BPMN Curso v2

IntroducciónActivities (Actividades)EventosGateways (Decisiones)EjerciciosMejores Prácticas

63

Page 64: BPMN Curso v2

Objetivos al modelar en BPMN

Ser eficientes capturando la información del procesoReducir errores de interpretación Transferir conocimiento Hacer los diagramas tan fáciles de leer como sea posible

64

 

Page 65: BPMN Curso v2

Consejos

Cree los procesos inicialmente usando solo símbolos de tareas. Luego cambie el símbolo para detallar más el comportamiento del proceso

Concéntrese en documentar el procesoNo intente agregar participantes desde las primeras fases de modelado

65

 

Page 66: BPMN Curso v2

Consejos

Luego de tener un acuerdo sobre el flujo del proceso, agregue participantes e interacciones.Agregar participantes antes, tiene a mantener el foco en detalles de forma prematura y a causar la necesidad de re-diagramar el proceso.

66

 

Page 67: BPMN Curso v2

Consejos

Utilice el artefacto de anotación para agregar información importante a transferir

67

 

Page 68: BPMN Curso v2

Consejos

Asígnele nombres a sus tareas considerando la perspectiva del participante que la ejecuta

68

 

Page 69: BPMN Curso v2

Consejos

Coloque “la pregunta” asociada en cada bifurcacióncada ruta representa una respuesta, asígnele una etiqueta para documentarla en el diagrama

69

 

Page 70: BPMN Curso v2

Consejos

Coloque “la pregunta” asociada en cada bifurcacióncada ruta representa una respuesta, asígnele una etiqueta para documentarla en el diagrama

70

 

Page 71: BPMN Curso v2

Consejos

Una bifurcación hace una sola pregunta. Evite condiciones que no estén relacionadas entre sí.

 Utilice condiciones de cascada en ese caso.

71

 

Page 72: BPMN Curso v2

Consejos

Las condiciones pueden ser anidadas

En ese caso, use subprocesos para evitar confusión y mejorar la legibilidad

72

 

Page 73: BPMN Curso v2

Consejos

Cada objeto puede tener un color distinto. Use esta opción para hacer sus diagramas más simples de leer. Adopte una convención y apéguese a ella.

73

 

Page 74: BPMN Curso v2

IntroducciónActivities (Actividades)EventosGateways (Decisiones)EjerciciosMejores PrácticasEjercicios

74

Page 75: BPMN Curso v2

Ejercicio A

Después de un incendio, por un lado se necesita obtener información de nuestra compañía de seguro. Por otro lado, es posible que necesitemos información adicional del departamento de bomberos, pero solo si los bomberos participaron durante el apagado del incendio. Cuando se tenga toda la información, se necesita escribir un informe consolidado

75

 

Page 76: BPMN Curso v2

Ejercicio A

76

 

Page 77: BPMN Curso v2

Ejercicio B

Nuestros productos están listos para ser enviados. Para determinar que compañía de envío utilizar, enviamos 3 mensajes separados a cada una pidiéndole que despachen nuestros productos. La primera compañía que responda que puede hacer el envió es la escogida

77

 

Page 78: BPMN Curso v2

Ejercicio B

78

 

Page 79: BPMN Curso v2

Ejercicio C

1. Un proceso cliente envía una petición para que se realice una solicitud y aprobación de fondos2. Se solicita y recibe la información de la solicitud de un empleado3. Se solicita y recibe la aprobación de la solicitud de un gerente4. Si la solicitud del empleado es rechazada se vuelve al paso #25. Si se aprueba la solicitud, se solicita y recibe información contable al director del área6. Se solicita y recibe la revisión del departamento de finanzas. Este departamento puede:

a. Aprobarb. Rechazar basados en la información de la solicitud del empleadoc. Rechazar basados en la información contable proporcionada por el director

7. Si el departamento de finanzas rechazó basado en la solicitud del empleado, se debe volver al paso #28. Si el departamento de finanza rechazó basado en la información contable, se debe volver al paso #59. Si el departamento de finanzas aprobó, el proceso finaliza enviando un mensaje al proceso cliente.

79

 

Page 80: BPMN Curso v2

Ejercicio C

80

 

Page 81: BPMN Curso v2

Ejercicio C

81

 

Page 82: BPMN Curso v2

Ejercicio C

82

 

Page 83: BPMN Curso v2

Conclusiones

83

• Hemos realizado un estudio de …..

• Hemos hecho una discusión sobre….

• Se han desarrollado demostraciones de

Conclusiones