Вы находитесь на странице: 1из 83

Introduccin a la

Notacin BPMN

Agenda

Introduccin
Eventos (Events)
Gateways (Decisiones)
Actividades (Activities)
Patrones (Patterns)
Conclusiones

Objetivos de Aprendizaje
Al finalizar este tema, usted estar en capacidad de:
1. Definir y describir los elementos bsicos de la notacin BPMN.

Introduccin
Actividades (Activities)
Eventos (Events)
Gateways (Decisiones)

Introduccin
Elementos Bsicos de BPMN
1.
Objetos de
Flujo

2.
Objetos de
Conexin

3.
Swinlanes (carriles)

4.
Artefactos

Elementos Bsicos: Objetos de Flujo

Los objetos de flujo son los principales objetos que expresan la


semntica de un modelo de proceso
Eventos

Gateways

Actividades

Elementos Bsicos: Objetos de Conexin

Los objetos de conexin son usados para describir como interactan


los objetos de flujo.
Flujo de secuencias:
Flujo de Mensaje:
Asociacin:

Sequence Flow
Conditional Flow
Default Flow

Elementos Bsicos: Objetos de Conexin


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

El flujo de datos define como la informacin es intercambiada entre


participantes

Elementos Bsicos: Pools (Participantes)


Participantes

es

Cualquier

recurso

involucrado en un proceso

3 tipos de participantes
Sistema
Humano
Proceso

Representado por un Pool


Nombrar el Pool como el participante
Dejar un Pool para representar el proceso
que se esta documentando
Al menos un Pool para representar un
sistema o humano.

Ejecutable vs. No Ejecutable

Elementos Bsicos: Artefactos


Los Artefactos son usados para proveer informacin adicional acerca
del proceso:
Objetos de Datos:
Grupos:
Anotaciones:
Anotaciones de Texto
permiten al Modelador
agregar
informacin
adicional

Introduccin
Activities (Actividades)
Eventos
Gateways (Decisiones)

11

Actividades: Definicin

Una Actividad es una unidad de trabajo a realizar. Podra ser una


tarea, un proceso o un sub-proceso.
BPMN define dos tipos principales de actividades:
Una Tarea es una actividad atmica que se incluye dentro de un
proceso

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


proceso

Actividades: Marcas en Actividades


Las marcas son definidas para especificar semnticas adicionales,
tales como loops

Actividades: Loops Secuenciales


http://diveintobpm.org/index.jsp

Actividades: Loops Paralelos


http://diveintobpm.org/index.jsp

Introduccin
Actividades (Activities)
Eventos (Events)
Gateways (Decisiones)
Patrones (Patterns)

16

Eventos

Un Evento es algo que sucede durante la ejecucin de un proceso de


negocio el cual afecta la ejecucin del flujo
Existen tres tipos de eventos:
Eventos de Inicio

Eventos Intermedios

Eventos de fin

Eventos: Evento de Inicio

Un Evento de inicio indica cuando un proceso particular debe comenzar


Un evento de inicio comienza el flujo de un Proceso
Ningn 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 sern
consideradas como conectadas con un evento de inicio implcito
Usado para:
Cuando la recepcin de un mensaje activa la instancia de un proceso, ej.
Recepcin de una Orden
Muestra cuando una instancia debe ser activada:, ej. Fin de Mes

Eventos: Evento Intermedio

Un Evento intermedio indica cuando algo sucede durante la ejecucin


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 travs de manejo de excepciones

Eventos: Evento de fin

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 compensacin

Eventos: Smbolo de eventos en BPMN

Mayor semntica, mediante smbolos


de eventos especficos

Un evento intermedio tipo mensaje,


por ejemplo, puede tener dos
instancias: enviando o recibiendo.
Los eventos que envan se anotan
con un icono relleno (negros),
mientras que los que reciben con un
ncleo claro (blancos)

Cada
smbolo
hereda
el
comportamiento
externamente y
agrega su propio significado

Eventos vacios
Evento de Inicio vacio.
Ilustra que el proceso inicia en ese
punto, pero sin ninguna informacin
sobre el tipo de evento

Evento Intermedio Vacio


Indica un cambio de estado del diagrama
Punto de captura de indicadores de
gestin

Evento de Fin Vacio


Ilustra que el proceso culmina
Los procesos pueden tener mltiples
puntos de fin

Evento Terminar
Detiene el proceso inmediatamente,
incluyendo cualquier ruta paralela

Eventos en los Sub Procesos


En un subproceso se puede usar eventos de inicio y fin.
Los eventos estn implcitos.
Su uso mejora la legibilidad del diagrama

Eventos: Eventos de Inicio

Disparador

Descripcin

Ninguno

No se especifica el tipo de evento, tambin se


usa cuando un sub proceso disparado por el
proceso padre

Mensaje

Llegada/envo de un mensaje y se dispara un


proceso

Timer

Para procesos que parten en un da/hora


especfica

Condicional

