Você está na página 1de 150

BPMN

Business Process Modeling


Notation
Agenda BPMN

Introdução
História
Especificação
Swinlanes
Atividades
Eventos
Passagens
Conexões
Exemplos
Introdução BPMN
O que é BPMN?
O BPMN é uma notação gráfica que tem por objetivo prover
instrumentos para mapear, de uma maneira padrão, todos os
processos de negócio da organização
O BPMN pode e deve ser compreendido por analistas de negócio,
técnicos, usuários e, eventualmente, sistemas
O diagrama BPMN pode servir como um novo contrato entre as
áreas técnicas e os usuários
O BPMN diminui a distância entre o mapeamento de processos
da organização e a implementação técnica destes processos
O BPMN deve ser um padrão simples e flexível, não-técnico e
expansível
Introdução BPMN
Características do BPMN
Simples
O BPMN pode começar a ser utilizado com elementos básicos
de fluxograma (“core elements”) e evoluir para elementos mais
complexos
Flexível
O BPMN deve ser capaz de mapear os processos da
organização, internos e externos (B2B)
Introdução BPMN
Características do BPMN
Não-técnico
Os analistas de BPMN não precisam ser necessariamente
profissionais técnicos
Expansível
A organização deve poder expandir o modelo de acordo com
regras e interesses próprios, criando novos instrumentos de
modelagem, sem prejudicar a especificação já existente
Introdução BPMN
Exemplo de BPMN
Introdução BPMN
Exemplo 1 - Visio:
Quantidade excessiva de diagramas e notações
BPMN
Exemplo 2 - BizAgi:
Específico para BPMN
Introdução BPMN
O BPMN não serve para mapear:
Organogramas
Telas de sistemas
Regras de negócio de aplicativos
Mapas estratégicos
Esquemas
Introdução BPMN
BPMN e padrões técnicos
O BPMN pode ser “traduzido” para padrões técnicos de
processos, como BPEL ou XPDL
Para cada objeto no BPMN, pode existir um correspondente
técnico em BPEL
A correspondência técnica entre o padrão visual (BPMN) e o
padrão técnico (XPDL, BPEL) é o que irá permitir, no futuro, que
os analistas desenhem processos e os sistemas gerem códigos
BPMN
História e evolução BPMN
O BPMN foi lançado inicialmente em maio de 2004 pela associação
internacional BPMI (Business Process Management Initiative)
O BPMN foi criado por representantes de empresas como IBM,
iGrafx (Corel), Pega, Onix e Lombardi (empresas de Workflow)
O BPMN não encontrou “especificações concorrentes” e passou a
chamar muito a atenção do mercado
História e evolução BPMN
Em 2005, o BPMI anunciou sua junção a OMG (Object
Management Group)
A OMG é uma associação aberta e não lucrativa que existe desde
1989
O objetivo da OMG é desenvolver e manter padrões e
especificações técnicas para a indústria de software
Atualmente, o BPMN está na versão 1.1

OMG Document Number: formal/2008-01-17 Standard document


História e evolução BPMN
Entre os padrões que a OMG mantém está o UML

Para discutir:

Como o padrão BPMN se relaciona ao UML?


Existe concorrência ou sinergia entre os dois?
O que teremos no futuro?
História e evolução BPMN
Hoje, de acordo com a OMG, existem 50 produtos “homologados”
que implementam, no todo ou em parte, a notação BPMN
São produtos de modelagem ou mesmo de execução (Workflow-
BPM)
De acordo com a OMG existem mais 4 produtos em
desenvolvimento
É pouco ainda. Porém, dentro de todo o mercado de BPM e gestão
por processos, o BPMN parece ser hoje a única unanimidade e, por
não ter concorrentes, com certeza será um padrão real daqui a
algum tempo
História e evolução BPMN
Algumas ferramentas
ilog (java-free):
www.ilog.com/products/jviews/diagrammer/bpmmodeler/
Visual Paradigm:
www.visual-paradigm.com (US$ 100,00)
Visio:
www.orbussoftware.com/bpmn.aspx (free)
www.itp-commerce.com (US$ 1200/2500)
BizAgi:
www.bizagi.com (free)
Intalio:
http://bpms.intalio.com/downloads.html (free)
Especificação BPMN
Download da especificação

A especificação completa do BPMN, assim como diversas


informações relacionadas, pode ser achada em: URL:
http://www.omg.org/spec/BPMN/1.1/PDF
Especificação BPMN
Business Process Diagram (BPD)
BPD é o diagrama padrão, o espaço de trabalho único para
o desenho de processos de negócio seguindo a
modelagem BPMN
Dentro do BPD, através do desenho de elementos gráficos,
montamos nosso processo de negócio
Especificação BPMN
Processo
Para a BPMN, processo é uma atividade realizada por uma
organização e composta por uma série de etapas e
controles que permitem o fluxo de informações
O conceito de processo é extremamente hierárquico, indo
desde macro-processos da organização até processos
realizados por somente uma pessoa
Já um Processo de Negócio (business process) é conceituado
como uma série de atividades que são realizadas por uma
organização ou através de diversas organizações
Especificação BPMN
Processo
Um BPD, portanto, é o ambiente para mapear um processo de
negócio que, por sua vez, pode ser constituído por um ou mais
processos
Estes processos dentro do processo de negócio podem, por sua
vez, serem constituídos por sub-processos
Especificação BPMN

