Business Process Model and Notation 2.0...Exemplo: Transação Business Process Model and Notation...
Transcript of Business Process Model and Notation 2.0...Exemplo: Transação Business Process Model and Notation...
Business ProcessBusiness ProcessModel and Notation 2.0.2Model and Notation 2.0.2
Thiago GottardiElisa Yumi NakagawaPaulo Cesar Masiero
Agradecimentos EspeciaisRoberto dos Santos Rocha (ICMC)João Porto de Albuquerque (ICMC)
Marcelo Fantinato (EACH)Anderson da Silva Marcolino (ICMC)
Felipe Diniz Dalillo (ICMC)
RoteiroRoteiro
● Introdução;– Diagrama de Colaboração;
– Linguagem;
● Léxico Básico;● Exemplos Sintáticos;● Exemplos de Processos;● Referências.
RoteiroRoteiro
+
Introdução
Léxico Básico
ExemplosSintáticos
Exemplos deProcessos
Referências
RoteiroRoteiro
+
Introdução
BPMN
Linguagem
Léxico Básico
ExemplosSintáticos
Exemplos deProcessos
Referências
Introdução: BPMN e ColaboraçãoIntrodução: BPMN e Colaboração
● BPMN possui definição semi-formal– Linguagem;
– Especificação OMG.
http://www.omg.org/spec/BPMN/2.0.2/PDF/
IntroduçãoIntrodução
● BPMN possui definição semi-formal– Linguagem;
– Especificação OMG.
● Linguagem:– Léxico (conjunto de palavras);
– Sintático (estrutura de frases).
http://www.omg.org/spec/BPMN/2.0.2/PDF/
IntroduçãoIntrodução
● Léxico– {“estudadas”, “ordem”, “palavras”, “são”, “sem”};
● Sintático:– Palavras são estudadas com ordem.
http://www.omg.org/spec/BPMN/2.0.2/PDF/
Léxico BásicoLéxico Básico
Nome de Atividade
Atividade
Evento
Porta
Passagem deControle/Fluxo
Passagem deMensagem
AssociaçãoP
isci
naR
aia
Rai
a
Piscina com Raias
Piscina
Pis
cina
nome[estado]
Artefato
Comentário
AnotaçãoTextual
Nós de FluxoArestas deConexão
Piscinas (Perspectivas) Outros objetos
http://www.omg.org/spec/BPMN/2.0.2/PDF/ (Seção 7.1)
Grupo
Mensagem
AtividadeAtividade
● Realização de trabalho;
● Atomica ou não:– Transações.
● Sub-dividido em– Sub-processos;
– Tarefas.
Nome de Atividadeou Tarefa
Nome de Subprocesso
+
Atividade em Loop
Atividade em Paralelo Sequencial|||
|||
TransaçãoTransação+
EventoEvento
● Ocorrência, instante;
● Disparo ou resultado
● Causa ou impacto.
Início
Intermediário
Mensagem
Tempo
Fim
Exemplos deDimensões
Porta (Gateway)Porta (Gateway)
● Ocorrência, instante;
● Disparo ou resultado
● Causa ou impacto.
+ X
**Complexo
Exclusivo
ExclusivoParalelo
Inclusivo
Evento Evento(paralelo)
+
ArestasArestas
● Relação entre objetos;
● Tipos:– Fluxo de controle;
– Associação;
– Mensagem.
Fluxo Normal ouNão Controlado
Fluxo Condicional
Fluxo Padrão\
ZZ
Fluxo Exceção
Associação
Mensagem
Associação de Compensação
PiscinasPiscinas
● Agrupamento de objetos– Perspectivas.
Pis
cina
Rai
aR
aia
Piscina com Raias
Piscina
Pis
cina
Anotação TextualAnotação Textual
● Combinação– Associação;
– Rótulo.
● Rótulo– Comentário.
Comentário
GrupoGrupo
● Agrupamento de objetos– Genérico.
ArtefatosArtefatos
● Artefatos– construção humana.
● Na prática:– Dados.
● Estado é opcional– Descrição de como está o
artefato no instante.
nome do artefato[estado]
coleção[estado]
entrada[estado]
saída[estado]
||
DataStore
Bancode Dados
Dimensões de Eventos Dimensões de Eventos
● Eventos podem possuir outra dimensão– Categoriza o tipo do
evento.
Message
Timer
Error
Compensation
Conditional
Link
Multiple
Terminate
Signal
Cancel
Escalation
“Throwing”“Catching” Non-Interrupting
Parallel Multiple
Dimensões de Eventos Dimensões de Eventos
● Eventos podem possuir outra dimensão– Categoriza o tipo do
evento.
Message
Timer
Error
Compensation
Conditional
Link
Multiple
Terminate
Signal
Cancel
Escalation
“Throwing”“Catching” Non-Interrupting
Parallel Multiple
Início Intermediário Fim
Message
Timer
Error
Compensation
Conditional
Link
Multiple
Terminate
Signal
Cancel
Escalation
“Throwing”“Catching” Non-Interrupting
Parallel Multiple
Mensagem
Temporização
Erro
Aumento
Cancelamento
Compensação
Condicional
Enlace
Sinal
Terminação
Multiplo
ParaleloMultiplo
Captura Lança Sem Interrupção
Exemplo: DivergênciaExemplo: Divergência
Exemplo: DivergênciaExemplo: Divergência
Divergência Implícita Porta de Paralelo
Exemplo: ConvergênciaExemplo: Convergência
Exemplo: ConvergênciaExemplo: Convergência
Convergência Implícita Porta de Paralelo
Exemplo: Exclusivo com DefaultExemplo: Exclusivo com Default
Default
Condition 1
Exemplo: Exclusivo com DefaultExemplo: Exclusivo com Default
Default
Condition 1
Porta de Exclusivo
Exemplo: Repetição (Loop)Exemplo: Repetição (Loop)
Default
Condition
Default
Condition
Default
Condition
Default
Condition
Exemplo: Repetição (Loop)Exemplo: Repetição (Loop)
Default
Condition
Default
Condition
Default
Condition
Default
Condition
Repita até Condição Repita enquanto Condição
Exemplo: ExceçãoExemplo: Exceção
Fluxo de Exceção
Exemplo: ExceçãoExemplo: Exceção
Fluxo de Exceção
Evento Intermediário de Exceção
Exemplo: Exclusivo com DefaultExemplo: Exclusivo com Default
Tarefas de Recebimento Eventos Intermediários
Exemplo: MensagemExemplo: Mensagem
Piscina1
Enviar
Receber
Raia1 Raia2
Piscina2
a
b
Exemplo: MensagemExemplo: Mensagem
Piscina1
Enviar
Receber
Raia1 Raia2
Piscina2
a
b Enviar
Receber
Exemplo: Timer e LinkExemplo: Timer e Link
Exemplo: SinalExemplo: Sinal
Observação: Uso de divergência/convergência implícita pode causar problema:Exemplo: repetição indesejada de “E”.
A
B
D
B Completado
B Completado
C
E
Exemplo: SinalExemplo: Sinal
A B
D
B Completado
B Completado
C
E
Recomenda-se usar portas paralelas para divergência e convergência.
+ +
Exemplo: TransaçãoExemplo: Transação
Business Process Model and Notation (BPMN), v2.0.2 177
Figure 10.33 – A Transaction Sub-Process
Figure 10.34 – A Collapsed Transaction Sub-Process
The Transaction Sub-Process element inherits the attributes and model associations of Activities (see Table 10.3) through its relationship to Sub-Process. Table 10.21 presents the additional attributes and model associations of the Transaction Sub-Process.
Bookings
Book F light
Book Hote l
C ancel F light
Send Hote l C ancella tion
Transaction Failed Bookings
Exceptions (Hazards)
Send Unavailab ility
Notice
Handle through
Custom er Service
Successfu l Bookings
Charge Buyer
B ook ings
F a iled B ook ings
E xcep tions (H aza rds)
S end U nava ilab ility
N o tice
H and le th rough
C ustom er S e rv ice
S uccess fu l B ook ings
C harge B uyerReservas
Tratar com suporte
Enviar notificação
Cobrar cliente
Sucesso
Fracasso
Exceções(Ameaças ao sucesso)
Exemplo: TransaçãoExemplo: Transação
Business Process Model and Notation (BPMN), v2.0.2 177
Figure 10.33 – A Transaction Sub-Process
Figure 10.34 – A Collapsed Transaction Sub-Process
The Transaction Sub-Process element inherits the attributes and model associations of Activities (see Table 10.3) through its relationship to Sub-Process. Table 10.21 presents the additional attributes and model associations of the Transaction Sub-Process.
Bookings
Book F light
Book Hote l
C ancel F light
Send Hote l C ancella tion
Transaction Failed Bookings
Exceptions (Hazards)
Send Unavailab ility
Notice
Handle through
Custom er Service
Successfu l Bookings
C harge Buyer
B ook ings
F a iled B ook ings
E xcep tions (H aza rds)
S end U nava ilab ility
N o tice
H a nd le th rough
C ustom er S e rv ice
S uccess fu l B ook ings
C harge B uyer
Reservas
Tratar com suporte
Cobrar cliente
Sucesso
Fracasso
Exceções(Ameaças ao sucesso)
Enviar notificação
Reservas
ReservaVoo
CancelaVoo
ReservaHotel
CancelaHotel
Transação
Exemplos ConcretosExemplos Concretos
Exemplos:● Notas de Aula Passadas;● OMG.
ExemplosExemplos
ExemplosExemplos
ExemplosExemplos
ExemplosExemplos
Exemplo: ObservaçãoExemplo: Observação
ExemplosExemplos
TarefaTarefa
● Modele o diagrama utilizando BPMN para o processo de negócio abaixo:
Medalha Pizzas é uma pizzarria delivery que possui cinco anos de mercado. Para realizar os pedidos, os clientes devem selecionar a pizza no cardápio para que a atendente registre seu pedido. Após registrar o pedido do cliente, o atendente passa o pedido para o pizzaiolo e como atividade paralela fica responsável por receber novas ligações e reclamações sobre o atraso de pizzas, que geralmente ocorrem quando o atraso do pedido atinge 60 minutos. Dessa forma, o atendente pode acalmar o cliente informando-o a situação de seu pedido. Quando o pizzaiolo recebe o pedido, a sua função é preparar a pizza e colocá-la no forno e assim que a pizza estiver pronta, o entregador deve levar a pizza até o cliente. O cliente por sua vez deve realizar o pagamento e receber o recibo do entregador. Após isso, o cliente pode degustar o seu pedido.
Correção de TarefaCorreção de Tarefa
● Notas: (0 a 4)– 0/4:
● Não entregou um processo;
– 1/4:● Graves falhas de notação e/ou requisitos;
– 2/4:● Não cumpre um ou mais requisitos;
– 3/4:● Pequenas falhas ou esquecimentos;
– 4/4:● Correto e válido.
TarefaTarefa
ERRADOERRADO
TarefaTarefa
Ambiguidade de término
TarefaTarefa
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
Sugerido por http://tynerblain.com/blog/2006/08/14/bpmn-end-events-2/Imagem © 2005 Warner Bros. Pictures
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixaProcessa
Lote
PegaLote
Processa Lote Processa CaixaSalts Nuts
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
++|||
|||
/
default(mais caixas)
acabou
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixaProcessa
Lote
PegaLote
Processa Lote Processa CaixaSalts NutsFornecedor
LevaLote
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
++|||
|||
/
default(mais caixas)
acabou
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixaProcessa
Lote
PegaLote
Processa Lote Processa CaixaSalts NutsFornecedor
LevaLote
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
++|||
|||
/
default(mais caixas)
acabou
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixaProcessa
Lote
PegaLote
Processa Lote Processa CaixaSalts NutsFornecedor
LevaLote
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
++|||
|||
/
default(mais caixas)
acabouPedeLote
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixa
ProcessaLote
PegaLote
Processa Lote Processa CaixaSalts NutsFornecedor
LevaLote
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
+
+|||
|||
/
default(mais caixas)
acabou
PedeLote
Exemplo: Busca do BilheteExemplo: Busca do Bilhete
DistribuiCaixas
AbrirCaixa
AbrirBarra
ProcessaCaixa
ProcessaLote
PegaLote
Processa Lote Processa CaixaSalts NutsFornecedor
LevaLote
X X Xdefault
(não achou)
achou acabou
default(mais barras)
/ /
+
+|||
|||
/
default(mais caixas)
acabou
PedeLote
RepõeEstoque
ReferênciasReferências
Baldam, R. et al. Gerenciamento de Processos de Negócios. São Paulo: Érica, 2011.
Business Process Model and Notation (BPMN)Disponível em: http://www.omg.org/spec/BPMN/2.0.2
Weske, M. Business Process Management: Concepts, Language, Architectures. Hidelberg: Springer-Verlag, 2007.
http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-best-practices-basic-events/http://blog.goodelearning.com/bpmn/common-bpmn-modeling-mistakes-swimlanes/
Weske, M. Business Process Management: Concepts, Language, Architectures. Hidelberg: Springer-Verlag, 2007.