Você está na página 1de 31

APOSTILA

BPMN 2.0

Janeiro 2024
Sumário
1. Conceitos gerais?................................................................................................................... 3
2. Modelo gráfico, informações gerais. ..................................................................................... 6
3. Gateways ................................................................................................................................ 8
4. Combinação de Gateways ................................................................................................... 11
5. Atividades sem interação humana ...................................................................................... 12
6. Tarefas de serviço e Script ................................................................................................... 13
7. Tarefa de Script e Regra de Negócio .................................................................................... 13
8. Transação............................................................................................................................. 15
9. Compensação ...................................................................................................................... 16
10. Sub-Processos.................................................................................................................. 17
11. Sub-processo de transação ............................................................................................. 19
12. Eventos intermediários – conceito catch e throw ........................................................... 20
13. Evento intermediário – temporizador ............................................................................. 21
14. Evento intermediário – link ............................................................................................. 21
15. Evento intermediário – Mensagem ................................................................................. 22
16. Objeto de dados e armazém de dados (Object data e Data Store) ................................. 22
17. Evento término (Bull’s eye).............................................................................................. 23
18. 3 Erros mais comuns dos analistas na notação BPMN .................................................... 23
19. Atividade de chamada – Call Activity .............................................................................. 24
20. Atividade com marcador de repetição sequencial (Marcador de loop) .......................... 25
21. Ícones e significados ........................................................................................................ 27
22. APÊNDICE I ...................................................................................................................... 29
22.1. SERVICE TASK e SCRIPT TASK ................................................................................... 29
22.2. Transação..................................................................................................................... 29
22.3. Glossário complementar ......................................................................................... 30
22.4. Definição de Instâncias ............................................................................................ 30

2
1. Conceitos gerais?

Os processos estão
Cada departamento executando definidos e acontecem na
sua função de maneira rotina das atividades da
“independente”, sem a empresa. Os
Processos executados Processos executados entre
existência de processos regendo departamentos existem
entre os os departamentos, porém
as atividades. para gerenciar o negócio
departamentos, porém em segundo plano. Os
em segundo plano. De departamentos ainda
maneira não gerencial possuem força de definição
e independência de atuação
3
4
5
2. Modelo gráfico, informações gerais.

Pool “Piscina”, onde


existe um processo a
ser mapeado. Por
exemplo “Venda de
passagem aérea”;

Fluxo de sequência.
Conecta

Atividade com verbo


no infinitivo seguido
por substantivo, que
Evento de início, indica indica ação.
onde o processo inicia.
Nenhuma linha de
fluxo deve ser
conectada ao evento
de início.

Gateway no BPMN
indica caminhos
alternativos para o
processo.

Um pouco diferente
dos fluxogramas
normais, pois trata de
divergências de vários
tipos e não de
decisões.

6
Se na notação, foi
utilizado um gateway
do tipo XOR (eXclusive
OR - exclusivo)
representado com um
“X” use para todos os
demais gateways deste
tipo no mesmo
processo.

Por que as organizações buscam mapeamento de processos?

Ter uma visão comum do processo para todos dentro da organização, quando se
tem a visão comum, busca-se o padrão e a partir deste ponto as melhorias são mais efetivas.

A “Pool” dos processos não conhecidos


(externos) é também denominada “caixa
preta”.

Que é uma pool sem elementos, apenas


com o fluxo de mensagem

A “Pool” dos processos


conhecidos (internos)
é também
denominada “caixa
branca”.

7
3. Gateways

Na divergência o “Gateway” XOR


ativa um único caminho, ou seja,
apesar de 3 saídas, apenas uma é
escolhida para continuar o
processo

Na divergência o “Gateway”
(Inclusivo) permite diversos
caminhos para executar o
processo

Na divergência o “Gateway”
Paralelo ativa todos os caminhos
para executar o processo.

8
Na convergência o “Gateway” XOR, vai
ser usado para finalizar o primeiro e
único caminho ativado. Quando este
caminho for concluído o processo tem
continuidade.