Esquema representativo do conceito de processos e suas divisões. Adaptado de (CRUZ, 2000)


Especificação BPMN
Exemplo

O processo recebe uma reclamação, examina-a, e então divide-


se em três direções, depende se a reclamação foi aprovada,
negada ou foi para análise.
A opção de análise têm limite de tempo. Se não for executada a
tempo, é abortado e uma “execução especial” do processo é
executada.
O processo de “execução especial” comporta-se como o
processo pai: ele inicia examinando o pedido, então aprova ou
rejeita o pedido; não é mais permitido análise.
O processo pai termina quando a aprovação, negação, análise
ou escalação termina.
Especificação BPMN
Exemplo
Especificação BPMN
Usos do BPMN
O BPMN pode ser utilizado para mapear os seguintes tipos de
processos:
Processos internos (Private (Internal) Business Process)
Processos abstratos (Abstract (Public) Process)
Processos de colaboração (Collaboration (Global) Process)
Especificação BPMN
Processos Internos
É o tipo de processo mapeado mais comum, composto por
uma série de atividades que são realizadas unicamente
dentro de nossa organização
Especificação BPMN
Processos Abstratos
Muitas vezes, nosso processo inclui ações que são realizadas
fora do âmbito de nossa organização por pessoas que não
trabalham conosco e cuja atividade não podemos gerenciar
Essas pessoas podem realizar suas atividades em um processo
interno, mas nós não podemos “ver” este processo
Neste caso, utilizamos um modelo abstrato para representar
uma “entidade” independente, com processos próprios mas
que não nos interessa mapear
Especificação BPMN
Processos Abstratos

No exemplo abaixo, a autorização do pagamento é feito dentro de


um processo interno da instituição financeira, processo esse que
desconhecemos ou não nos interessa
Especificação BPMN
Processos de Colaboração
Neste modelo, dois ou mais processos independentes e
reutilizáveis se comunicam e estão dentro do nosso escopo de
visão (ainda assim, não necessariamente dentro de nossa
organização)
Neste caso, mapeamos os dois processos e, principalmente, o
relacionamento entre os dois
Especificação BPMN
Processo de Colaboração
Neste caso, o processo interno da Instituição Financeira é
conhecido e nos interessa
Especificação BPMN
Instâncias de Processos
É uma execução isolada de um processo

Ex.:
Numa loja de varejo com vários vendedores, cada um deles
pode estar conduzindo uma instância do processo de vendas,
de forma independente
Processos são iniciados e terminados através de eventos. Uma
vez iniciados, deve acontecer um evento que o finalize
Para que um processos de venda seja iniciados é necessário
que entre um cliente na loja, para que termine é necessário
entregar a mercadoria ao cliente depois de paga
Especificação BPMN
Token

É algo análogo a um 'segmento do fluxo' no processo. Sempre


que uma instância do processo for criada um token é criado e
propagado pelas atividades seguintes até que algo o faça
desaparecer, dividir-se, ou juntar-se a outros tokens. Em BPMN
os tokens podem ser executados em paralelos ou não.
Ou seja, a notação BPMN não obriga a criação de mecanismos
multithread.
Especificação BPMN
Token

No exemplo abaixo, 2 Tokens são criados dando início ao


processo. Observe que “início1” pode ser executado primeiro e
“início2” depois, ou vice versa, ou os dois podem ser
executados em paralelo, em uma ferramenta workflow que
suporte multithread legítimo.
Especificação BPMN
Token

A atividade “intermediário” atua como uma “junção de tokens”,


e “intermediário” somente é executado quando “início1” e
“início2” tiverem terminado. Se uma das atividades terminar
antes, o token “chega” até “intermediário” e fica aguardando
até que o outro token chegue até lá, para que o processo
prossiga em sua execução.
Especificação BPMN
Elementos do BPMN
A especificação BPMN é divida em três áreas de informações:
– Core Elements
– Full Elements
– Atributtes
Especificação BPMN
Elementos do BPMN
Core Elements:
Conjunto de elementos comuns e simplificados, capazes
de mapearem grande parte dos processos das empresas e
utilizado por profissionais iniciantes
Full Elements:
Conjunto de todos os elementos da especificação,
inclusive Core Elements, capazes de mapearem qualquer
processo de negócio
Especificação BPMN
Elementos do BPMN
Atributos:
Conjunto de propriedades e informações de cada
elemento (informações não-gráficas)
• Nome
• Descrição
• Categoria
• Tipo
• Responsável
• Serviço (WebService)
• Etc...
Especificação BPMN
Categorias de Elementos
Os elementos são divididos em:
Objetos (Flow Objects)
Conexões (Connections Objects)
Swinlanes
Artefatos (Artifacts)
Especificação BPMN
Objetos
Eventos
Atividades
Decisões (Gateways)

