Você está na página 1de 2

BPMN 2.0 – Business Process Model and Notation BPMN 2.

BPMN 2.0 – Business Process Model and Notation BPMN 2.0 – Business Process Model and Notation
Captura Acionamento
Tarefas (Tasks) são Transações Início Intermediários Fim Fluxos de Sequencia (Sequence Flows) definem a sucessão de transições
unidades atômicas (Transactions) são um de execução.

A atividade é cancelada e o fluxo do

O processo ou subprocesso aciona


Tarefa

O processo continua somente se a


iniciado e provoca a interrupção do
de trabalho que o Subprocesso de conjunto de atividades,

fluxo do processo também sai na


Transação

A atividade não é cancelada e o


processo deve logicamente relacionadas

O processo aciona o evento e


O processo é iniciado por um

interrupção do processo pai.


executar. que podem seguir um

O subprocesso de evento é

O subprocesso de evento é

processo é desviado para a


Fluxo Padrão (Default Flow) será executado quando todas as outras

captura do evento ocorrer.


protocolo transacional.

iniciado e não provoca a

continua imediatamente.
Eventos condições não forem satisfeitas. Podem ser usados para representar o

sequencia do evento.

sequencia do evento.
caminho feliz (happy path) do processo.

o evento e conclui.
Atividades de Chamada
(Call Activity) são uma Subprocessos de Evento

processo pai.
Atividade de
referência síncrona a (Event Subprocess) são Fluxo Condicional (Conditional Flow) contém uma condição na qual define
Chamada
um processo reutilizado Subprocesso contidos num processo quando este fluxo será executado.

evento.
no processo atual. de Evento e ativados por um evento
de início, sendo
executado até o final ou
Subprocesso enquanto o seu contexto Posição
Compactado estiver ativo.
Elementos da notação e modelo BPMN 2.0 para documentação
Subprocesso (Collapsed Subprocess)
Compactado Simples (None):
são uma representação indicam pontos de início,
compactada do Subprocesso Expandido fim e mudanças de Fluxo de Mensagens
subprocesso onde (Expanded Subprocess) estado. (Message Flow) simboliza
Subprocesso
marcador (+) o torna Expandido são um agrupamento ou fluxos de informação que
Mensagem (Message): transpõem fronteiras
expandido. escopo de atividades recebimento e envio de
embutidas no processo. internas e externas de
mensagens.
uma organização. Podem
ser conectados a piscinas,
Temporal (Timer): ponto, tarefas e eventos de
Tipos de tarefas Marcadores instante, intervalo, e limite mensagem.
Enviar Subprocesso de tempo único ou cíclico.

Receber Repetição sequencial


Escalável (Escalation):
Usuário Instâncias múltiplas em paralelo ativa a mudança para um
nível mais alto de Piscinas (Pools) e Raias (Lanes)
Manual Instâncias múltiplas sequencial
responsabilidade. representam as responsabilidades
Regra de Negócio Atividades em ordem arbitrária (ad hoc) pelas atividades que podem ser
Condicional (Conditional):
Serviço Compensação reação a alterações nas
organizações, papeis ou sistemas.
Script condições de negócio ou
regra.
Conector (Connector):
Desvio Condicional Exclusivo (Exclusive Gateway) avaliam dois eventos associados
cada ramificação em separado e desvia para o primeiro são uma sequencia de
caminho que a condição for verdadeira. É recomendada fluxo.
Objeto de Dados (Data Object Reference)
Exclusivo com uma convergência exclusiva explícita (não obrigatória). Erro (Error): capturam ou
Base em Dados representam todos os tipos de informações,
acionam erro técnico ou Objeto
de
independentemente de sua natureza física. Eles
de negócio pré-definido. podem incluir documentos em papel, informações
Dados
Desvio Condicionado por Evento Exclusivo (Event-based abstratas ou registros eletrônicos de dados.
Gateway) aguardam acontecer o primeiro evento para Cancelamento (Cancel):
desviar ao seu caminho. É recomendada uma acionam ou reagem a
Exclusivo com convergência exclusiva explícita (não obrigatória). cancelamento de Repositório de Dados (Data Store Reference)
Base em Eventos transação. representam um armazenamento de dados que
Compensação Repositório existe, independentemente da instância de processo
Ativação Inclusiva Condicional (Inclusive Gateway) Em um (Compensation) tratamento de Dados específica e permanecerá disponível por muito
ponto de ramificação, após avaliar as condições, um ou ou ativação de ação de tempo após o término da instância do processo.
mais caminhos são ativados. Em um ponto de compensação.
convergência de fluxo, espera que todos fluxos de entrada Sinal (Signal): emitem
Inclusivo com
ativos tenham completado para ativar o fluxo de saída. sinais entre processos e Texto de Anotação (Text Annotation) é um artefato
Base em Dados Texto de
podem ser emitidos várias que pode ser associar a qualquer objeto de fluxo em
Anotação
vezes. mais de um ponto para contextualizar qualquer
Ativação Incondicional em Paralelo (Parallel Gateway) em Múltiplo (Multiple): anotação de texto.
um ponto de ramificação, todos os fluxos de saída são capturam um ou vários
ativados simultaneamente. Em um ponto convergência de eventos; acionam todos
Paralelo fluxos, espera que todos os caminhos de entrada eventos. Agrupamento (Group) documentam um grupo de
completem, antes de disparar o fluxo de saída. Agrupamento elementos do diagrama sem interferir na execução
Múltiplo Paralelo (Parallel
Multiple): capturam todos do processo. Evite confundir com subprocessos
eventos em paralelo. expandido e de evento.
Junção Complexa (Complex Gateway) Comportamento
complexo de ramificação ou convergência que não pode Final (Terminate): ativam a
terminação imediata de
Complexo ser capturado por outros tipos de desvio.
uma instância de
processo.