Na convergência o “Gateway”
(inclusivo), vai ser usado para
esperar todos os caminhos que
forem ativos estarem concluídos
antes de dar continuidade ao
processo.

Na convergência o “Gateway”
paralelo, vai ser usado para
sempre esperar todos os caminhos
estarem concluídos antes de dar
continuidade ao processo.

9
ATENÇÃO!!!!

Um mesmo gateway não pode ser


usado para convergência e
divergência.

O correto é criar um gateway de


convergência e outro para a nova
divergência

10
4. Combinação de Gateways

Usar um gateway paralelo em uma


divergência OR, ele vai esperar até todos os
caminhos estarem concluídos

Usar um gateway XOR em uma divergência


Inclusiva, ele vai seguir mesmo se os demais
caminhos ainda não foram concluídos!

Na converência de um gateway
paralelo, pode ser usado um
gateway Inclusivo. Apesar de ter a
mesma função do paralelo.

11
5. Atividades sem interação humana

Se eu não tipificar uma atividade, ou seja, se eu


manter ela abstrata, eu não consigo compreender
quem ou como ela é executada.

A partir do momento em que eu conheço o processo,


eu posso tipifica-lo. Desta forma na leitura do processo
eu compreendo quem a executa.

Tarefa de workflow, onde o elemento Tarefa de workflow, onde o elemento


humano executa a atividade com humano executa a atividade sem
auxílio de aplicação de software nenhum suporte ou auxilio de aplicação
de software.

Aplicação de software, significa que existe um sistema sendo operado e este sistema gerencia o
processo. Por exemplo, um sistema que cadastra pedidos de vendas em um ERP. Neste caso, o
usuário deve entrar com os dados, mas a aplicação conclui a ação.

Se o cadastro fosse realizado em um formulário de papel por exemplo, seria uma atividade
manual, já que após o preenchimento do formulário a atividade estaria concluída.

12
6. Tarefas de serviço e Script

As tarefas de serviço ou Script são utilizadas para rotinas automáticas.

Tarefa do tipo serviço. Pois neste caso Já neste caso, o sistema usa os dados
um sistema vai identificar os dados em da “instância” de processo para
uma consulta, sem interação humana. executar uma função também sem
interação humana.

VER APÊNDICE I para mais detalhes e exemplos.

7. Tarefa de Script e Regra de Negócio

Regras de negócio “GOVERNAM” o comportamento dos processos dentro de uma organização.


Ela possui mecanismo para enviar informação a um motor de regra de negócio e obter um
resultado dessa informação (muito similar a tarefa de serviço)

13
É possível executar a regra, existem elementos, É regra ou sistema?! Se não houver um sistema a regra
condições, conhecimento, recursos, etc? se mantém?

Não é usada linguagem de programação, e sim A organização detém autonomia sobre a regra. Pode
inteligível para quem a executa. ou não manter, remover ou alterar a regra.

14
Se uma regra existe, ela incondicionalmente vai
remover alguma liberdade trocando ela por controle.

Uma “Regra de negócio” define uma


regra que a organização definiu
(indepente de sistema), por exemplo...
Ao receber a reclamação a regra é
priorizar clientes que compram maior
valor ou pode ser também clientes que
compram com maior frequência.

8. Transação

Criar uma transação no processo, significa executar todas as atividades ou não concluir o
processo, para evitar que problemas intermediários no processo não tenham ações previstas
em caso de erro ou falha.

VER APENDICE I, para maiores detalhes

Neste exemplo, se a reserva não for


feita após o pagamento, vai gerar
grande insatisfação.

A transação “compartimenta”
atividades que imprescindivelmente,
precisam ocorrer paralelamente.

15
As tarefas principais foram
compartimentadas na “TRANSAÇÃO”, Aqui tudo ocorre em acordo
muito parecido com sub processo.

As tarefas são encapsuladas nesta caixa


de linha dupla.

Evento intermediário de cancelamento


Evento intermediário de excessão,
houve algum erro. Neste exemplo,
também é cancelado o processo.