Eventos Decisões
Atividades
Especificação BPMN
Conexões
Seqüência (Sequence Flow)
Mensagem (Message Flow)
Associação (Association)

Seqüência Mensagem Associação


Especificação BPMN
Swinlanes
Piscinas (Pools)
Raias (Lanes)
Especificação BPMN
Artefatos
Dados (Data)

Texto (Text)

Grupo (Group)
Especificação BPMN
Regras para modelagem
O desenho do processo pode ser na horizontal, ou na vertical.
O mais comum é na horizontal
Os objetos podem ter ou não ter títulos associados
Se possuir título, ele pode ser dentro ou fora do elemento
(acima, abaixo ou ao lado)
Os elementos podem ser de qualquer tamanho, desde que se
siga um padrão
Especificação BPMN
Tamanho e posição do título

Realizar compra
Especificação BPMN
Regras
A cor padrão dos elementos é branca
Os elementos poderão ser coloridos a vontade para
representar regras de negócio própria, segmentar
informações ou enfatizar objetos
Os elementos poderão ter ícones especiais associados, desde
que não se confundam com os ícones do padrão
Especificação BPMN
Regras
É permitido criar novos tipos de artefatos
As fontes do texto poderão ser selecionadas a vontade
A conexões igualmente poderão ser coloridas
As conexões poderão se encaixar em qualquer posição dos
objetos
Especificação BPMN
Conexões
Especificação BPMN
Alertas
Após selecionado um padrão (posição do título, tamanho, cor,
fonte, etc.) manter este padrão ao longo de todo o BPD, e se
possível ao longo de todos os processos da organização
Jamais modificar ou influenciar na forma dos elementos (ex.:
nas atividades as bordas são SEMPRE arredondadas)
Por ser a especificação bastante aberta, é necessário um
projeto de “padronização da implantação do padrão” na
empresa
Especificação BPMN
Swinlanes
Piscina (Pool)
Uma Piscina representa um participante do processo
Um participante pode ser uma entidade (a própria empresa)
ou um elemento mais genérico (“cliente”, “vendedor”,
“fornecedor”) independente
Piscina não representa os departamentos de uma empresa
Em um modelo B2B, cada Piscina representa uma empresa
separada e independente
Dentro de um BPD, posso ter uma ou mais Piscinas
Dentro de uma Piscina, tenho um ou mais Processos
Especificação BPMN
Swinlanes

Piscina (Pool)
No exemplo abaixo, temos duas Piscinas, cada um com
processos independentes, mas que se comunicam
Especificação BPMN
Swinlanes

Piscina (Pool)
O mesmo diagrama porém no modelo “Caixa Preta” (Processo
Abstrato), onde não conhecemos os detalhes da Piscina
Especificação BPMN
Swinlanes

Piscina (Pool)

Para discutir

Note como as flechas que ligam elementos em diferentes


Piscinas são pontilhadas, ao contrário das demais, que são
contínuas
Especificação BPMN
Swinlanes

Raias (Lanes)
As Raias são utilizados para organizar e categorizar os objetos
do fluxo, facilitando a leitura e interpretação do desenho do
processo
São comumente utilizadas para representar os setores ou
departamentos da empresa
Especificação BPMN
Swinlanes

Raias (Lanes)
A especificação não define o formato, tamanho ou posição dos
títulos das Raias
Especificação BPMN
Atividades

Atividade é um trabalho que é realizado dentro de um


processo de negócio
A atividade pode ser atômica ou não-atômica
(composta)
As atividades podem ser dos seguintes tipos:
Tarefa
Sub-Processo
Especificação BPMN
Tarefa
A tarefa é a unidade atômica de um processo, é o objeto que
não pode ser quebrado em mais objetos
A tarefa geralmente é executada por uma pessoa ou por um
sistema
Através da execução de tarefas, o processo encaminha-se de
seu início até o fim
Especificação BPMN
Tipos de Tarefas
Tarefa de Serviço

Representa a execução de um serviço automatizado, como


conexão a um WebService ou execução de um aplicativo na
rede
Tarefa de Recebimento

Esta tarefa aguarda de maneira automática e controlada o


recebimento de uma mensagem (uma informação) vinda de um
aplicativo externo; uma vez recebida a mensagem, a tarefa é
finalizada. Ex.: “aguardar o ERP gerar o arquivo de finanças”
BPMN

Tarefa de Envio

Esta tarefa envia uma


mensagem a aplicativo
externo. Uma vez enviada a
mensagem a tarefa finaliza.
Ex.: chamada simples a um
WebService
Especificação BPMN
Tipos de Tarefas
Tarefa de Usuário
Processo aguarda usuário executar tarefa dentro de um
sistema (Ex.: “aprovar compra”)
Tarefa de Script
Um script de comando é executado
Tarefa Manual
A tarefa manual é realizada por um usuário fora de
qualquer sistema (Ex.: “telefonar para fornecedor”)
Especificação BPMN
Tipos de Tarefas
Tarefa de Referência
Quando duas tarefas são iguais, é possível determinar
uma tarefa de referência que será padrão para as
demais