Es cuando un proceso parte con una


condicin tal como si se producen diferencias
de inventario terico y fsico

Seal

Una seal no es un mensaje con un destino


fijo, sino que puede activar muchos procesos
distintos

Mltiple

Muchos eventos distintos pueden activar el


proceso, basta con que uno de ellos se
cumpla para que el proceso se dispare

Smbolo

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

Eventos: Eventos Intermedios


Disparador

Descripcin

Ninguno

No se muestra el tipo de evento

Mensaje

El proceso queda en espera hasta que llegue el mensaje (recepcin) o se


usa para enviar mensajes (envo), tambin se usa para desviar excepciones
(*)

Timer

Dispara el proceso en un da/hora determinados, tambin 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

Compensacin

Activa eventos que compensan alguna accin, 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 condicin tiene valor True

Link

Conecta dos secciones de un proceso, se puede usar por ejemplo- para


crear loops. Puede tener mltiples fuentes pero solo un destino

Seal

Enva y recibe seales que se comunican a lo largo de todo un flujo a quien


pueda interesar

Mltiple

Es cuando un evento tiene mltiples disparadores, ya sea para recepcin


como para envo

Smbolo

Eventos: Ejemplos Eventos Intermedios

Evento
mensaje.

intermedio

de

El proceso espera hasta


recibir un mensaje desde
otro participante

Evento
intermedio
temporizador

con

El proceso espera un periodo


de
tiempo
antes
de
continuar.

Evento de fin de mensaje


El proceso termina enviando
un
mensaje
a
otro
participante

Eventos Intermedio - Ejemplo

Eventos: Carreras (Races)

Decisin de ruta a ejecutar basada en la primera ocurrencia de un


evento externo
Los eventos pueden ser de distintos tipos
Solo una ruta se ejecuta por lo que sincroniza con una bifurcacin
exclusiva

Eventos: Races - Ejemplo


http://diveintobpm.org/index.jsp

Eventos: Interrupcin o Rutas Excepcionales


BPMN tiene una forma elegante de manejar rutas excepcionales

Eventos: Interrupcin o Rutas Excepcionales


Automticamente escala tareas retrasadas

Eventos: Interrupcin o Rutas Excepcionales


Mltiples eventos intermedios pueden ser colocados en el borde
de un subproceso:
Eventos de error
Eventos de temporizador
Eventos de compensacin

Eventos: Interrupcin - Ejemplo


http://diveintobpm.org/index.jsp

Introduccin
Actividades (Activities)
Eventos
Gateways (Decisiones)

34

Gateways: Definicin

Los Gateways son puntos de decisin para canalizar el flujo. Son


utilizados para controlar como interactan 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 estarn disponible para la continuacin del flujo.
BPMN define cuatro tipos de Gateways:

Gateways: Condicionales

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 smbolo
que se inicia la bifurcacin

Gateways: Condicionales
Las rutas por defecto se toman
cuando las otras condiciones
no

se

evaluan

verdaderas.
Exclusivo
(A o B), sino C
Inclusivo
Si no (A y/o B) entonces C

como

Gateways: Condicional Exclusivo - Ejemplo

Gateways: Condicional Inclusivo - Ejemplo

Gateways: Condicional Inclusivo - Ejemplo

Gateways: Paralelo
Los procesos con frecuencia requieren que mltiples eventos y tareas
ocurran en paralelo
Un Paralelo sincroniza los flujos que salen de manera paralela. Todas
las rutas deben completarse antes de que el proceso contine

Sincronizacin
explicita: Todas
las rutas deben
completarse
antes de que el
proceso
contine.

Gateways: Paralelo
Bifurcacin

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

Sincronizacin

Gateways: Paralelo

Comportamiento de los subprocesos


Si existen mltiples puntos de inicio en un subproceso, cada ruta se
ejecuta en paralelo.
Forma incorrecta:

Forma correcta:

Gateways: Exclusive Event-Based


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 slo 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 segn si se ha recibido un mensaje, se ha cumplido una
condicin o ha pasado cierto tiempo

Gateways: Exclusive Event-Based


http://diveintobpm.org/index.jsp

Introduccin
Activities (Actividades)
Eventos
Gateways (Decisiones)

46

Un Proceso Complejo

Resumen de los elementos de BPMN

Gateway
s

Activities

Data-based Exclusive Gateway

Task

Paralllel Gateway

Multiple
Instances

Inclusive Gateway

Data
Data Object
Data Object
Undirected Association

Event-based Exclusive Gateway

Collapsed
Subprocess

Complex Gateway

Events

Loop

Star
Intermediate End
t
Catching

Throwing

Plain

Ad-hoc
Subprocesses

Message
Timer

Error
Cancel
Compensati
on
Conditional
Signal
Multiple
Link
Terminate

Sequence Flow

Directed Association
Bidirected Association

Transactio
nTransaction
Documentati
on
Group

Conditional Flow
Default Flow
Message Flow

