Modelado básico con BPMN Gestión de Procesos y Servicios.

Post on 09-Feb-2015

21 views 12 download

Transcript of Modelado básico con BPMN Gestión de Procesos y Servicios.

Modelado básico con BPMN

Gestión de Procesos y Servicios

Introducción

MapeadoAbstracciónPropósito

Un modelo se caracteriza por

¿Para qué modelamos?

Modelamos para entender

Diseño organizacionalDiseño de sistemas

Tipos de propósito

IntroducciónBPMN Básico

BPMN

• BPMN viene de Business Process Modeling Notation (Notación para el Modelado de Procesos de Negocio).

• Es un estándar de representación gráfica de procesos de negocio

• Pretende ser un lenguaje accesible tanto para desarrolladores como para clientes y directivos.

http://www.bpmn.org/

Tres niveles de BPMN

• Nivel 1 (Modelado descriptivo): Usa un subconjunto reducido de elementos de BPMN y su objetivo es facilitar la definición de un proceso.

• Nivel 2 (Modelado analítico): Usa toda la expresividad de BPMN para describir el proceso de negocio de forma precisa, incluyendo manejo de excepciones.

• Nivel 3 (Modelado ejecutable): Orientado a la implementación del proceso de negocio.

10

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Un proceso sencillo

Actividades

Eventos

Flujo de secuencia

Tokens

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Convenciones de nombres

• Actividades: VERBO + NOMBRE (Primera letra mayúsculas)– Aprobar orden

• Eventos: NOMBRE + PARTICIPIO (Primera letra mayúsculas)– Factura emitida

• Procesos: NOMBRE + ADJETIVO (Minúsculas)– Gestión de pagos

• Evitar nombres muy largos (< 5 palabras)• Evitar verbos genéricos (ej. Hacer)

Data-based XOR ORAND

ComplexEvent-based XOR

Fig 4.84. Gateway types in the BPMN, Object Management Group (2006) M. W

eske

: Bus

ine

ss P

roce

ss M

ana

gem

ent,

©

Spr

ing

er-V

erla

g B

erlin

Hei

delb

erg

200

7

Gateways

• Cuando se recibe la factura de un cliente, tiene que ser comprobada. La comprobación puede resultar en tres casos: 1) No hay errores, en cuyo caso la factura es contabilizada; 2) hay errores pero pueden ser corregidos, en cuyo caso la factura es reenviada al cliente, y 3) hay errores pero no pueden ser corregidos, en cuyo caso la factura se bloquea. Al terminar una de estas tres atividades, la factura es almacenada y el proceso termina.

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Gateways

• Nodo exclusivo: el flujo continúa por la primera alternativa que satisface la condición. Si ninguna satisface, entonces continúa por la alternativa que tiene la marca “/”

Condición 1

Condición 2

Decisiones exclusivas

XOR splitXOR join

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

• Al recibir la tarjeta de embarque, los pasajeros van al control de seguridad. Aquí tienen que pasar el control personal y el control del equipaje. Una vez realizado, pueden pasar a la puerta de embarque.

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Gateways

• Ejecución en paralelo (bifurcación): se usa cuando dos o más tareas se empiezan a llevar a cabo concurrentemente

Gateways

• Ejecución en paralelo (unión): se usa para postsincronizar dos o más tareas que se han llevado a cabo concurrentemente. Espera un token de todas las ramas.

Ejecución en paralelo

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Ejecución en paralelo

Distintos resultados

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Distintos eventos de inicio

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

• Una compañía tiene dos almacenes que almacenan distintos productos, uno está en Amsterdam y otro en Hamburgo. Cuando se recibe un pedido, se distribuye a estos almacenes: si alguno de los productos están en Amsterdam, un subpedido se envía allí; del mismo modo, si algún producto está en Hamburgo, un subpedido se envía allí. Después el pedido se registra y el proceso termina.

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Gateways

• Nodo inclusivo: el flujo continúa por todas las alternativas que satisfacen la condición.

Condición 1

Condición 2

Decisión inclusiva

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Deadlocks

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Continuamos con el proceso de gestión de pedidos…

• Si el producto solicitado no está en stock, hace falta fabricarlo antes de que la gestión del pedido pueda continuar. Para fabricar un producto, es necesario pedir los materiales para fabricarlo. Dependiendo del producto, los materiales se pueden pedir al Proveedor 1, al Proveedor 2 o a ambos. Una vez que los materiales están disponibles, el producto se puede fabricar y el pedido se confirma. Por otro lado, si el producto está en stock, se obtiene del almacen antes de confirmar el pedido.

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

• En el ministerio de hacienda, las peticiones recibidas se registran en el sistema. Luego se investigan para preparar una respuesta del ministerio. La finalización de la respuesta incluye la preparación de la misma por un miembro del gabinete y su revisión por parte del responsible del mismo. Si éste no aprueba la respuesta, tiene que ser preparada de nuevo por el miembro del gabinete. El proceso termina cuando la respuesta es aprobada.

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Bucles

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

IntroducciónBPMN Básico

La perspectiva de datos

33

Data objects

• Representan datos manejados por las actividades. El dato puede tener un estado asociado.

Objetos de datos

Almacenes de datos

Dato con estado

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

¿Puedo sustituir el flujo de secuencia por flujo de datos?

¿Afectan los objetos de datos a los tokens?¿Tenemos que modelar siempre los objetos de

datos?

IntroducciónBPMN Básico

La perspectiva de datosLa perspectiva de organizacional*

*En esta lección veremos una introducción a la perspectiva organizacional que profundizaremosen lecciones posteriores

Participante del procesoSistema software

Equipamiento

Recursos

Recursos

• Pasivos– Ej. fotocopiadora

• Activos– Ej. Persona que fotocopia