9. Compensação

Uma tarefa de compensação é usada para indicar uma tarefa que pode ser desfeita. Em inglês
“Catch compensation”

16
Uma atividade que foi realizada, mas
apresentou problemas, deve ser
desfeita. Na notação BPMN uma
atividade de compensação indica que a
tarefa é de compensação. Para quem lê
o desenho, compreende que aquela
tarefa é para desfazer algo, realizado
anterioremente

10. Sub-Processos

Diferente da tarefa que é atômica, ou seja, indivisível, o sub-processo permite maior


detalhamento do que acontece em um processo maior. Quando em alguns elementos
compreendemos que muitas coisas acontecem dentro de uma atividade, ela pode ser tornar
um subprocesso com maior detalhamento de suas atividades.

Muitas atividades dentro da atividade


“Fazer pagamento” são importantes e
cruciais para o processo. Sendo
importante detalhar esta etapa, porém
sem removê-la do processo principal.

17
Detalhamento do sub-processo “Fazer
pagamento”

O Sub-processo AD-HOC, não coloca as tarefas em fluxo, mas sim, faz um resumo de tarefas
que devem ser realizadas naquela etapa. As atividades estão de certa forma relacionadas (forte
ou fraca), mas que não possuem um sentido de sequência obrigatório.

Este é um exemplo de sub processo AD


HOC da etapa “Selecionar Período”

18
11. Sub-processo de transação

A diferença do sub-processo de transação para o sub-processo padrão, é que no transacional,


as atividades podem ser desfeitas por tarefas de compensação.

No sub processo de transição, fica


claro que “Cancelar pagamento” é
uma atividade para desfazer a
anterior

Este “Evento de borda” de


cancelamento abre uma outra linha
no processo, para quando a tarefa
Este evento está na linha do
de compensação foi executada, ou
processo que deu certo.
seja, houve erro no pagamento.

Este “Evento de borda” de erro abre


uma exceção no fluxo, onde o
pagamento não foi concretizado,
mas deve ser verificado por um
humano.

19
12. Eventos intermediários – conceito catch e throw

Em um determinado processo, existe um evento que ocorre no intermédio do


processo.

Existem 2 tipologias de evento intermediário o catch e o throw, como no beisebol, onde um


lança e outro captura a bola.

Catch (captura): Aguarda a ocorrência de algo, para dar continuidade ao fluxo

Throw (lança): Este evento gera um fato uma ocorrência, para então dar continuidade ao fluxo.

Obs: NO exemplo acima, a chegada do carro é um evento do tipo Catch, pois só inicia depois do
pagamento ser realizado.

Um outro evento intermediário


(também do tipo catch) mas dessa
vez condicional, exige que a
condição seja satisfeita, para que o
fluxo continue.

20
13. Evento intermediário – temporizador

Eventos intermediários de borda são utilizados, quando algum comportamento previsto tem
probabilidade de não acontecer e a notação inclui a probabilidade independente de sua
dimensão ou tendência. Caso a probabilidade ocorra, existe um evento (atividade/tarefa) que a
prêve.

Um outro evento intermediário é o


temporizador (sem interrupção do
processo) para caso de após 1 dia
após a condição não seja satisfeita,
dispara outro processo, sem
interrompe r o fluxo principal.

Um outro evento intermediário é o


temporizador (com interrupção do
processo) que define um tempo
para que o evento seja concluído,
caso a condição não seja satisfeita,
outro processo se inicia.

14. Evento intermediário – link

Na seta preta o evento é de Throw


(lançamento)

Na seta branca o evento é de catch


(lançamento)

Funciona para melhorar a


legibilidade, onde um outro
processo continua em outra parte
do gráfico

Uma ponte virtual

21
15. Evento intermediário – Mensagem

Este evento intermediário é do tipo


catch, já que ele aguarda uma
mensagem para que então o
processo dê continuidade.

Se fosse do tipo Throw poderia ser


condicional ao envio de uma
mensagem.