Text Annotation

Metamodelo de BPMN

49

Introduccin
Activities (Actividades)
Eventos
Gateways (Decisiones)
Ejercicios

50

Ejercicios

Cul de estos diagramas es el correcto?

51

Ejercicios

Cul de estos flujos en los eventos estn incorrectos?

52

Ejercicios

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

53

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

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

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

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
Bajo ciertas condiciones, es necesario no ejecutar la tarea C
La tarea C debe ejecutarse en paralelo con el subproceso B
Bajo ciertas condiciones, es necesario no ejecutar la tarea C
Bajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B.

57

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
Bajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B
Queremos esperar un tiempo entre que termina B1 y el inicio de B2

58

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
Bajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B
Queremos esperar un tiempo entre que termina B1 y el inicio de B2
La tarea A es realmente la recepcin inicial de un mensaje de un participante Cajero.
La tarea E es realmente el envo final de un mensaje a un participante Contabilidad

59

Ejercicios

60

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
Bajo ciertas condiciones en vez de ejecutar C debemos terminar el proceso, incluyendo las actividades del subproceso B
Queremos esperar un tiempo entre que termina B1 y el inicio de B2
La tarea A es realmente la recepcin inicial de un mensaje de un participante Cajero.
La tarea E es realmente el envo 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

Ejercicios

62

Introduccin
Activities (Actividades)
Eventos
Gateways (Decisiones)
Ejercicios
Mejores Prcticas

63

Objetivos al modelar en BPMN

Ser eficientes capturando la informacin del proceso


Reducir errores de interpretacin
Transferir conocimiento
Hacer los diagramas tan fciles de leer como sea posible

64

Consejos

Cree los procesos inicialmente usando solo smbolos de tareas.


Luego cambie el smbolo para detallar ms el comportamiento del proceso

Concntrese en documentar el proceso


No intente agregar participantes desde las primeras fases de modelado

65

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

Consejos

Utilice el artefacto de anotacin para agregar informacin importante a


transferir

67

Consejos

Asgnele nombres a sus tareas considerando la perspectiva del


participante que la ejecuta

68

Consejos

Coloque la pregunta asociada en cada bifurcacin


cada ruta representa una respuesta, asgnele una etiqueta para
documentarla en el diagrama

69

Consejos

Coloque la pregunta asociada en cada bifurcacin


cada ruta representa una respuesta, asgnele una etiqueta para
documentarla en el diagrama

70

Consejos

Una bifurcacin hace una sola pregunta.


Evite condiciones que no estn relacionadas entre s.

Utilice condiciones de cascada en ese caso.

71

Consejos

Las condiciones
pueden
ser
anidadas

En ese caso, use


subprocesos para
evitar confusin y
mejorar
la
legibilidad

72

Consejos

Cada objeto puede tener un color distinto. Use esta opcin para hacer sus
diagramas ms simples de leer. Adopte una convencin y apguese a ella.

73

Introduccin
Activities (Actividades)
Eventos
Gateways (Decisiones)
Ejercicios
Mejores Prcticas
Ejercicios

74

Ejercicio A

Despus de un incendio, por un lado se necesita obtener informacin


de nuestra compaa de seguro. Por otro lado, es posible que
necesitemos informacin adicional del departamento de bomberos,
pero solo si los bomberos participaron durante el apagado del incendio.
Cuando se tenga toda la informacin, se necesita escribir un informe
consolidado

75

Ejercicio A

76

Ejercicio B

Nuestros productos estn listos para ser enviados. Para determinar


que compaa de envo utilizar, enviamos 3 mensajes separados a
cada una pidindole que despachen nuestros productos. La primera
compaa que responda que puede hacer el envi es la escogida

77

Ejercicio B

78

Ejercicio C

1.
2.
3.
4.
5.
6.

Un proceso cliente enva una peticin para que se realice una solicitud y aprobacin de fondos
Se solicita y recibe la informacin de la solicitud de un empleado
Se solicita y recibe la aprobacin de la solicitud de un gerente
Si la solicitud del empleado es rechazada se vuelve al paso #2
Si se aprueba la solicitud, se solicita y recibe informacin contable al director del rea
Se solicita y recibe la revisin del departamento de finanzas. Este departamento puede:
a.
Aprobar
b.
Rechazar basados en la informacin de la solicitud del empleado
c.
Rechazar basados en la informacin contable proporcionada por el director
7. Si el departamento de finanzas rechaz basado en la solicitud del empleado, se debe volver al paso #2
8. Si el departamento de finanza rechaz basado en la informacin contable, se debe volver al paso #5
9. Si el departamento de finanzas aprob, el proceso finaliza enviando un mensaje al proceso cliente.

79

Ejercicio C

80

Ejercicio C

81

Ejercicio C

82

Conclusiones

Hemos realizado un estudio de ..

Hemos hecho una discusin sobre.

Se han desarrollado demostraciones de

Conclusiones

83

Вам также может понравиться