Business Process Modeling Notation BPMN Basics 1.2. Introdução a BPMN

Preview:

Citation preview

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

Recommended