16. Objeto de dados e armazém de dados (Object data e


Data Store)
Objeto de dados: Dados temporários ou informações temporárias, que podem ser
visualizados/acessados em qualquer parte do processo.

Banco de dados: É acessível por qualquer processo e tem a finalidade na notação de


representar um repositório no processo, ou seja, dados que possam ser acessados em alguma
atividade do processo.

Após a conferência do pagamento é


gerada uma “guia”, uma informação
temporária, que é gerada na
instância imediata do processo e
deixa de existir ou ser válida para
outra instância. Ela serve para
“dirigir” a atividade de vistoriar o Já na retirada do carro, existe um formulário que
carro. indica dados referentes a retirada do carro como
por exemplo: Status da vistoria, data e horário,
responsável pela vistoria, responsável pela
liberação, etc.

Este documento fica armazenado em um


repositório e pode ser acessada em outras partes do
processo.

22
17. Evento término (Bull’s eye)

Para melhorar o processo notado no item 17 desta apostila, um elemento adicional será
incluído. Pois a atividade de “Conferir pagamento” poderá ocorrer em paralelo a “Vistoriar o
carro”. Neste caso, se o pagamento não for autorizado e a vistoria do veículo estiver sendo
realizada em paralelo

O evento de término do tipo “bull’s eye” indica que


todos os tokens de divergência/convergência na
instância imediata do processo, devem também ser
canceladas, ou seja, no caso do pagamento não ser
autorizado o gateway paralelo, além de não ser
concluído, deve ter todas as suas divergências
canceladas.

18. 3 Erros mais comuns dos analistas na notação BPMN

1º Usar o fluxo de mensagem no lugar do fluxo de sequência.

2º Elementos sem o fluxo de sequência

23
3º Usar o fluxo de sequência no lugar do fluxo de mensagem.

19. Atividade de chamada – Call Activity

Um subprocesso amarrado a um processo, só pode


ser utilizado pelo processo pai.

Digamos que este subprocesso seja padrão e se


repita em outros processos da organização.

24
Ao invés de um subprocesso, temos uma atividade
de chamada. Quando eu abro essa atividade eu vejo
a versão principal dela, que pode ser chamada em
outros processos. A manutenção/revisão dessa
atividade, modifica ela em todos os processos aos
quais ela está amarrada.

20. Atividade com marcador de repetição sequencial


(Marcador de loop)

Existem atividades que em uma instância do processo ocorrem apenas uma vez, como um
evento de pagamento. Porém existem outras, que se repetem várias vezes antes de seguir em
frente. Existe uma maneira de realizar essa repetibilidade, que é uma divergência, sem
necessariamente um gateway.

No exemplo abaixo o cliente pode selecionar o carro e abrir as opções de valor e acessórios,
etc... até o carro final ser escolhido.

Na instância do processo em que o marcador de


loop ocorre, uma seleção minimamente deve ser
realizada.

25
O marcador de repetição ou marcador de
loop, pode ser usado também em um sub-
processo.

26
21. Ícones e significados

Um subprocesso de evento é
colocado em um processo ou Uma atividade de chamada é um
Uma Tarefa é uma unidade de
Uma transação é um conjunto de subprocesso. Ele é ativado compartimentador para uma
trabalho, o trabalho a ser
atividades que logicamente quando seu evento de início é tarefa ou processo definido
realizado. Quando marcado com
pertencem um ao outro; pode acionado e pode interromper o globalmente e reutilizado no
um símbolo  indica um
seguir um determinado contexto do processo de nível processo atual. Uma chamada
Subprocesso, uma atividade que
protocolo de transação. superior ou ser executado em para um Processo é marcada com
pode ser refinado.
paralelo (sem interrupção), um símbolo. 
dependendo do evento de início.

Tarefa de usuário representa