Importante:

Esses são somente exemplos


O BPMN não determina nomenclatura ou simbologia
específica para cada tipo de tarefa.
Especificação BPMN
Conexões e Tarefas
As tarefas podem receber nenhuma, uma ou mais conexões
As tarefas podem dar origem a nenhuma, uma ou mais
conexões

Para discutir:

O que significa quando a tarefa não recebe nenhuma conexão?


O que significa quando a tarefa não dá origem a nenhuma conexão?
Especificação BPMN
Conexões e Tarefas
Especificação BPMN
Sub-Processo
Um sub-processo, dentro de um BPD, é conhecido como uma
atividade composta por um série de outras atividades,
formando um novo fluxo
Nós podemos olhar o sub-processo como uma atividade
única, um bloco único, semelhante a uma tarefa, ou podemos
olhar “internamente”, desvendando os seus detalhes
Especificação BPMN
Sub-Processo

Dentro de um desenho de fluxo, um sub-processo pode ser


mostrado em sua forma “aberta”ou “fechada”

Forma Fechada
Especificação BPMN
Sub-Processo

Forma Aberta
Especificação BPMN
Sub-Processo

Um sub-processo fechado caracteriza-se por um caixa igual a


Atividade, porém com o símbolo [+]

Já o sub-processo aberto é uma caixa igual a atividade, porém


com o desenho do novo processo internamente (logicamente,
neste caso, precisamos usar uma caixa maior para representar
todo o fluxo internamente)
Especificação BPMN
Sub-Processos
O desenho completo de um sub-processo fechado pode estar
ou não dentro da mesma Piscina do processo-pai
Pode ser um processo mapeado em outro BPD (arquivo)
Pode estar no mesmo BPD em outra página ou outra
posição
No caso de um sub-processo aberto, o desenho completo
estará sempre na mesma Piscina
Especificação BPMN
Dependente X Independente

Os sub-processos podem ser do tipo Dependente (Embedded),


quando são totalmente dependentes do processo-pai e devem
ser desenhados dentro da mesma Piscina
Ou podem ser independentes, quando são reutilizáveis através
de diferentes processos e possuem um BPD próprio (e até
mesmo Piscinas diferentes)
Especificação BPMN
Usos de sub-processos
Os sub-processos podem ser utilizados:
Para representar processos reutilizáveis
Para controle e tratamento de erros em processos
Para ações de compensação em processos
Para controle de transações de processos
Especificação BPMN
Transação
O conceito de transação dentro do mapeamento de um
processo é moderno e ainda fonte de muitas dúvidas
Uma transação é um tipo de sub-processo que força que todas
as atividades dentro dele sejam completadas com sucesso ou
canceladas
Dentro do BPMN, um sub-processo transacional é
representado por uma retângulo de bordas arredondadas e
linha dupla
Especificação BPMN
Especificação BPMN
Transação
No exemplo do fluxo anterior, é necessário que tanto a reserva
do vôo quanto a reserva do hotel sejam completadas com
sucesso para o fluxo prosseguir
Se a reserva do vôo é concluída e a reserva do hotel não,
a reserva do vôo deve ser cancelada, e vice-versa
Especificação BPMN
Sub-Processos
Todas as demais regras de caracterização e desenho de
tarefas se aplicam também a Sub-Processos
Na prática, devemos compreender o sub-processo como uma
tarefa composta
Especificação BPMN
Atividade Loop Padrão
Uma Atividade Loop Padrão possui uma condição associada
que é verificada após cada execução; se a condição é
verdadeira, a tarefa é reiniciada automaticamente! O loop
ocorre até a condição ser falsa
Especificação BPMN
Atividade Loop Multi-Instância
Atividade Multi-Instância possui uma expressão ou condição
padrão associada que é pre-avaliada para pré-determinar a
quantidade de vezes que a tarefa será executada
Especificação BPMN
Loops e Sub-Processos
Sub-Processos são atividades, por isso estas regras aplicam-se
aqui também:

Importante
Não é possível que uma atividade (uma tarefa ou um sub-
processo) seja Loop Padrão e Loop Multi-Instância ao mesmo
tempo
Especificação BPMN
Eventos
Evento é alguma coisa que “acontece” durante o andamento de
um processo de negócio
Os eventos interferem no curso do fluxo e geralmente possuem
uma causa (trigger) e/ou um impacto (result)
O início de uma atividade, o fim de uma atividade, uma
mudança de status, o recebimento de uma mensagem, tudo
pode ser considerado um evento
Especificação BPMN
Eventos
Os eventos podem ser de três tipos:
Início
Intermediário
Fim
Os eventos são de uso opcional, mas são altamente recomendáveis
para modelagens completas
Os eventos são sempre representados por um círculo
Especificação BPMN
Evento de Início
O evento de início representa o start de um processo
Sua utilização é opcional, porém altamente recomendável
Se não existe evento de início no diagrama, então todas as
tarefas que NÃO POSSUEM conectores que “chegam” nelas são
iniciadas ao mesmo tempo
Se existe um elemento de fim, então o elemento de início é
obrigatório
Nenhum fluxo de seqüência de entrada pode ser conectado a
um evento de início
Especificação BPMN
Evento de Início
A definição da causa (trigger) do início do processo pode ser
melhor detalhada através de ícones plotados dentro do
elemento de início
Especificação BPMN
Evento de Início:
Padrão
O objeto padrão do evento de início é um círculo sem desenho
interno (trigger)
Ele é utilizado quando não desejamos representar a causa de
início ou para representar inícios em sub-processos
Especificação BPMN
Evento de Início:
Mensagem
O recebimento de uma mensagem dá início ao processo
Ex.: chamada de um WebService, fechamento do balanço do
mês, geração do arquivo de usuários, etc...
Especificação BPMN
Evento de Início:
Timer
Possui uma determinada regra de tempo associada (dia 31/12
as 14:00) ou um ciclo de tempo (toda segunda-feira as 14:00)
dá início ao processo
Especificação BPMN
Evento de Início:
Regra
Uma determinada regra de negócio (algoritmo) dá início ao
processo
Ex.: “quando a temperatura passar dos 30 graus”, “quando o
saldo em caixa baixar de R$10.000,00”, etc....
Especificação BPMN
Evento de Início :
Sinal
Um sinal pode ser transmitido de um processo e acionar o
início de outro. Note que um sinal não é uma mensagem que
possui um destino específico
Múltiplos processos podem ter seu evento de início acionado
por um mesmo sinal emitido
Especificação BPMN
Evento de Início:
Múltiplo
Significa que existem diversas maneiras de iniciar um processo
Se uma das maneiras tornar-se verdadeira o processo inicia
A descrição de atributos do elemento irá definir quais são
essas condições/triggers
Especificação BPMN
Evento de Início:
Conexões
Um evento de início não pode receber nenhum tipo de
conexão
Um evento de início deve obrigatoriamente dar origem a 1 ou
mais conexões
Especificação BPMN
Evento de Fim

Como o nome indica, o evento de fim representa o final de um


processo
Um evento de fim possui a mesma forma circular de um evento
de início, porém sua borda deve ser mais GROSSA
Especificação BPMN
Evento de Fim
Indica onde um processo termina
Um processo pode ter nenhum, um ou mais eventos de fim
É altamente recomendável que possua ao menos um evento
de fim e nenhum fluxo de seqüência de saída pode ser a ele
conectado
Se o processo possui evento de início, então é obrigatório ao
menos um de fim
O processo como um todo não necessariamente finaliza
quando este é alcançado, e sim quando todos os tokens
pendentes alcançam algum evento de fim
Em processos sem evento de fim, o processo é finalizado tão
logo todas as atividades pendentes são finalizadas
Especificação BPMN
Evento de Fim:
Padrão
Utilizado quando não desejamos representar o tipo de fim ou
em eventos de fim de sub-processos
Especificação BPMN
Evento de Fim:
Mensagem
Indica que uma mensagem é enviada para um participante do
processo ao final do fluxo
Especificação BPMN
Evento de Fim:
Erro
Este tipo de fim deve ser utilizado para representar que um
erro foi gerado e deverá ser tratado
O erro será pego pelo evento intermediário de erro com ou
sem seu respectivo código
O comportamento do processo não é especificado se não
houver uma atividade que tenha o evento intermediário de
erro
Ex.: “Throw Exception”
Especificação BPMN
Evento de Fim:
Cancelamento
Este tipo de evento de fim deve ser utilizado somente em sub-
processos transacionais
Ele significa que todo o sub-processo deve ser cancelado por
alguma de suas etapas não ter alcançado resultado satisfatório
Ex.: não foi possível reservar o hotel para a viagem, é
necessário cancelar toda a viagem
Além disso indica que uma mensagem de cancelamento de
protocolo de transação será enviada a quaisquer entidades
envolvidas na transação
Especificação BPMN
Evento de Fim:
Compensação
Este tipo de fim indica que é necessário uma compensação
Se uma atividade for identificada, então será a atividade a ser
compensada. Do contrário todas as atividades que tenham sido
completadas dentro do processo, começando com o processo
de nível mais alto e incluindo todos os subprocessos, estarão
sujeitas a compensação, procedendo em ordem inversa
Para ser compensada, uma atividade deve ter um evento
intermediário de compensação anexado ao seu delimitador
Especificação BPMN
Evento de Fim:
Sinal
Este tipo de evento indica que um sinal será emitido quando o
FIM tiver sido alcançado. Note que o sinal, o qual é transmitido
a qualquer processo que possa receber um sinal, pode ser
enviado através de níveis de Processo ou piscinas, mas não é
uma mensagem (que possui uma origem e um destino
específicos)
Especificação BPMN
Evento de Fim:
Término
Este tipo de fim indica que todas as atividades do processo
independente de status ou posição devem ser finalizadas
imediatamente
Isso inclui todas as instâncias e multi-instâncias. O processo
termina sem tratamento de compensação ou eventos
Especificação BPMN
Evento de Fim:
Múltiplo
Este tipo de evento indica que há múltiplas conseqüência ao
terminar um processo. Todas elas ocorrerão.
Ex.: Podem haver múltiplas mensagens enviadas
Estas conseqüências devem ser descritas junto com a
documentação de atributos do elemento
Especificação BPMN
Evento de Fim:
Conexões
O evento de fim pode receber uma ou mais conexões de
seqüência
O evento de fim não pode receber conexões de mensagem
O evento de fim não pode dar origem a uma conexão de
seqüência, mas pode dar origem a uma conexão de mensagem
Especificação BPMN
Teste: O que isso significa?
Especificação BPMN
Evento Intermediário
O evento intermediário ocorre entre o início e o fim do
processo, afetará o fluxo, mas não começará nem (diretamente)
terminará um processo
É utilizado para:
Mostrar onde mensagens são enviadas ou esperadas
dentro do processo
Mostrar tempos de espera no processo (ex.: aguardar 1
dia)
Mudar o curso normal do fluxo através do tratamento de
exceções
Mostrar o trabalho extra necessário para compensação
Especificação BPMN
Evento Intermediário
O evento intermediário é representado por um círculo de linha
dupla
Especificação BPMN
Evento Intermediário
Dentro de um fluxograma, o evento intermediário pode estar de
maneira independente interligado por conexões, ou pode estar
“acoplado” a uma atividade, seja tarefa ou sub-processo
Quando ligado a uma atividade, o evento intermediário pode ser
acoplado em qualquer posição da tarefa (acima, abaixo, ao lado), mas
é recomendável padronizar
A ligação de um evento intermediário a uma atividade é utilizada
para tratamentos de exceção e eventos de compensação, somente
Especificação BPMN
Evento Intermediário:
Padrão
Válido somente para eventos que estão dentro do curso normal
do processo (NÃO acoplados a atividades);
Utilizado em técnicas de modelagem para indicar alguma
mudança no status do processo;
Especificação BPMN
Evento Intermediário:
Mensagem
Dentro do fluxo normal, pode significar o aguarde pelo
recebimento de uma mensagem ou o envio de uma mensagem
para um participante (ex.: envio de e-mail)
Quando for usado para capturar uma mensagem o marcador do
evento será pintado sem preenchimento, para acionar uma
mensagem o marcador do evento será pintado com
preenchimento
Acoplado a uma atividade, representa uma exceção que é
lançada ao recebimento de uma mensagem
Especificação BPMN
Evento Intermediário:
Temporizador (Timer)
Dentro do fluxo normal, será utilizado como um mecanismo de
espera do fluxo (ex.: aguardar 5 dias para continuar)
Acoplado a uma atividade, representa uma exceção que é
lançada ao estouro de um tempo ou alcance de uma data
Especificação BPMN
Evento Intermediário:
Erro

