Desenvolvimento Empresarial
Aula 6 – Business Process Modeling Notation – Parte 3
Prof.: Guilherme Amorim
([email protected])
Data: 28/03/2014
E Hoje?

BPMN:
 Eventos
 Gateways
 Milestones
Evento


É algo que acontece durante o andamento do
processo.
Esses eventos afetam o fluxo do processo:
 Iniciam
(Trigger)
 Adiam (Delay)
 Interrompem
 Finalizam

Podem ser utilizados soltos ou anexados a uma
atividade.
Eventos

Tipos:
 Início
 Intermediário
 Final
Classificação de Eventos
Classificação de Eventos

Vazio
 Utilizado
quando não se deseja especificar nenhum
tipo específico.

Mensagem
 Envio

e recebimento de mensagens
Timer
 Utilizado
para indicar que o evento irá disparar após
um tempo pré-determinado.
Classificação de Eventos

Error
 Indica
a ocorrência de um erro que deve ser tratado.
 Quando intermediário: representa um catch.
 Quando final: representação um throw.

Exemplo
Classificação de Eventos

Link
 Usado
para conectar fluxos sem necessariamente
explicitar o conector.
 Utilizado dentro de um processo.
Classificação de Eventos

Compensation
 Meio
de desfazer uma atividade já realizada.
Classificação de Eventos

Cancel
 This
type of Intermediate Event is used within a
Transaction Sub-Process. This type of Event MUST be
attached to the boundary of a Sub-Process. It SHALL
be triggered if a Cancel End Event is reached within
the Transaction Sub-Process.
Cancel - Exemplo
Classificação de Eventos

Conditional
E
evento é acionado quando uma condição se torna
verdadeira. A condição é representada por uma
expressão.
Classificação de Eventos

Signal
 Representa
o
broadcast de
um sinal.
Classificação de Eventos

Terminate
 This
type of End indicates that all Activities in the
Process should be immediately ended. This includes all
instances of multi-instances.
 The Process is ended without compensation or event
handling.
Eventos anexados a atividades




Conforma já apresentado, alguns eventos
intermediários são anexados a atividades.
Forma de representar exceção ao fluxo principal
Indica que a atividade deve ser interrompida
quando o evento é disparado.
Exemplo clássico:
Gateways

Gateways are used to control how Sequence Flows
interact as they converge and diverge within a
Process.
Gateways - Exclusive


A diverging Exclusive Gateway (Decision) is used to
create alternative paths within a Process flow. This is
basically the “diversion point in the road” for a
Process. For a given instance of the Process, only
one of the paths can be taken.
A converging Exclusive
Gateway is used to merge
alternative paths.
Gateways - Inclusive

A diverging Inclusive Gateway (Inclusive Decision) can
be used to create alternative but also parallel paths
within a Process flow. Unlike the Exclusive Gateway, all
condition Expressions are evaluated. The true
evaluation of one condition Expression does not exclude
the evaluation of other condition Expressions. All
Sequence Flows with a true evaluation will be traversed
by a token. Since each path is considered to be
independent, all combinations of the paths MAY be
taken, from zero to all. However, it should be designed
so that at least one path is taken.
Gateways – Inclusive

A converging Inclusive Gateway is used to merge a
combination of alternative and parallel paths. A
control flow token arriving at an Inclusive Gateway
MAY be synchronized with some other tokens that
arrive later at this Gateway
Gateways - Parallel


A Parallel Gateway is used to synchronize
(combine) parallel flows and to create parallel
flows.
A Parallel Gateway creates parallel paths without
checking any conditions; each outgoing Sequence
Flow receives a token upon execution of this
Gateway.
Gateways – Parallel
Gateways – Complex

The Complex Gateway can be used to model
complex synchronization behavior.
Gateways – Event Based Exclusive


The Event-Based Gateway
represents a branching
point in the Process where
the alternative paths that
follow the Gateway are
based on Events that occur.
A specific Event, usually the
receipt of a Message,
determines the path that will
be taken.
Gateways – Parallel Event Based

In some situations a modeler might want the Process
to be instantiated by one of a set of Messages
while still requiring all of the Messages for the
working of the same Process instance.
Milestones



Utilizados para indicar marcos no projeto.
Forma de indicar etapas em um process.
Exemplo da clínica
Jogo – Descobrir os erros
Jogo – Resposta
Exercício



Suponha que você seja um consultor de processos e a empresa para a qual você trabalha
acaba de fechar um contrato com uma importante rede de farmácias de manipulação. O
objetivo desse contrato é realizar o mapeamento dos principais processos de negócio da
rede. O primeiro processo a ser mapeado por você é o de venda por telefone, cujo esboço
da descrição inicial é apresentado a seguir:
A atendente recebe o chamado do cliente e confirma se ele já tem cadastro na empresa. A
atendente, então, pergunta ao cliente qual o medicamento desejado e, havendo a
necessidade de receita, um motoqueiro é acionado para ir à casa do cliente buscá-la. Caso o
cliente não esteja em casa, o motoqueiro deve ser instruído a voltar para a empresa e
informar a viagem perdida ao chefe do setor de entrega. Este liga para o cliente e
reagenda a entrega da receita ao motoqueiro. Havendo três viagens perdidas, o pedido é
cancelado. No caso de sucesso da viagem, a receita é entregue ao motoqueiro que, por sua
vez, a apresenta ao chefe de entrega. Este, ao receber a receita, verifica se dispõe em
estoque de todos os insumos necessários para a manipulação. Caso positivo, encaminha a
receita para manipulação; caso negativo, ele envia um e-mail para o fornecedor e solicita o
componente em falta. Além disso, telefona diretamente para o cliente e informa que seu
pedido sofrerá atraso.
Por fim, uma vez terminada a manipulação e a embalagem do medicamento, o motoqueiro é
novamente acionado para fazer a entrega. O pagamento pode ser feito por cartão de
crédito (através de uma máquina levada pelo motoqueiro) ou em dinheiro. O motoqueiro
volta à empresa e confirma o pagamento ao chefe de entrega, que após dar baixa no
sistema, encerra o pedido.
Dúvidas?
Bibliografia




BPMN Modeling and Reference Guide, Steven White and
Derek Miers. 2008.
Bizagi Modeler User Guide.
http://download.bizagi.com/docs/modeler/2511/en/Modeler
_user_Guide.pdf
http://www.bpm-guide.de/2012/03/02/activiti-5-9introduces-bpmn-compensation-and-transactions/
BPMN 2.0 Reference
Download

BPMN – Parte 3 - WordPress.com