Apostila BPMN Corrigida
Apostila BPMN Corrigida
Apostila BPMN Corrigida
BPMN
Business Process Modeling Notation
4. Token 20
Referências 50
Objetivo
O objetivo deste curso é apresentar os elementos da notação de modelagem de processos de
negócio BPMN 1.1 (Business Process Modeling Notation) mostrando-os por meio de exemplos
práticos.
O que é processo
Processo é qualquer atividade ou conjunto de atividades que toma uma entrada, adicionando a
esta um valor, e fornece uma saída gerando um produto valorado. Então, em um processo são
conhecidos os passos a serem seguidos, as sequências em que eles acontecerão, as pessoas (ou
perfil) envolvidas em todas as atividades e o produto final a ser produzido.
"Os processos utilizam os recursos da organização para oferecer resultados objetivos aos seus
clientes" (Harrington, 1991).
"Um processo é um grupo de atividades realizadas numa sequência lógica com o objetivo de
produzir um bem ou um serviço que tem valor para um grupo específico de clientes" (Hammer e
Champy, 1994).
Business Process Modeling Notation (BPMN) é uma notação gráfica que descreve a lógica dos
passos de um processo de negócio. Essa notação tem sido especialmente desenhada para
coordenar a sequência dos processos e as mensagens que fluem entre os participantes das
diferentes atividades.
• BPMN cria uma ponte padronizada para diminuir a lacuna entre os processos de negócio e sua
implementação.
O processo colaborativo pode ser entendido como sendo dois ou mais processos abstratos
comunicando entre si. E no processo abstrato, as atividades que são as participantes na
colaboração podem ser consideradas como sendo os pontos de contato entre os participantes.
Primeiro, existe a lista de elementos essenciais (CORE ELEMENTS) que irá suportar os
requerimentos necessários para uma notação simples. Estes são os elementos que definem o
layout básico do BPMN. Muitos processos de negócios poderão ser modelados
adequadamente com estes elementos. Segundo, existe uma lista completa de elementos, os
quais ajudarão a suportar requerimentos de uma poderosa notação para gerenciar situações
de modelagem mais avançadas.
• Eventos (events)
• Atividades (Activities)
• Decisões (Gateways)
A conexão dos objetos de fluxos com outra informação é realizada por meio de
três objetos:
• Pool (piscina)
• Lane (raia)
• Final
Atividade é um termo genérico
para o trabalho que a empresa
realiza. Uma atividade pode ser
atômica ou não atômica
(composta). Os tipos de atividades
que fazem parte de um processo
Atividades de negócio são: Processos,
(Activities) Subprocessos e Tarefas. Tarefas e
Sub-Processos são representados
por um retângulo arredondado.
Os processos podem ser
representados ou por um
retângulo arredondado ou
incluído dentro de um POOL.
Uma Decisão é usada para
controlar as ramificações e os
encontros dos Fluxos de
sequência (sequence Flow). Desta
Decisões forma, ele irá determinar as
(Gateways) ramificações, consolidações e
união dos caminhos. A sinalização
gráfica interna ao desenho irá
indicar o tipo de comportamento
da decisão.
Object)
fornecer informações sobre o que
a atividade necessita para ser
executada ou/e o que elas
produzem.
É um agrupamento de atividades
que não afeta a sequência do
Grupo (Group) fluxo. O agrupamento pode ser
– Uma caixa que usado para o propósito de
circunda um grupo documentação ou análise. Os
de objetos para
propósito de Grupos (Group) podem também
documentação ser usados para identificar as
atividades de uma transação
distribuída através de várias Pools.
Especificar um tipo de gatilho para um evento coloca certas restrições no fluxo de processo que
você está modelando, conforme especificado na tabela. Por exemplo, um temporizador não pode
ser usado para finalizar um fluxo do processo.
Evento de Evento
Evento de Fim Descrição
Início Intermediário
Mensagem Mensagem Mensagem de Uma mensagem de início chega de um
de início fim participante ou gatilho de início do
processo, ou continua o processo, neste
caso um evento intermediário. Uma
mensagem de fim denota a mensagem que
será gerada ao fim do processo.
Temporizador Temporizador O Um tempo específico ou ciclo (por exemplo,
de início temporizador a cada segunda-feira às 9:00AM) pode ser
não pode ser ajustado para realizar o início de um
um evento de processo, ou a continuação do processo, no
fim caso de evento intermediário.
Regra de Regra A regra não O evento é iniciado quando a condição da
início pode ser um regra for verdadeira, tal como “faça novo
evento de fim pedido quando a quantidade do estoque for
menor de 10%”.
Atividades – Tarefa
Atividades – Subprocesso
LOOP PADRÃO
Uma atividade de loop padrão terá uma expressão booleana que é avaliada para cada ciclo do
loop. Se a expressão for VERDADEIRA, então o loop irá continuar. Existem duas variações do loop,
as quais refletem no construtor de programação WHILE(enquanto) e UNTIL(até). O loop WHILE
avalia a expressão antes que a atividade seja realizada, isto significa que a atividade talvez não seja
realizada.
O loop UNTIL irá avaliar a expressão após a realização da atividade, isto significa que atividade vai
ser realizada pelo menos uma vez.
A expressão booleana seria “O produto não passou no teste?” se a resposta for “verdade” então a
atividade será realizada novamente e se for “Falsa” o processo seguirá seu fluxo.
Loop Multi-Instance
AD HOC
Uma atividade Ad HOC é identificada por um ‘~’. Mas atividades (tarefas) em seu interior são
soltas, ou seja, elas não são conectadas, isto significa que estas atividades podem ocorrer em
qualquer ordem e várias vezes e não existe a obrigatoriedade de executar todas as tarefas.
Geralmente este tipo de atividade está relacionado com atividades humanas, onde a ordem, a
quantidade de vezes e quais atividades serão realizadas, são decididas por quem as realiza.
No próximo exemplo temos um subprocesso que é realizado por um estagiário de um escrito de
advocacia, ele terá que montar uma pasta com todos os documentos pertinentes ao processo que
o referido escritório irá trabalhar. Para realizar este trabalho ele precisará tirar fotocópias dos
documentos originais, tem que levá-los para reconhecimento de firma em cartórios, pode passar
fax, etc e não existe uma sequência definida. Cada tarefa pode ser realizada quantas vezes forem
necessárias, para o cumprimento da atividade “Montagem de Processos Jurídicos”.
4. Token
Para ajudar-nos na compreensão do comportamento fundamental do modelo do BPMN usaremos
o conceito de TOKEN. Token pode ser concebido como o objeto “Teórico” que nós usamos para
criar um comportamento descritivo do comportamento “simulação” dos elementos de fluxo da
notação BPMN. Utilizando este artifício podemos descrever como este teórico componente viaja
por meio do fluxo de sequência e dos objetos de fluxos.
O Token atravessa do início até o fim do fluxo de sequência (Flecha), instantaneamente; não existe
um tempo associado com o Token enquanto percorre o fluxo de sequência.
Podemos pensar no Token como um pulso elétrico que percorre os elementos de fluxo do BPMN.
Token
Token
Sendo assim podemos imaginar como seria uma possível trajetória do token no seguinte fluxo de
processo se os documentos estiverem Ok.
Tokenn
5. Ciclo de Vida da atividade
Quando se inicia uma atividade, isto é, quando o Token
chega a esta Atividade, ela muda o Status para "Pronta"
isso não significa que a atividade começou imediatamente.
Outros fatores podem também afetar a realização desta
atividade.
Para o tipo de tarefa (Usuário) é necessário o uso de uma aplicação e de um operador, se ambos
não tiverem disponíveis a atividade também não pode começar.
Quando todas as restrições estiverem resolvidas então a atividade pode ser iniciada. Neste
momento ela muda o status para "Em execução” e quando a atividade é finalizada ela muda o
Status para "Completada".
Enquanto a atividade está no Status "Em Execução" ela pode mudar para o status de "Pausada",
"Reiniciada" e "Interrompida", modelando pontos de decisões com Gateways ou Comporta de
decisão.
Se um processo não requer controle, então não há necessidade do uso do elemento Gateway.
Decisões, uniões, bifurcação e as combinações no fluxo do processo são modeladas com o símbolo
de gateway. Podemos pensar no gateway como sendo as questões que são feitas em um ponto do
fluxo do processo. A questão tem definido um conjunto de respostas alternativas, o qual afeta uma
das portas do Gateway (ou Comporta). Os símbolos representando os tipos de Gateways estão
descritos na tabela abaixo:
Gateways ou Comportas
Exclusive Gateway Decision
No Gateway Exclusive Baseado em Dados, as condições para as alternativas devem ser avaliadas na
ordem especificada. A primeira das alternativas que for avaliada como VERDADEIRA irá determinar o
fluxo que será seguido. Visto que o comportamento do Gateway é exclusivo, qualquer outra
condição que realmente possa ser VERDADEIRA irá ser ignorada. Somente um caminho pode ser
escolhido. Um dos caminhos deve ser o padrão (DEFAULT) e é o ultimo caminho a ser considerado.
Isto significa que se nenhum dos outros caminhos for escolhido, então o caminho padrão irá ser o
escolhido.
Supondo que na execução deste fluxo a resposta do Gateway seja “Sim” então o Token teria o
seguinte comportamento.
Exclusive Gateway também pode ser usado como convergentes de Fluxos (Merge). Isto é, ele pode
ter múltiplas entradas de fluxo de sequência. Entretanto, quando um Token chega a um Exclusive
Gateway, não há validação de condição. Nem há necessidade de sincronização de TOKENS que
possam vir de qualquer dos outros fluxos de sequência. O Token, quando chega ao Exclusive
Gateway, imediatamente move-se para o fluxo de saída. Geralmente se utiliza este Gateway quando
a atividade que vem após este Gateway Exclusive é comum a todas as ramificações que o
antecedem. No exemplo abaixo a Atividade “Preparar Compras do Cliente” será realizada
independente da forma de pagamento. Então, supondo que o pagamento tenha sido realizado em
dinheiro o fluxo do Token Seria:
Assim o primeiro evento que venha ocorrer disparará seu Token e eliminará os demais. Partindo do
exemplo acima, suponhamos que o cliente enviou a mensagem “SIM”, neste caso o Token que está
no Evento que receberá a mensagem “SIM” irá seguir o seu caminho e os demais serão eliminados.
Um Gateway paralelo é também chamado de AND. Não há processo de decisão, todos os caminhos são
seguidos. Quando um token chega a um Parallel Gateway não existe avaliação de condição sobre o fluxo de
sequência (Diferentemente do Exclusive Gateway), por definição este gateway irá criar caminhos paralelos,
isto significa que o Gateway irá criar o número de Tokens iguais ao número de fluxo de sequência de saídas.
No exemplo acima após a Atividade “Preparar Documentos para Assinatura”, tanto a Atividade “Preparar
Contrato” quanto “Preparar Procuração” serão executadas.
Utilize o Gateway Parallel Gateway Merge quando os caminhos paralelos necessitam ser sincronizados
antes de o processo continuar. Para sincronizar o fluxo, o Parallel Gateway irá esperar que todos os Tokens
cheguem de cada Fluxo de sequência de entrada. No exemplo acima, suponhamos que a atividade
“Preparar Contrato” termine primeiro do que a atividade “Preparar Procuração” o Token “T1” desta
atividade chegará primeiro no Parallel Gateway.
Este então esperará que o Token “T2” da atividade “Preparar Procuração” chegue para sincronizar ambos
os toquens e dar continuidade ao fluxo do processo.
Tal como o Exclusive Gateway (decision) , um Inclusive Gateway (decision) tem várias
sequências de saída, cria vários caminhos (ramificações) alternativos baseados sobre as condições
destes fluxos de sequência. A diferença é que o Inclusive Gateway pode ativar uma ou mais
ramificações, isto significa que, uma ou mais das saídas do fluxo de sequência pode ser seguida.
Cada condição que for avaliada como verdadeira irá resultar em um Token movendo sobre este
fluxo de sequência. Não pode acontecer de não ter saída. Caso nenhuma condição seja satisfeita
você deve especificar uma saída padrão (default). No exemplo acima o fluxo “Cartão de Débito?”
é a saída padrão, identificada com um corte transversal (“/”) no seu fluxo de sequência.
Partindo do exemplo acima, suponhamos que na atividade “Definir Serviço” foram escolhidos os
seguintes serviços:
1. Cheque Especial
2. Cartão de Crédito Internacional
3. Cartão de Débito
Caso na atividade “Definir Serviços” não fosse escolhida nenhum serviço, o caminho padrão seria
então ativado, assegurando que o processo não fique emperrado.
O Inclusive Gateway Merge irá sincronizar cada um dos Tokens que estejam nos fluxos de
sequência, isto que disser que enquanto tiver um Token em qualquer um dos fluxos de sequência
que cheguem ao inclusive Gateway o processo não tem andamento.
Partindo do exemplo acima, suponha que a atividade “confeccionar cheque Especial” termine
primeiro que as atividades “Confeccionar Cartão Internacional” e “Confeccionar Cartão de
Débito” então o Token “T1” desta atividade chega ao Inclusive Gateway. Este percebe que tem
mais dois Token “T2” e “T3” que faltam chegar.
.
Agora a atividade “Confeccionar Cartão de Débito” é completada, então o Token “T3” sai desta
atividade e chega ao Inclusive Gateway, que fica esperando pelo o ultimo Token “T2”.
Token
Sicronizado
Quando o Gateway é usado como uma decisão, então a expressão determina a saída que o fluxo de
sequência irá escolher para continuar o processo. A expressão talvez se refira ao dado do processo e ao
status para fluxo de sequência de saída. Por exemplo, uma expressão talvez avalie o dado do processo e
então selecione um conjunto de saída do fluxo de sequência, baseados sobre os resultados da avaliação.
Porém, a expressão deverá ser projetada para que ao menos uma das saídas do fluxo de sequência seja
escolhida.
No Exemplo acima a expressão avalia se o pagamento foi realizado a vista ou Cartão de Débito, no caso de
acontecer uma destas atividades então a atividade “Entregar Brinde” ocorrerá também.
Quando o Gateway é usado como merge, então nele deverá ter uma expressão que determinará qual das
expressões do fluxo de seqüência irá ser obrigatória para o processo continuar. A expressão talvez se refira
ao dado do processo. Por exemplo, uma expressão pode especificar que qualquer uma dos 2, dentre os 3
fluxos de seqüência de entrada, irá continuar o processo. Outro exemplo poderia ser uma expressão que
especifique que o Token da atividade “Realizar Teste A” é requerido para fluxo de sequência e que um
Token da sequência de fluxo “Realizar Teste B” ou “Realizar Teste C” é aceitável. Porém, a expressão deve
ser projetada de tal forma que processo não crie um impasse.
No exemplo acima estamos especificando que o teste A é obrigatório e que qualquer uma das outras duas
atividades é opcional. Isto é, o Token da atividade A deve ser sincronizado com um ou os dois outros
Tokens .
Suponha que o Token “T1” da atividade “Realizar Teste A” chegue ao Complex Gateway Merge este irá
esperar por mais um Token para dar sequência ao Fluxo do processo.
Agora a atividade “Realizar Teste C” finaliza. Neste momento o seu Token “T3” chega ao Complex
Gateway Merge e este é sincronizado com o Token “T1” e o fluxo do processo tem continuidade.
TOKEN
Sincronizado
Poderíamos fazer uma analogia entre estas representações e uma piscina, é bem interessante.
Você pode imaginar um processo como sendo uma piscina com raias dentro dela, e a troca de raias
como a necessidade de realizar uma atividade dentro dela. Então um Pool pode ser considerado
como uma piscina de recursos. Existe ocasião em que o processo necessita saltar para outro Pool,
porque este tem diferentes recursos necessários para completar a atividade.
Concluindo, BPMN está destinado a ser o novo padrão de modelagem de processos de negócio e
Web Services. Ele é projetado para lhe permitir facilmente modelar típicos processos de negócios,
e oferecem a capacidade de modelar processos de negócios complexos, incluindo a passagem de
mensagens via Web Services.
BPD é um Diagrama desenhado para representar graficamente a sequência de todas as atividades que
ocorrem durante um processo baseado na técnica de “Flow Chart”, incluindo todas as informações
necessárias para análises.
BPD é um diagrama desenhado para ser usado pelos analistas de processos os quais desenham, controlam e
fazem gestão dos processos. Dentro de um Diagrama de Processo de Negócio BPD se utilizam um conjunto
de elementos gráficos, que se encontram agrupados em categorias.
Para introduzir o tema de BPMN, no decorrer deste documento o leitor se encontrará com uma série de
exemplos desenvolvidos em torno de um processo de Solicitação de crédito de Consumo
Um processo de crédito consta basicamente de um registro de solicitação, em que o cliente irá manifestar seu
interesse de adquirir um crédito. Nesta etapa se inclui a apresentação da solicitação e documentação
requerida pela entidade de Crédito, na sequência se realiza uma verificação das informações, posteriormente
segue a etapa de análise da solicitação de crédito e por ultimo encontramos as atividades referentes à
realização efetiva do crédito ou comunicação da recusa ao cliente.
O Gateway ou Comporta utilizada dentro do exemplo anterior é a comporta EXCLUSIVE, esta comporta como
elemento de decisão se comporta como um “XOR”, que dizer, das varias alternativas apresentadas só uma
delas pode ser tomada. Dentro do processo de solicitação de crédito podemos observar dois exemplos do uso
da comporta EXCLUSIVA, no primeiro dependendo do resultado da verificação da informação do solicitante o
fluxo tomaria um caminho; o outro, se o resultado for “Recusado” o processo terminaria e se o solicitante for
aceito o processo continua. Na segunda comporta a decisão será tomada com base no resultado do estudo do
pedido do crédito, uma vez que se a solicitação for recusada o cliente é informado e se for aprovada se
procede com a realização do desembolso.
Se analisarmos o processo de solicitação de crédito, podemos ver que existem atividades que podem ser
analisadas com mais detalhes, uma destas atividades é a “Verificação da Informação “ fornecida pelo
solicitante, uma vez que normalmente as entidades que concedem créditos realizam várias análises do
solicitante , por exemplo se verifica se o solicitante já é um cliente da entidade, se é um cliente que o banco
tem interesse, ou por outro lado, se este se encontra em uma lista de clientes negativados e posteriormente,
consulta sua situação financeira.
As atividades podem ser compostas ou Atômica, dentro do BPMN as atividades compostas são conhecidas
como Sub-Processos e as atividades atômicas como tarefas.
Também é possível visualizar o processo de solicitação de crédito com o subprocesso “Verificar Informação
do Solicitante” expandido:
Outra das atividades do processo de Solicitação de Crédito que pode ser mais detalhada é a atividade é a
“Desembolsar Crédito”.
No exemplo anterior visualizamos uma ANOTAÇÔES dentro do diagrama do processo, BPMN provêem
diferentes artefatos que permitem incluir informações adicionais sobre o diagrama e desta forma fornece ao
leitor maiores detalhes do processo.
No BPMN também é possível detalhar quais atividades são automáticas (Tarefas Automáticas) ,quais são
realizadas com ajuda de um sistema (Tarefa de Usuário), quais são realizadas manualmente (Tarefas
Manuais), dentre outras.
Suponhamos que uma vez aprovado o crédito é necessário coordenar uma data de desembolso com o cliente,
para tanto o desembolso efetivo só deveria ser feito unicamente no dia acordado com o cliente. Para isto, é
necessário realizar uma espera antes das tarefas de desembolso. O BPMN oferece o Evento Intermediário
Temporizador, o qual é um tipo de evento intermediário que representa uma espera dentro do Fluxo.
No caso anterior o evento Intermediário Simples “Receber Docs” representa algo que pode ocorrer dentro do
fluxo do processo e não depende do usuário e sim de um cliente externo .
Temos mais um detalhe que devemos prestar atenção. A entrega de documentos é algo que pode ou não
ocorrer dentro do processo, isto é, o cliente pode não apresentar os documentos ou levar muito tempo para
fazê-lo, por isso é necessário controlar o tempo que é dado ao cliente para a entrega dos documentos e desta
forma poder cobrá-lo caso não o faça ou demore muito tempo para fazê-lo. Para isto é necessário diagrama
dentro do processo de Solicitação de Crédito as seguintes situações: o cliente tem um tempo para entregar os
documentos, se isto não ocorre dentro deste tempo, se desabilita o evento simples de “Receber Docs” e se
procede à atividade de “Contactar o Cliente” para que este traga os documentos. Porém se os documentos
são entregues pelo cliente dentro do tempo esperado, se revisão os documentos e o tempo que controla a
entrega dos documentos deve deixar de correr, isto é, se desabilita o “Evento intermediário Temporizador”.
Para diagramar esta situação vamos utilizar a Comporta (Gateway) Exclusiva Baseada em Eventos, esta
comporta permite habilitar vários caminhos alternativos e somente um deles será executado, “O primeiro
Ganha” já que este ganhador desabilita todos os outros caminhos.
Por ultimo, os diagramas de processos de negócio normalmente utilizam separadores visuais indicando papeis
ou diferentes responsabilidades das atividades de um processo BPMN permite diagramar as diferentes áreas
ou participantes que interagem dentro do processo, para isto vamos utilizar Lanes e o processo ficaria da
seguinte forma.
Referencias:
4. Business Process Model and Notation (BPMN) 2.0 Request For Proposal OMG
Document: BMI/2007-06-05