www.projeler.com.br
Esta guia foi criada com a
Fontes de referência: Avenida Carlos Gomes, 222, 8º andar
ferramenta Camunda Modeler
www.bpmb.de/poster | www.omg.org/bpmn/ | www.omg.org/spec/DMN | learn-dmn-in-15-minutes.com Porto Alegre - RS Tel 51 2139 5920
DMN 1.3 – Decision Model and Notation FEEL – Friendly Enough Expression Language FEEL – Friendly Enough Expression Language

Instruções Condicionais e de Laço Tipos de Dados


Requisito de Decisão (DRD Decision Requirements Diagram)
Exemplo // Resultado Descrição Tipo Descrição Exemplo
Se taxa for menor que 5 então “baixo”
if (taxa < 5) then ”baixo" else ”alto” // true String Qualquer sequência de caracteres “Fulano de Tal”, “123-XYZ”
senão “alto”
Decisões (Decisions) determinam as saídas com a
Decisão aplicação de entradas a lógicas de decisão. Testa se pelo menos um elemento Boolean Lógica booleana false, true
some i in [1, 2, 3, 4, 5] satisfies i > 4 // true
satisfaz a expressão.
Conhecimentos de Negócio (Business Knowledge) representam
Itera cada elemento para retornar o Integer Números inteiros (32 bit) -2,147,483,648 a 2,147,483,647
Conhecimento funções que encapsulam lógica de tomada de decisão for i in [1, 2, 3, 4, 5] return i * i // [1, 4, 9, 16, 25]
produto.
de Negócio
reutilizáveis. -9,223,372,036,854,775,808 a
Long Números inteiros (64 bit)
9,223,372,036,854,775,808
Dados de Dados de Entrada (Input Data) são insumos de informação Funções de String
Entrada exigidos por uma decisão. Exemplo // Resultado Descrição Double Números com ponto flutuante 3.14159265358979323846