Pools y lanes

• Los pools y lanes no tienen un significado concreto, pero lo habitual es:– Pools: Representan organizaciones / procesos– Lanes: Representan roles o departamentos en una organización

(nunca personas concretas)

Poo

l

Flow Objects

Events

Activities Place Order

Gateways

Connecting Objects

Sequence Flow

Message Flow

Association

Swimlanes

Lane

Data Object

Group

Artefacts

Annotation

Fig 4.78. Business Process Modeling Notation: categories of elements

M. W

eske

: Bus

ines

s P

roce

ss M

anag

emen

t, ©

Spr

inge

r-V

erla

g B

erlin

Hei

delb

erg

2007

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Vista privada: Típico flujo de trabajo que muestra los procesos internos de una organización específica

EntregarPedido

Pro

duc

ció

n

Ges

tión

de

Ped

idos

Ser

vici

o a

l Clie

nte

Fac

tura

ció

n

Recibir Pedido

Enviar Factura

SatisfacerPedido

Pedido

RecibirPago

Factura

CerrarPedido

Pac

ient

eC

onsu

lta d

el M

édic

o

Recibir la Petición de Consulta

Petición deConsulta

Enviar la Cita

Datos de la Cita

Atender al Paciente

Enf

erm

era

Méd

ico

Síntomas

RecetarMedicinas

Receta

Vista abstracta: Representa la interacción entre un proceso de negocio privado y otro que se muestra como

una caja negra

Flujo de mensajes

Proceso de caja negra

Proceso de caja blanca

Colaboración: Representa la interacción entre dos o más procesos de negocio privados

Pac

ient

eC

onsu

lta d

el M

édic

o

Recibir la Petición de Consulta

Petición deConsulta

Enviar la Cita

Datos de la Cita

Atender al Paciente

Enf

erm

era

Méd

ico

Síntomas

RecetarMedicinas

Receta

Llamar al Médico

Recibir la CitaIr a la

ConsultaRecoger las

Recetas

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

IntroducciónBPMN Básico

La perspectiva de datosLa perspectiva organizacional*

Descomposición de procesos

Mejorar la legibilidad y entendibilidad

Descomposición de procesos

Actividades

• Tareas • Subprocesos

Nombre Nombre

+

Actividades

• Subproceso: actividad compuesta que se puede desglosar en subactividades con un nivel más fino de detalle. Pueden aparecer:– En versión colapsada (signo “+”)

– Expandida

Nombre

+

Nombre

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

Cuando es demasiado grande (> 30 elementos aprox.)

¿Cuando descomponer en subprocesos?

Reutilización de procesos (subprocesos globales)

Call activities

© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013

IntroducciónBPMN Básico

La perspectiva de datosLa perspectiva organizacional*

Descomposición de procesosMétodo de modelado

Método para modelar en BPMN

• Paso 1: Definir el alcance del proceso• Paso 2: Crear el diagrama de alto nivel para el camino feliz• Paso 3: Añadir otros caminos de alto nivel• Paso 4: Expandir subprocesos para mostrar detalles• Paso 5: Añadir flujo de mensajes intermedios a pools

externos• Paso 6: Añadir datos

Paso 1: Definir el alcance del proceso

• ¿Qué constituye el inicio del proceso?• ¿Qué representa una instancia del proceso?• ¿Quién es el “cliente”? ¿O es el iniciador un participante de

dentro del proceso?• ¿Qué significa el final del proceso?

Paso 2: Crear el diagrama de alto nivel para el camino ideal

• Añadir pools• Añadir lanes al pool del proceso• Añadir eventos de inicio y fin (feliz)• Añadir pasos principales en el camino feliz• Reconectar pasos concurrentes y condicionales

Paso 2 (previo)

Paso 2

Paso 3: Añadir otros caminos de alto nivel

• Identificar estados finales de error• Insertar evento final por cada estado final• Insertar gateways para definir los caminos de error

Paso 3

Paso 4: Expandir subprocesos para mostrar detalles

Paso 5: Flujo de mensajes intermedios a pools externos

• Añadir black-box pools para participantes externos• Añadir flujo de mensajes de alto nivel• Añadir flujo de mensajes en diagramas de subprocesos

Paso 5

Paso 5

Paso 6: Añadir datos

IntroducciónBPMN Básico

La perspectiva de datosLa perspectiva organizacional*

Descomposición de procesosMétodo de modelado

Errores comunes

Reglas básicas de uso a tener en cuenta

• Todo proceso o subproceso debe tener un evento de inicio.

Reglas básicas de uso a tener en cuenta

• Todas las actividades, gateways y eventos deben estar conectados por una cadena de flujos de secuencia desde el nodo de inicio al nodo de fin.

Reglas básicas de uso a tener en cuenta

• Los flujos de secuencia no deben cruzar nunca de un pool a otro. Para eso se usan los de mensaje.

Reglas básicas de uso a tener en cuenta

• Los flujos de secuencia no deben cruzar nunca de un pool hijo al padre.

Reglas básicas de uso a tener en cuenta

• El flujo de mensajes no puede conectar puntos del mismo pool

Reglas básicas de uso a tener en cuenta

• El flujo de mensajes no puede conectar puntos del mismo pool (forma correcta)

Reglas básicas de uso a tener en cuenta

• El flujo de mensajes no puede conectarse a un gateway.

IntroducciónBPMN Básico

La perspectiva de datosLa perspectiva organizacional*

Descomposición de procesosMétodo de modelado

Errores comunesResumen

Resumen

• Actividades, eventos, gateways• Perspectiva de datos• Perspectiva organizacional• Descomposición en subprocesos• Método de modelado• Errores comunes

BPMN Method and Style

• Más información en: http://brsilver.com/bpmn-method-and-style/