Somente pode ser usado acoplado a uma atividade e


representa a captura de um erro ocorrido (catch) para possível
tratamento
Especificação BPMN
Evento Intermediário:
Cancelamento

Este tipo de evento só pode ser utilizado em sub-processos


transacionais, acoplado a caixa do sub-processo
Este evento será acionado no momento que o sub-processo
alcançar um evento de fim de cancelamento
Especificação BPMN
Evento Intermediário:
Compensação
É usado para tratamento de compensação, tanto para ativar
quanto para executar a compensação. Quando for usado no
fluxo normal, o evento intermediário indica que é necessária
uma compensação. Para tanto, é usado para ativar o evento de
compensação e o marcador do evento será pintado com
preenchimento. Se o evento indicar uma atividade, então essa
(e não outra) é que será compensada. Do contrário, a
compensação é transmitida a todas as atividades que tenham
sido completadas dentro da instância do processo, começando
com o processo de mais alto nível e incluindo todas os sub-
processos.
Especificação BPMN
Evento Intermediário:
Compensação (continuação)
Cada atividade completada que estiver sujeita a compensação
será compensada, em ordem inversa a que se completaram as
atividades. Para ser compensada uma atividade deve ter um
evento intermediário anexado à sua delimitação.
Quando estiver anexado ao limite de uma atividade, o evento
será acionado por uma compensação que identifica essa
atividade ou para uma compensação de transmissão. Quando
for usada para capturar o evento de compensação, o
marcador do evento será pintado sem preenchimento.
Quando o evento for acionado, a atividade de compensação
que está associada ao evento será executada.
Especificação BPMN
Evento Intermediário:
Compensação (continuação)
A compensação faz parte das modernas técnicas de
modelagem de processos, e ainda é um tópico pouco explorado
Ela refere-se ao conjunto de atividades necessárias para
cancelar o que foi realizado em uma dada outra atividade
Por exemplo, em uma tarefa de “reservar hotel”, a
compensação, lançada por uma determinada condição do
processo (ex.: viagem cancelada), será “cancelar a reserva do
hotel”
Especificação BPMN
Especificação BPMN
Evento Intermediário:
Condicional (Regra)
Esse evento é utilizado para inserir regras de negócio aos
processos e é acionada quando uma determinada condição se
torna verdadeira
Especificação BPMN
Evento Intermediário:
Enlace (Link)
Utilizado no curso normal do processo para representar um
enlace com outro processo ou outra parte do processo,
principalmente em modelagens com mais de uma página
Podem ser usados para criar situações cíclicas ou para evitar
longas linhas de fluxo de seqüência
O uso do evento está limitado a nível simples de processo, não
pode ser usado para ligar um processo mãe a um sub-processo
Podem haver múltiplos eventos de enlace de origem, mas só
pode haver um enlace de destino
Quando for usado como destino o marcador não será
preenchido sendo ao contrário se for de origem
Especificação BPMN
Evento Intermediário:
Sinal (Sign)
Esse tipo de evento é usado para enviar ou receber sinais. Um
sinal é para comunicação geral dentro e ao longo de níveis de
processos, através de piscinas e entre diagramas de processos
de negócio
Um sinal BPMN é como uma luz de uma labareda que se
dispara no céu para quem esteja interessado em observá-la
para, então, reagir
Portanto, existe uma origem do sinal, mas não há um destino
específico. Isso é diferente de uma mensagem BPMN, a qual
possui uma origem e um destino específico
Especificação BPMN
Evento Intermediário:
Sinal (Sign)