Fontes de Conhecimento (Knowledge Sources) possuem a string length(“Guia para Modelagem”) // 19 Tamanho
Fonte de Date Unidades temporais date and time("2019-08-12T22:22:22”)
Conhecimento sabedoria e regulação para a tomada de decisão, tais como, upper case(“Guia BPMN 2.0”) // GUIA BPMN 2.0 Caixa alta
normas, políticas, melhores práticas e conhecimento analítico.
lower case(“Guia BPMN 2.0”) // guia bpmn 2.0 Caixa baixa
Comparações
Exigências de Informação (Information Requirements) substring(“Guia BPMN 2.0”, 5, 4) // BPMN Parte da string
Exigência de representam uma obrigatoriedade de informação para as entradas Nome Operador Exemplo Descrição
Informação replace(“Guia BPMN 2.0”, “BPMN”, “DMN”) // Guia DMN 2.0 Substitui parte da string
de uma decisão. Testa se o valor de entrada é igual a
Igual ”iss”, ”pis”, ”cofins”
contains(“Guia BPMN 2.0”, “BPMN”) // true Verifica se contém a string um dos literais da lista.
Exigências de Conhecimento (Knowledge Requirements) são
string(123) // “123” Transforma em string Testa se o valor de entrada é menor
utilizadas para ligar a decisão a Conhecimento de Negócio Menor < < 10
Exigência de que o valor indicado.
Conhecimento quando necessário. Representam um refinamento dos requisitos
de lógica de decisão. Funções de Números Testa se o valor de entrada é menor
Menor ou igual <= <= 10
ou igual ao valor indicado.
Exemplo // Resultado Descrição
Exigências de Autoridade (Authority Requirements) demonstram Testa se o valor de entrada é maior
Exigência de Maior > > 10
onde ir para descobrir como tomar uma decisão. abs(-1) // 1 Valor absoluto que o valor indicado.
Autoridade
even(2) // true Número par Testa se o valor de entrada é maior
Maior ou igual >= >= 10
ou igual ao valor indicado.
odd(2) // false Número ímpar
Lógica de Decisão (Decision Logic)
sqrt(9) // 3.0 Raiz quadrada
Intervalos
E CONCLUSÃO
Início Fim Exemplo Descrição
Funções de Datas
Testa se o valor de entrada é maior ou igual ao
Tabela de Decisão (Decision Table) Exemplo // Resultado Descrição incluir incluir [1..10]
valor inicial e, se é menor ou igual ao valor final.
Entradas (Facts) Saídas (Results) day of week(date(“2020-12-31”)) // “Thursday” Dia da semana Testa se o valor de entrada é maior que o valor
Política excluir incluir ]1..10] ou (1..10]
de Anotações month of year(date(“2020-12-31”)) // “December” Mês do ano inicial e se é menor ou igual ao valor final.
Expressão Expressão de Nome da Nome da
Acerto de Entrada 1 Entrada 2..n Saída 1 Saída 2..n
week of year(date(“2020-12-31”)) // 53 Semana do ano Testa se o valor de entrada é maior ou igual que
incluir excluir [1..10[ ou [1..10)
o valor inicial e se é menor ao valor final.
Valor de Resultado Resultado
1
Entrada 2a 1a 2a Testa se o valor de entrada é maior que o valor
Valor de Funções de Listas excluir excluir ]1..10[ ou (1..10)
Entrada 1a inicial e menor que o valor final.
Valor de Resultado Resultado
OU 2 Exemplo // Resultado Descrição
Entrada 2b 1b 2b [date and time(“2015-03-16T12:00:00”) .. Testa se a data de entrada é maior ou igual a
(rules) date and time(“2016-03-16T12:00:00”)] data inicial e menor ou igual a data final.
Valor de Resultado Resultado concatenate([1, 2, 3], [4, 5]) // [1, 2, 3, 4, 5] Concatenar listas
3 –
Entrada 1c 1c 2c count([1, 2, 3, 4, 5]) // 5 Contar lista
Indiferente Disjunções
distinct values([1, 1, 2, 2, 3, 3, 4, 5]) // [1, 2, 3, 4, 5] Valores distintos
Expressão Descrição
flatten([1, [2, 3], [4, 5]]) // [1, 2, 3, 4, 5] Aplainar
2, 5, 7 Testa se o valor de entrada é 2, 5 ou 7.
max([1, 2, 3, 4, 5]) //5 Máximo
Políticas de Acerto (Hit Policy)
<2, >=7 Testa se o valor de entrada é menor que 2 ou maior ou igual a 7.
mean([1, 2, 3, 4, 5]) //3 Intermediário
U Unique Retorna somente um resultado (padrão quando implícito). 2, [5..7] Testa se o valor de entrada é 2 ou entre 5 e 7.
min([1, 2, 3, 4, 5]) / 1 Mínimo
Acerto A Any Muitas regras podem coincidir e terá a mesma saída. > date and time(“2016- Testa se a data de entrada é maior que a data fixa na regra da
Simples reverse([1, 2, 3, 4, 5]) // [5, 4, 3, 2, 1] Reverso 03-16T12:00:00”) tabela de decisão.
(Single Hit) P Priority Uma saída é selecionada por uma lista priorizada. sort([5, 4, 1, 2, 3]) // [1, 2, 3, 4, 5] Ordenação

F First A primeira saída é selecionada pela ordem das regras. sum([1, 2, 3, 4, 5]) // 15 Soma Negações
index of([“a”, “b”, “c”, “d”, “e”, “f”], “c”) // 3 Posição Expressão Descrição
O Output Resultados são ordenados a partir de uma lista de valores.
append([1, 2, 3, 4, 5], 6) // [1, 2, 3, 4, 5, 6] Adicionar not(3) A valor de entrada é qualquer valor numérico diferente de 3
Acertos R Rule Resultados são ordenados na ordem das regras.
Múltiplos list contains([1, 2, 3, 4, 5], 5) // true Contido not(>10) A entrada é qualquer valor numérico não maior que 10
(Multiple Hit) C Collect Lista de resultados é retornada em ordem arbitrária.
remove([“a”, “b”, “c”, “d”, “e”, “f”], 2) // [“a”, “c”, “d”, “e”, “f”] Remoção not(10, [20..30]) A entrada não é igual a 10 ou entre 20 ou 30
C+, C<, C>, C# Soma (sum), mínimo (min), máximo (max) e contador (count). sublist([1, 2, 3, 4, 5], 2, 3) // [2, 3, 4] Sublista not(“Aceito”) A entrada não corresponde à sequência de caracteres “Aceito”

Esta guia de referência contém um resumo dos principais elementos


https://mauriciobitencourt.com/tag/guia/ https://www.roadmap.com.br
das notações e modelos BPMN 2.0 e DMN 1.3 – v2021-09-20

Você também pode gostar