Business Process Modeling Notation BPMN Basics 1.2. Introdução a BPMN.
Click here to load reader
Transcript of Business Process Modeling Notation BPMN Basics 1.2. Introdução a BPMN.
Business Process Modeling NotationBPMN Basics1.2. Introdução a BPMN
BPMN: Resolvendo GAP de Comunicações
• BPMN resolve as dificuldades das comunicações oferecendo uma linguagem comum– Linguagem simples de fácil entendimento– Capaz de desenhar os objetivos do negócio– Capaz de diagramar complexos problemas técnicos– Tratamento de Eventos em contexto
• Disparo de começo e fim de condições• Tratamento de Exceções
• BPMN vai além de workflow tradicionais– Workflow geralmente refere-se a tarefa de pessoas– BPMN foi designada para Negócio com complexidades empresariais
• Resolvendo problemas de integração• Pessoas, Sistemas e outros Processos, interagem em um ambiente
corporativo
BPMN: Alto nível e detalhes explícitos• Mostra o tempo e as responsabilidades
– Quem faz O que e Quando – em relação a outros participantes do processo
• Cada participante tem uma única perspectiva do processo– Exibe exatamente como cada processo participante interage
Quem(ou O que)
Timeline – Linha do Tempo
BPMN: Notação Robusta
CONCEITOS BÁSICOS BPMN
BPMN Formas Básicas: Tarefa
• Uma Tarefa é uma atividade atômica que está incluída em um Processo– Uma tarefa é utilizada quando o trabalho no processo não contém melhor nível de Modelo de Processo.– Geralmente, um usuário/aplicação é utilizado para executar uma Tarefa.– Em um processo de negócio, cada participante pode executar uma ou mais tarefas.
• Uma Tarefa pode ser:– Manual: quando executada por um Participante Pessoa– Automática: Quando executadas por Participantes Sistemas ou Processos
• Uma Tarefa compartilha a mesma forma de um Sub-Processo, que é um retângulo com os cantos arredondados.
Atividade
• Uma Atividade é como uma Tarefa ou Sub-Processo• Um Sub-Processo é um composto de atividades
– Possui detalhes que são definidos como um fluxo de outras tarefas / sub-processos
• Um Sub-Processo pode ser exibido de duas maneiras– Expandido – aparece com o sinal de menos “-”– Retraído – aparece com o sinal de mais “+”
Tarefa Sub-Processo(expandido)
Sub-Processo(retraído)
BPMN Regras de Sub-Processo
• Todas as atividades dentro de um sub-processo devem ser finalizadas antes de mover-se para a próxima atividade
• Sub-Processos tem um escopo– Dados do sub-processo “A” não são relevantes para o sub-processo “B”.
Seqüência:1A, 2A, 1B, 2B
BPMN Conceitos Chave
• 1. Participante– Um participante é qualquer coisa ou qualquer pessoa que interage em um
processo. Os participantes podem ser pessoas, sistemas, máquinas, outros processos, grupos de pessoas, grupos de sistemas etc.
• 2. Papéis– Um papel é um agrupamento lógico de pessoas e/ou sistemas que são
atribuídos para realizar uma categoria geral de trabalho no contexto do diagrama de processo. Ambas , pessoas e sistemas, podem estar em múltiplos papéis, mas raramente você verá pessoas e os sistemas misturados na mesma função.
• 3. Contexto de Escopo• Um escopo é como um container. Coisas do lado de dentro de um
container não podem ser acessadas do lado de fora. Cada escopo pode conter suas próprias atividades e dados.
• 4. Fluxo– Fluxo é a ordem em que as etapas do processo são realizadas. É importante
compreender que múltiplos fluxos podem estar ocorrendo com múltiplos papéis participantes, e estes fluxos podem ser realizadas simultaneamente..
• 5. Transição– Uma transição descreve o ligamento entre as atividades, e é mais
comumente conhecido como fluxo de linhas. – Transição também significa que uma atividade parou e outra já começou – Transição nunca ocorre entre os Participantes.
BPMN Conceitos Chave
Receive Order Fulfill OrderShip Ordered
ProductsSend Invoice
Transição
• Uma transição define como um processo participante executa atividades– Quais tarefas executar– Ordem da sequência
Abrir PortaAndar
através da Porta
Fechar a Porta
1. 2. 3.
Transições e Sequências de Fluxos
Receive Order Fulfill OrderShip Ordered
ProductsSend Invoice
Todas as tarefas devem possuir uma transição, caso contrário, você terá múltiplos pontos de início.
Atividades de Looping
• Tarefas e Sub-Processos podem conter “looping”
Tarefa única que se repete Todas as tarefas dentro de um
sub-processo depois de completas, entrarão em loop
Looping de dados em sub-processos
• Looping de sub-processos não são como um back-edge line (Workflow).
= Inicie e sobrescreva os dados antigos
= Faça passo 1 e 2 novamente, e adicione iterações nos dados dos processos.
• Os loopings de sub-processos tem mais capacidade do que back-edge lines.• Processos devem ir da esquerda para direita, nunca fazendo retornos.• Fácil compreensão de leitura.
Dúvidas
Exercício 1.2.1: Modelando Transições
• Cinco Tarefas, A, B, C, D, E em sequência
Exercício 1.2.2: Modelando Transições
• Tarefa B deveria na verdade ser um sub-processo.– Contém 2 tarefas: B1 e B2.
BPMN Shapes - Revisão: Shapes de Atividades
Tarefa
Sub-Processo - retraído
Sub-Processo - expandido
Sub-Processo - Looping
Tarefa - Looping
Múltiplos CAMINHOS de Transição
• Dividindo e Juntando com Gateways
Dividir e Juntar Processos
• Processos frequentemente requerem que múltiplas tarefas e eventos ocorram em paralelo.
Divisão Paralela(Implícita)
Divisão Paralela(Explicito com Gateway)
• Comportamentos de Gateways
Merge (Implícito)• Comportamento não
especificado
Merge Paralelo (Explícito)• Todas as tarefas devem ser
finalizadas antes do processo seguir em frente
Dividir e Juntar Processos
Paralelismo
Após a Tarefa 1, as outras três atividades serão executadas simultaneamente.
Tarefa 6 não será executada até que as Tarefas 2 e 5 estejam completas
Exercício 1.2.3: Paralelismo
1. Cinco tarefas, A, B, C, D, E em sequência Tarefa B deveria na verdade ser um Sub-Processo
2. Tarefa C deve ocorrer em paralelo com as atividades do Sub-Processo B
Caminhos Condicionais
Caminhos que são trilhados baseados em uma condição específica
ExclusivoSomente um caminho é seguido
Inclusivo• Todos os caminhos podem ser
seguidos
Condição Default
Caminhos “default” acontecem quando outras condições não são verdadeiras
Exclusivo( A ou B ), então C
Inclusivo• Se (A e/ou B) então siga o caminho
C
Juntando Caminhos
Boas Práticas: Divida com, Junte com
Correto:Comportamento esperado.
Incorreto: Impasse
Incorreto: Sem Sincronização!
OU…
Gateways Inclusivos Split / Merge
Gateway Inclusivo comporta-se similar ao Paralelo.
Múltiplos caminhos podem ser seguidos
Merge com Paralelo.
Exercício 1.2.4: Fluxo Condicional
• Sobre certas condições, nós devemos “bypass” a Tarefa C.
Comportamento de Sub-Processos
• Todas as atividades dentro de um processo devem ser completadas antes de seguir
• Se houver múltiplas seqüências, então será executado como um Paralelismo
BPMN Shapes - Revisão: Gateways
• Gateway Simples• Exclusivo baseado em Dados
• Paralelo• Inclusivo
Eventos
• Além dos shapes básicos de atividades, temos:
BPMN: Shapes de Eventos
Evento de Início são desenhados com uma única linha.
Shapes específicos de Evento
Eventos Intermediários são desenhados com um linha dupla
Eventos de Fim são desenhados com uma linha bold line.
Cada shape herda o comportamento do outro e assume também comportamentos próprios
BPMN Eventos Vazios
Evento Intermediário VazioImportante ponto do processo
• KPI (Key Performance Indicator)
Evento de início VazioIlustra que o processo começará aqui, mas sem
nenhum evento específico
BPMN Eventos Fim
Terminar / TerminateEncerra a instância do processo.
Evento Final Vazio• Ilustra onde o processo termina
• Processos podem ter múltiplos pontos de fim*.
BPMN: Eventos dentro de um Sub-processo
• Shapes “Inicio” e “Fim” podem ser usados dentro de um sub-processo
Intermediário – utilizado para definir loop de processo
Fim – uitlizado para demonstrar que o ciclo terminará neste ponto
Pontos de inicio facilmente identificados
Exercício 1.2.5: Condições
BPMN Eventos de Tempo
Evento intermediário de TempoAs tarefas aguardarão por um período específico de tempo antes de continuar
• Aguarde até uma data específica• Aguarde um determinado tempo
Evento inicial de TempoProcessos iniciam com um intervalo específico
definidos pelo timer• Inicie em um dia específico
• Inicie no primeiro dia do mês
Exercício 1.2.6: Evento de Tempo
1. Cinco tarefas, A, B, C, D, E na sequencia
2. Tarefa C deve ocorrer em paralelo com as atividades no subprocesso “B”
3. Sobe certas condições, podemos ignorar a tarefa C
4. Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades do subprocesso B
5. Nós queremos aguardar algum tempo antes de B1 seguir para B2
Eventos Intermediários: Enviando e Recebendo
• Throwing Eventos (enviando)
• Catching Eventos (recebendo)
• Message
• Error
• Cancel
• Signal
• Link
• Compensation
COMUNICAÇÃO EM BPMN
• Interações entre Participantes
Participantes
• Três tipos de Participantes: 1. Participante Sistema
2. Participante Pessoa
3. Participante Processo
O que é um Participante?
Qualquer recurso que está envolvido em um processo, seja ele um processo de negócio, um grupo de pessoas, um sistema ou outros processos.
Exemplos de Participantes
• Participantes interagem com os processos de negócio– Implementado via sistema BPMS
Processo de Negócio
Grupo de Pessoas
Servidor emails Servidor aplicações WEBAdministrador TI
GerenteDepartamento de compras
XYZ Process
Outros Processos
BPMN Shapes Básicos: “Pool” e “Lane"
Pool: Representa um participante do processo
BPMN Shapes Básicos: “Pool” e “Lane”
Lane: Divide um pool dentro de seções
BPMN Conceito: Interação
• Interação Pessoa com Pessoa– Voz, papel, telefone etc.
• Interação com Sistemas – Email, Web server, Blog Site
Dados do Processo
• Cada participante possui sua própria informação– Pessoas possuem conhecimento– Sistemas possuem dados– Processos possuem dados do processo
• Participantes podem trocar informações com outros participantes através de mensagens
• Participantes podem criar e manipular seus próprios dados
O que são Dados dos Processos?
Dados dos Processos consistem na informação da estrutura que está incluída em um Processo de Negócio. Cada instância de processo possui seus próprios dados.
Dados do Processo
Task Task Task
Process Data
Típico Modelo de Workflow(Petri - nets)
Típico Modelo BPM(Pi-Calculus)
Task Task Task Task
Dados trafegados através de cada tarefa
Dados compartilhados na piscina para todas as tarefas
A A, B A, B, C A, B, C, D
Timeline
Suzy’s Activities
Johnny’s Activities
Interações
• No fluxo de dados até que haja uma interação, toda comunicação é chamada “mensagem”– Escrita, falada, email, chamadas de serviço web etc.
Atividades do Robert
Atividades do Johnny
Interação em um sistema de BPM (BPMS)
• Em um sistema automatizado, o BPMS orquestra todas as atividades.– Todas as atividades existentes na piscina do processo
Sistema BPM
BPMN - Eventos de Mensagens
Evento intermediário de mensagemO processo irá aguardar até que uma
mensagem seja recebida antes de proseguir • Sincronização
• Gatilho
Evento inicial de mensagemProcesso inicia quando uma mensagem é recebida
• Mensagem é envidada a partir de outro participante
Evento final de mensagemProcesso termina quando uma mensagem é
enviada.• Mensagem enviada para outro participante
Fluxo de Processos X Fluxo de Dados
• Fluxo do processo define como as atividades são coordenadas do ponto de vista de um participamente específico.
• O fluxo de dados define o fluxo de informações que são trocadas entre os participantes.
Interação com mensagens para os participantes
• Mensagem é usada para se comunicar com participantes através de piscinas.• Dentro de uma piscina, mensagem nunca é utilizada. Transições são usadas para isso.• Dentro de uma piscina, não há fluxo de dados definido. Apenas fluxo de processo.• Entre piscinas, mensagens, contem dados que são enviados/recebidos de/para participantes.
Isto é chamado de Interação
Exercício: Fluxo de Processos X Fluxo de Dados
Qual desses diagramas está correto?
Fluxo Contínuo
Dois pontos de partida Dois pontos de partida
Faltando ligação
Eventos vs. Tarefas
Task
Exercício 1.2.7: Mensagens entre participantes
1. Cinco tarefas A, B, C, D, E na sequencia2. Tarefa C deve realmente ocorrer em paralelo com as atividades no subprocesso “B”3. Sob certas condições, podemos ignorar a tarefa C.
4. Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades no subprocesso B
5. Nós queremos esperar um tempo depois de B1, antes de iniciar o B2
6. Tarefa “A” deve iniciar o processo recebendo uma mensagem do participante “Clerks”
Exercício 1.2.8: Mensagens entre participantes
1. Cinco tarefas, A, B, C, D, E na sequencia2. Tarefa C deve realmente ocorrer em paralelo com as atividades no subprocesso “B”3. Sob certas condiçoes, podemos ignorar a tarefa C4. Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades do subprocesso B
5. Queremos esperar algum tempo depois de B1, antes de iniciar o B26. Tarefa A deve realmente iniciar o processo, recebendo uma mensagem do participante “Clerks”.
7. Tarefa E deve terminar o processo desencadeando um outro participante ‘Accounting’
BPMN - Revisão: Eventos Shapes
Terminate
Empty
Message
Timer
Error
Link
Compensation
Cancel
Condition
Signal
Q&A
Event Driven Flow
• Event Driven Gateway
Decisão baseada em dados
Condição baseada em qual evento ocorre
Event Driven Gateway
• Pode receber vários tipos de eventos
Q&A
Exception Path
• As coisas nem sempre ocorrem conforme o planejado.
Manuseio do caminho de exceção em BPMN
• BPMN tem uma maneira elegante de lidar com o fluxo de exceção
Fluxo de exceção
Fluxo normal
Resume Normal Flow
BPMN: Responsabilidades das Tarefas
• Automaticamente escalar tarefas que estão em atraso
– Fluxo de exceção pode direcionar tarefas para pessoas ou sistemas.
Eventos intermediários: Borda do Sub-processo
• Multiplos enventos intermediários também podem ser colocados na borda de um subprocesso.– Usado para capturar eventos específicos
• Eventos de erro• Eventos de tempo• Eventos de compensação
Normal Flow
Exception Flow
Exercício 1.2.9: Mensagem entre participantes
1. Cinco tarefas, A, B, C, D, E na sequencia2. Tarefa C deve ocorrer em paralelo com as atividades do subprocesso B3. Sob certas condições, podemos ignorar a tarefa C 4. Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo incluindo todas as atividades do subprocesso B5. Queremos esperar algum tempo depois de B1, antes de iniciar o B26. Tarefa A deve iniciar o processo recebendo uma mensagem do participante “Clerks”.7. Tarefa E deve terminar o processo desencadeando um outro participante ‘Accounting’
8. Se o subprocesso B não for concluído em um determinado tempo, queremos provocar uma outra tarefa.
Q&A
Fazendo seu diagrama ficar mais fácil de ser lido:
1. Cores2. Artefato Shapes3. Interpretação de requisitos em modelo de processos4. Exemplos5. Juntando tudo
Convenção de Cores
• Pode ser definido uma cor diferente para todos os objetos utilizado em um diagrama de processo.
• Uma cor diferente pode ser utilizada para cada tipo de piscina: processo, sistema, pessoas. Na piscina do processo, pode ser util utilizar as mesmas cores para diferentes tarefas, dependendo do tipo de participante que interage.
• Uma cor diferente também pode ser utilizado para tarefas em diferentes estados: totalmente implementadas, a ser implementada, em discução etc.
Piscinas, Lanes e links de mensagens
A tarefa assume a cor da piscina com quem troca mensagem
Tarefas abstratas estão na cor cinza (estabeleça um padrão)
Técnicas de Modelagem
• Criar o processo com tarefas iniciais– Utilize “Change activity type to” para mostrar os detalhes específicos
depois de conhecer melhor o processo.
BPMN é o caminho mais rápido para capturar um processo durante uma sessão de modelagem colaborativa.
Concentre-se no fluxo principal do processo Evite perder tempo nos fluxos participantes, para não
desviar sua atenção sobre o fluxo principal.
Adicionando os participantes
Depois de criado o fluxo do processo principal, fica mais fácil adicionar as piscinas participantes para mostrar a interação completa.
Q&A
BPMN Artifact Shapes
• Adicionando maior clareza.
Artefatos Shapes
• Anotação de texto• Artefato de dados• Grupo
BPMN: Anotação de Texto
• Todos os diagramas BPMN devem focar na transferência de conhecimento sobre o processo
• Anotação de texto é utilizado para documentar o processo com maior detalhe.
BPMN: Artefatos de Dados
• Artefatos de dados são utilizados no diagrama para definir onde os dados são criados ou trocados.
• Isto pode ser considerado uma técnica, porém BPMN suporta tanto a TI quanto os negócios, facilitando as atividades dos analistas de um diagrama.
– Artefato de dados associados: anexado a uma outra forma com uma linha pontilhada.– Free-standing: frequentemente utilizado para mostrar uma declaração de variável.
BPMN Artefatos Shapes: Grupo
• Grupo não tem fluxo associado.• Pode ser colocado sobre piscinas multiplas• Mostra atividades associadas e eventos para
documentar com uma maior clareza.– Não é executado.
Modelando Melhores Práticas1. Nomeando Pools/Lanes2. Nomeando Tarefas/Eventos3. Nomeando o label dos eventos de mensagens4. Uso do Gateway
BPMN: Objetivos
• Os objetivos da modelagem BPMN
1. Transferência de conhecimento sobre os processos de negócio.
2. Fazer o Diagrama de fácil leitura e entendimento.3. Criar um Diagrama eficiente utilizando o menor número
de formas para transmitir o conhecimento do processo.4. Reduzir os erros de interpretação por ser tão explícito
quanto possível.
Nomeando Piscinas
• A piscina em BPMN representa um participante.
É boa prática nomear a piscina com o mesmo nome do participante
Lembre-se de deixar uma piscina para o processo.
O processo é onde as decisões são tomadas.
BPMN: Nomeando Tarefas
• As tarefas devem ser nomeadas com a consideração da perspectiva do participante
Empregado envia- Processo recebe
Processo envia- Gerente recebe
Como você pode melhorar este digrama com uma melhor rotulagem de nomes das tarefas?
Condições – Melhores Práticas
Adicionar a questão na descrição do gateway
Cada ramo representa uma resposta. É recomendável que você rotule cada um.
Cada ramo pode ter zero, uma ou várias atividades
Condições – Melhores Práticas (2)
Evite condições não-exclusivas, onde os ramos das condições não estão relacionados uns aos outros
Use condições em cascatas, conforme exemplo a direita, fica muito mais claro.
Um gateway faz uma pergunta, somente uma pergunta
Regras – Regras Encadeadas
Condições podem ser encadeadas
Melhores Práticas: utilização de sub-processo, para evitar confusão, melhora a visibilidade
Q&A