Pode enviar ou receber sinais se os eventos são parte de um


fluxo normal. O evento só pode receber um sinal quando está
anexado à delimitação de uma atividade. O evento de sinal se
diferencia do evento de erro, no sentido de que o sinal define
uma condição mais abrangente e não somente de erro para
interromper as atividades
Especificação BPMN
Evento Intermediário:
Múltiplo
Isso significa que há muitos acionadores designados ao evento
Se for usado dentro do fluxo normal pode “capturar” ou
“lançar” os acionadores. Quando anexado a uma atividade, o
evento só pode “capturar” o acionador

Estas maneiras devem ser descritas junto com a documentação


de atributos do elemento
Especificação BPMN
Eventos Intermediários:
Resumo
Eventos Mensagem, Timer, Erro, Cancelamento, Compensação,
Regra e Múltiplo podem estar acoplados ao corpo de uma
atividade
Evento de Cancelamento pode estar acoplado ao corpo de um
sub-processo se este for transacional
Eventos Padrão, Mensagem, Timer, Erro, Compensação, Regra e
Link podem estar no curso normal do processo
Especificação BPMN
Decisões (Gateways)
Decisões são elementos utilizados para controlar como fluxo
diverge ou converge ao longo de sua execução
Se o fluxo não precisa ser controlado, não precisamos utilizar
decisões; eles são opcionais (fluxo não-controlado)
Decisões têm o seguinte formato:
Especificação BPMN
Decisões
Ao contrário de outras técnicas de modelagem, no BPMN, o
mesmo tipo de decisão pode ser utilizada tanto para divergir
quanto para convergir o fluxo, possuindo características
especiais em cada caso...
Especificação BPMN
Decisão Exclusiva (XOR)
Como elemento divergente, esta decisão dá origem a duas ou
mais conexões, cada uma com uma condição associada
Durante o percurso do processo, as condições das conexões
serão avaliadas em uma determinada ordem; ao achar uma
conexão com condição verdadeira, as demais condições são
ignoradas e o processo segue o fluxo normal, ou seja, somente
uma condição pode ser verdadeira
O BPMN não especifica eventos ou erros quando nenhuma
condição é verdadeira; ele parte do princípio de que sempre
terá uma condição verdadeira e se isso não ocorrer o fluxo está
modelado errado
Especificação BPMN
Decisão Exclusiva (XOR)

A decisão exclusiva pode ser representado de duas maneiras,


como mostrado abaixo; é indicado padronizar a escolha
Alguns softwares de desenho da notação adotam um “X”
dentro do losango
Especificação BPMN
Decisão Exclusiva (XOR)
Especificação BPMN
Decisão Exclusiva (XOR)
Os exemplos que vimos até agora são do chamado “Decisões
Baseada em Dados”. Esta decisão também possui uma variância
chamada “Decisão Baseada em Eventos”
Neste caso, a decisão está ligado a 2 ou mais eventos e a
condição, ao invés de estar ligada na conexão, está relacionada
a ocorrência de um dos eventos conectados
Esta mesma decisão Baseada em Eventos pode estar conectada
também a uma tarefa do Tipo Recebimento
Especificação BPMN
Decisão Exclusiva (XOR)
No caso de “baseada em eventos”, o ícone representativo
também muda, conforme imagem abaixo:
Especificação BPMN
Decisão Exclusiva (XOR)
Especificação BPMN
Decisão Inclusiva

Nesta decisão, as condições são as mesmas da decisão anterior,