Regra de negócio: Quando trata de
São tipos de atividade. O aquela realizada por “humano”,
Os marcadores indicam o algo definido pela organização
envelope preto indica tarefa de porém com interação de
comportamento de execução das Service Task: Automática realizada
envio de mensagem (Throw) e o máquina, software ou sistema. Já
atividades: externamente (usa aplicação
envelope branco, indica tarefa de a atividade manual indica tarefa
externa)
recebimento de mensagem realizada unicamente por
VER APENDICE I Scrip Task: Automática realizada
(catch). humano, sem máquinas,
na instância do processo
sistemas ou aplicações.

Em um ponto de ramificação
seleciona exatamente um Em seus fluxos de saída só são
caminho de saída dentre as permitidos eventos ou tarefas de
Os ícones que indicam a Possui uma condição associada, a
alternativas existentes. Em um recepção; ativa somente o
sequência das atividades pela qual define se o caminho será
ponto de convergência, basta a caminho, cujo evento ou recepção
instância do processo. seguido ou não.
execução completa de um braço ocorrer antes.
de entrada para que seja ativado APENDICE I
o fluxo de saída
Inclusive Gateway Exclusive Event-Based Gateway Complex Gateway

Ativação inclusiva condicional. É


Em um ponto de ramificação
um ponto de ramificação, após
(divergência), todos os fluxos de
avaliar condições, um ou mais Desvio exclusivo baseado em
saída são ativados Comportamento complexo de
caminhos são ativados. Em um eventos (gerador de instâncias).
simultaneamente. Em um ponto ramificação ou convergência que
ponto de convergência de fluxos, A cada ocorrência de um dos
de convergência de fluxos, espera não pode ser capturado por outros
esperea que todos os fluxos de eventos subsequentes, inicia
que todos os caminhos de entrada tipos de desvio.
entrada ativos tenham uma nova instância do processo.
completem, antes de disparar o
completado para ativar o fluxo de
fluxo de saída.
saída.

27
Parallel Event-based Gateway
Data object Collection Data

Desvio paralelo baseado em Um objeto de dado representa Uma coleção de dados Um repositório de dados é um
eventos (gerador de instâncias). informação que transita ao longo representa uma coleção de local onde o processo pode ler e
Na ocorrência de todos os do processo, tal como informações como, por exemplo, escrever dados como, por
eventos subsequentes, se cria documento, formulários, e-mail, uma lista de itens de compra exemplo, uma base de dados ou
uma nova instância do processo. etc um sistema de arquivos. O
repositório de dados persiste,
além do tempo de vida da
instância do processo que o
acessa.

28
22. APÊNDICE I
22.1. SERVICE TASK e SCRIPT TASK

1. Tarefa de Serviço (Service Task):

• Descrição: Suponha que, como parte do processo de fabricação, você precise realizar
uma verificação de qualidade no produto final.
• Implementação: A Tarefa de Serviço poderia ser configurada para chamar um serviço
externo que realiza a análise de qualidade. Por exemplo, um sistema de controle de
qualidade automatizado que verifica as especificações do produto.
• Exemplo de Configuração:
• Tipo de Implementação: Chamar serviço web de controle de qualidade.
• Parâmetros: Informações sobre o produto a ser verificado.

2. Tarefa de Script (Script Task):

• Descrição: Suponha que, após a verificação de qualidade, você deseje atualizar o


estoque no sistema de gerenciamento da fábrica com base nos resultados da análise.
• Implementação: A Tarefa de Script poderia ser usada para executar um script que
atualiza o banco de dados do sistema de gerenciamento de estoque com as
informações da produção.
• Exemplo de Configuração:
• Tipo de Implementação: Script em uma linguagem como SQL, atualizando o
banco de dados.
• Script: "UPDATE Estoque SET Quantidade = Quantidade + 1 WHERE Produto =
'ProdutoX';"
22.2. Transação
No contexto do BPMN (Business Process Model and Notation), a "Tarefa de Transação"
(Transaction) refere-se a uma unidade de trabalho que é realizada como parte de uma transação
de negócios. Uma transação é uma sequência de atividades que precisam ser executadas de
forma atômica, ou seja, todas ou nenhuma deve ser concluída para garantir a consistência dos
dados e a integridade do processo.