porém é permitido que mais de uma condição associada a
conexão seja verdadeira ao mesmo tempo, dando origem a
fluxos em paralelo
Se nenhuma condição for verdadeira, o fluxo é considerado
errado
Especificação BPMN
Decisão Inclusiva
Especificação BPMN
Decisão Inclusiva
Como elemento convergente, esta decisão irá aguardar que os
processos que estão andando em paralelo sejam sincronizados
para prosseguir com o fluxo
Isso não significa que todas as conexões ligadas deverão ter
concluído, e sim que todas as conexões que efetivamente foram
ou estão sendo utilizadas, com tokens próprios, têm que estar
concluídas
Especificação BPMN
Decisão Inclusiva
No exemplo abaixo, a decisão irá esperar por 1, 2 ou 3 tarefas,
dependendo de quais foram realmente inicializadas
Especificação BPMN
Decisão Complexa

Decisões complexas foram criados para dar maior flexibilidade


ao BPMN, permitindo que o analista de processo determine a
regra de negócio que irá dar origem ou não as atividades
subseqüentes
Ex.: “das cinco atividades conectadas, iremos sortear três para
serem executadas”, “dos três tipos de aprovadores existentes,
iremos verificar as condições do fluxo e determinar um”
Especificação BPMN
Decisões Complexas
A regra de negócio deve estabelecer, SEMPRE, que pelo menos
um caminho será verdadeiro e o fluxo terá continuidade
Especificação BPMN
Decisões Complexas
Quando utilizado para convergência, ocorre a mesma coisa: é
estabelecida uma regra de negócio específica para determinar
quais conexões serão finalizadas para continuidade do fluxo
(ex.: esperar três dos cinco aprovadores para continuar o fluxo)
Especificação BPMN
Decisões Paralelas

Estes elementos são utilizados para criar fluxos paralelos ou


sincronizar totalmente fluxos que estão em paralelo
A Decisão Paralela possui uma cruz dentro de seu objeto:
Quando utilizados para divergência, dão início a fluxos paralelos
iniciando todas as atividades interligadas

Quando utilizados para convergência, aguardam a finalização de


todas as atividades ligadas para continuar o fluxo
Especificação BPMN
Artefatos
Artefatos são elementos que ajudam os analistas a proverem
mais informações sobre o processo, visando seu entendimento
mais amplo, e que não estão diretamente ligados ao fluxo
normal do processo
Atualmente existem somente 3 tipos de artefatos mapeados
A organização pode criar novas artefatos para uso próprio
Especificação BPMN
Dados
“Dados”podem representar um documento (eletrônico ou não),
uma informação ou outro objeto qualquer que são utilizados ou
modificados ao longo do processo
Os Dados se ligam ao processo através de linhas de Associação,
que são pontilhadas
Especificação BPMN
Dados
Especificação BPMN
Anotações
Anotações são textos e informações genéricas sobre o processo
ou um elemento do processo
Especificação BPMN
Grupos
Grupos são uma maneira informal de agrupar atividades do
processo, com objetivo de melhorar o entendimento do
fluxograma
Grupos não interferem no andamento do processo
Grupos podem cruzar Piscinas
Especificação BPMN
Conexão de Seqüência
A conexão de seqüência é utilizada para determinar a ordem
em que as atividades do fluxo serão executadas
É a ferramenta de conexão mais comum e utilizado na maior
parte do fluxo
Sua característica principal é ser uma linha sólida, sem
pontilhamentos
Especificação BPMN
Conexão de Seqüência
Existem diversas regras de uso das conexões de seqüência, que
apontam sua utilização em cada elemento da especificação
BPMN
Um característica interessante é que o uso destas conexões
pode, muitas vezes, substituir o uso de gateways, como vemos
nos exemplos abaixo:
Especificação BPMN
Conexão de Seqüência
Nos casos em que utilizamos conexões para convergir ou
divergir processos, sem utilizar passagens, dizemos que o
processo é “não controlado”, ou seja, não temos controle
absoluto sobre o fluxo de informações ao longo do processo
Existem, além da conexão tradicional, duas variâncias desta
conexão:
Condicional: existe uma condição lógica intrinsecamente
relacionada à conexão

Default: trata-se de uma conexão padrão cujo


condição será sempre verdadeira
Especificação BPMN
Conexão de Seqüência
Especificação BPMN
Conexão de Mensagem
As conexões de mensagem são utilizadas para mostrar a troca
de informações (envio e recebimento) entre diferentes
entidades de processo, ou seja, diferentes
Pools do BPD;Na prática, representa a comunicação que ocorre
em processos de organizações diferentes
Esta conexão, dentro do diagrama, somente pode estar
conectando atividades que estejam em Pools diferentes
Especificação BPMN
Conexão de Mensagem
Especificação BPMN
Conexão de Associação
Este tipo de conexão é utilizado em dois momentos:
Conectar atividades a outras atividades de compensação
Conectar artefatos a objetos do fluxo
Especificação BPMN
Exemplos
Especificação BPMN
Exemplos
Especificação BPMN
Exemplos
Especificação BPMN
O que há de errado neste fluxo?
Especificação BPMN
O que há de errado neste fluxo?
Especificação BPMN
Obrigado!

BPMN

Business Process Modeling Notation

Você também pode gostar