Vamos considerar um exemplo prático de como uma "Tarefa de Transação" pode ser aplicada
na indústria:

Exemplo: Controle de Estoque durante a Produção

Suponha que você tenha um processo de fabricação de produtos em uma indústria e queira
garantir a consistência dos dados de estoque durante o processo de produção, evitando
inconsistências caso ocorram problemas.

1. Início do Processo:
• Inicialização do processo de fabricação.
2. Tarefas Operacionais:
• Diversas etapas do processo, como preparação de materiais, montagem,
verificação de qualidade, etc.
3. Tarefa de Transação (Transaction):

29
• Antes da etapa final do processo, pode ser inserida uma "Tarefa de Transação"
para garantir que todas as etapas anteriores tenham sido concluídas com
sucesso antes de prosseguir.
• Configuração da Tarefa de Transação:
• Subprocesso de Transação: Incluir todas as etapas do processo como
subprocessos dentro da transação.
• Condição de Sucesso: Todas as etapas do subprocesso devem ser
concluídas com sucesso para que a transação tenha êxito.
4. Tarefas Pós-Transação:
• Após a Tarefa de Transação, você pode ter outras tarefas que dependem do
sucesso da transação, como atualizar registros no sistema de gerenciamento de
estoque.
• Exemplo de Atualização de Estoque:
• Se todas as etapas da transação foram bem-sucedidas, pode-se usar
uma Tarefa de Serviço para atualizar o estoque no sistema.

O uso da Tarefa de Transação neste cenário garante que todas as etapas do processo de
fabricação sejam tratadas como uma unidade atômica. Se qualquer uma das etapas falhar, a
transação será revertida, mantendo a integridade dos dados. Isso é particularmente útil em
processos nos quais a consistência dos dados é crítica, como o controle de estoque em uma
indústria.
22.3. Glossário complementar
Marcador de sub-processo: Indica que a tarefa é um
sub-processo

Loop Marker: Indica tarefa de repetição

Tarefa paralela: Indica tarefa paralela em múltiplas


instâncias de um processo.

Tarefa sequencial: Indica tarefa sequêncial em uma


instância de processo ou sub-processo.

Ad-Hoc: Indica a atividade AD HOC, aquela que é


realizada sem o fluxo de sequência entre tarefas.

Marcador de compensação: Indica a atividade que


possui compensação prevista, ou seja, que em casos
de falha da condição alvo, desfaz a condição anterior.

22.4. Definição de Instâncias

Em BPMN (Business Process Model and Notation), o conceito de "instâncias" refere-se ao


número de vezes que uma atividade ou subprocesso específico é executado durante a execução
de um processo. Vamos explorar isso com mais detalhes:

30
1. Instância de Processo:
• Uma "instância de processo" representa uma execução completa do processo
de ponta a ponta. Cada vez que o processo é iniciado e executado, uma nova
instância de processo é criada.
2. Instância de Atividade:
• Dentro de um processo, uma atividade específica (como uma tarefa, evento ou
subprocesso) pode ser configurada para ser executada várias vezes durante
uma única instância do processo. Isso é conhecido como "múltiplas instâncias"
ou "looping".
• O número de vezes que a atividade é executada em uma instância de processo
é determinado por condições de loop ou por uma quantidade pré-definida.

Então, quando falamos sobre uma "tarefa paralela com múltiplas instâncias", estamos nos
referindo a uma situação em que uma tarefa específica é executada simultaneamente várias
vezes durante uma única execução do processo. Cada uma dessas execuções individuais é
considerada uma "instância" da atividade.

O "Parallel MI Marker" é usado para indicar visualmente que a atividade está ocorrendo em
paralelo, ou seja, várias instâncias da tarefa estão sendo executadas simultaneamente durante a
execução do processo.

Por exemplo, se você estiver modelando um processo de aprovação em que várias aprovações
devem ocorrer simultaneamente, cada aprovação individual seria uma instância da tarefa de
aprovação, e o "Parallel MI Marker" seria utilizado para indicar essa execução paralela.

31

Você também pode gostar