Universidade Federal de Santa Maria Sistemas de Informação
ELC1093 – Modelagem de Processos de Negócio
Profa. Lisandra Manzoni Fontoura
BPMN – BUSINESS PROCESS
MODELING NOTATION
BPMN – Business Process Modeling Notation
•2
Desenvolvido por BPMI (Business Process Management
Initiative)
BPMN define um diagrama de processo (Business Process
Diagram - BPD):
Atividades
Fluxo
Quem mantém
Object Management Group, Inc. (OMG)
Entidade sem fins lucrativos
http://www.omg.org/technology/documents/spec_catalog.htm
Especificações, modelos e frameworks mantidos pela OMG: UML,
Corporações que contribuem para
manutenção do BPMn
Diagrama de Processo de Negócio
•4
A BPMN especifica um único tipo de diagrama para
representar processos
O BPD –Business Process Diagram
4 Características importantes do BPD:
Fácil de usar na modelagem de processos
Fácil de entender por usuários não técnicos
Permite expressar processos complexos (grande “poder de
expressão”)
Pode ser traduzido para uma “linguagem de execução” de
Quando utilizar BPMn
Processos de negócio
Internos (private/ internal)
Públicos (abstract/ public)
Quando não usar BPMN
•6
Modelar estrutura organizacional
Modelar estrutura de recursos
Modelar dados
Elementos BPMN
•71.
Objetos de fluxo
2.
Objetos de conexão
3.
Swimlanes
4.
Artefatos
Elementos Básicos
1.1 Objetos de Fluxo - Eventos
•9
Representa algo que acontece durante o processo.
Eventos têm uma causa (trigger) ou um resultado.
Eventos de início ou intermediários têm causa (trigger)
Eventos de término definem um resultado como
1.1 Objetos de Fluxo - Eventos
•10
Os processos de negócio podem iniciar de várias maneiras.:
Nenhum – não há gatilho associado. Indica um início simples de processo. Mensagem – início de processo com a chegada de uma mensagem de um
participante.
Timer – início de processo com data e hora específica ou ao fim de um ciclo
(período) determinado (ex: toda segunda-feira as 10 horas).
Condicional – início de processo quando uma condição qualquer é satisfeita (ex: o
valor do câmbio supera a faixa de 2 reais).
Sinal – início de processo a partir da chegada de um sinal enviado por um outro
processo.
Múltiplo – início de processo a partir de vários eventos possíveis, sendo que apenas
1.1 Objetos de Fluxo – Evento de Início
•11
Início - O processo começa apenas de uma única forma
Neste exemplo, o início mostra que há apenas um único caminho para iniciar o processo de contratação de um profissional
1.1 Objetos de Fluxo – Evento de Início
Início Múltiplo - O processo pode ter múltiplas formas de iniciar, entretanto apenas uma delas é necessária para começar o processo.
Neste exemplo, o início mostra que há mais de uma forma para a realização do atendimento ao cliente e apenas uma delas é necessária para iniciar o processo
1.1 Objetos de Fluxo – Evento Intermediário
•13 Conduct Brainstorming Session Consolidate Results 3 hours Reserve RoomFig 4.83. Exception flow, triggered by intermediate timer event
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Fluxo de Exceção disparado por evento intermediário associado a tempo, neste caso se a sessão de brainstorming durar mais que 3 hours a sessão é finalizada.
1.1 Objetos de Fluxo – Evento de Fim
•14
São 8 os tipos de fim de processo que definem o resultado ao se atingir
este pondo no fluxo do processo:
Nenhum – indica um final simples de processo.
Mensagem - indica que uma mensagem é enviada a um participante ao final do
processo.
Erro – indica que um erro é gerado ao final do processo.
Cancelamento – utilizado num subprocesso de Transação indicando o seu
cancelamento.
Compensação – indica que uma compensação é necessária.
Sinal – indica que um sinal será gerado para um outro processo ao final do fluxo do
processo.
Término – indica que todas as atividades no processo devem ser finalizadas
imediatamente, sem compensação.
Múltiplo – indica que há múltiplas conseqüências ao final do processo, e múltiplas
1.2 Objetos de Fluxo - Atividades
•15
Processo - Conjunto de Sub-processos/ atividades que devem ser realizados para produzir um bem ou serviço
Neste exemplo existem 3 processos que tratam sobre a necessidade de contratar um profissional, cada um deles irá gerar um produto diferente, conforme mostrado abaixo:
- Identificar necessidades: “lista de necessidades”
- Contratar profissional: “Carteira de Trabalho assinada” - Avaliar desempenho: “Relatório de avaliação”
1.2 Objetos de Fluxo - Atividades
•16
Processo Manual - A geração do bem ou do produto depende da exclusivamente a ação de pessoas. Não há utilização de ferramentas tecnológicas para executar o processo.
Neste exemplo o processo “Iniciar Projeto” consiste em uma reunião com o cliente onde as expectativas serão alinhadas.
1.2 Objetos de Fluxo - Atividades
•17
Sub-processo Representa um conjunto de atividades especializadas.
1.2 Objetos de Fluxo - Atividades
•18
Evaluate Credit Risk
Evaluate Credit Risk
Get Credit data Assess risk Send evaluation
Fig 4.81. Collapsed and expanded subprocess M.
W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
1.2 Objetos de Fluxo - Atividades
•19
Transações
São tipos de subprocessos;
Força que todas as atividades sejam
Exemplo de Transação
•20
Neste exemplo é necessário que tanto a reserva do vôo quanto a
reserva do hotel sejam
completadas com sucesso. Se
somente uma delas for
concluída a outra deve ser cancelada.
Os tipos de subprocesso mais utilizados são:
Incorporado – representa uma atividade que contém outras atividades (um
processo) e são dependentes do fluxo pai. Não há necessidade de
representar no subprocesso incorporado, pools ou lanes.
Reutilizável – representa uma atividade que o fluxo principal “chama”,
com envio e/ou recepção de dados. É representado em um cronograma
separado, com pools e lanes.
1.2 Objetos de Fluxo - Atividades
1.2 Objetos de Fluxo - Atividades
•22
Uma tarefa é o menor nível de decomposição da atividade. A
atividade mais atômica dentro de um fluxo de trabalho.
Serviço – tarefa que provê algum tipo de serviço.
Recebimento – tarefa de espera de chegada de mensagem de um
participante externo para iniciar outro fluxo. Quando a mensagem é recebida,
a tarefa é completada.
Envio – tarefa de enviou de mensagem para um participante externo. Quando
a mensagem é enviada, a tarefa é completada.
Usuário – tarefa de “workflow”, em que um ator humano executa a tarefa com
o apoio de uma ferramenta.
Script – tarefa executada a partir de um procedimento definido e
automatizado no processo de negócio.
Manual – tarefa executada sem o auxílio de qualquer tipo de procedimento
1.2 Objetos de Fluxo - Atividades
•23
1.2 Objetos de Fluxo - Atividades
1.3 Objetos de Fluxo - Gateways
•25
Exclusão - Apenas um caminho deverá ser seguido
O exemplo mostra que depois da atividade “Realizar Entrevista” há uma decisão. Se o candidato foi aprovado a atividade seguinte é “Contratar”, do contrário o fluxo deverá seguir para “Comunicar RH”.
Os tipos de gateway são:
Exclusivo (baseado em dados ou em eventos) – é um ponto de decisão do processo onde o
fluxo de sequência pode se ramificar.
Inclusivo – como decisão, representa um ponto de ramificação do fluxo de sequência, no
qual a condição que determina um caminho, não exclui a possibilidade de atender uma outra condição relacionada a um outro caminho. Como junção, representa a sincronização de fluxos alternativos.
Complexo – utilizado em situações nas quais os outros tipos de objetos não podem ser
facilmente aplicados.
Paralelo – utilizado para sincronizar ou criar fluxos paralelos.
1.3 Objetos de Fluxo - Gateways
•27
Neste exemplo existem dois caminhos que devem ser percorridos até a finalização da matrícula de um aluno: “preencher ficha de matrícula, entregar documentos” . Entretanto a matrícula somente será efetivada se ambos caminhos estiverem terminados.
1.3 Objetos de Fluxo - Gateways
•28 Receive Amount [Type Receive] Send Invoice [Type Send] Send Reminder [Type Send] 14 daysFig 4.85. Example of an event-based exclusive or gateway
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Neste exemplo o processo inicia por enviar uma fatura, se dentro de 14 dias a quantia não é recebida é enviada um lembrete, senão a tarefa Send Reminder é desabilitada.
1.3 Objetos de Fluxo - Gateways
•29
Book Flight
Plan Trip
Book Rental Car Book Hotel
Fig 4.86. Example of an inclusive or gateway
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Neste exemplo o planejamento de uma viagem pode incluir qualquer subconjunto dos processo: comprar passagem aérea, reservar hotel e alugar carro.
1.3 Objetos de Fluxo - Gateways
•30
Um gateway complexo permite a definição do comportamente de Splits e joins combinados.
Considere um gateway complexo com 3 fluxos de saída: A, B e C. O gateway pode definir que é necessário ou que A ou, B e C sejam executados. Ele também pode definir que qualquer par de fluxos de sequência é válido. O comportamento é especificado por uma expressão associada ao gateway.
1.3 Objetos de Fluxo - Gateways
•31 Grant Credit Evaluate Credit Risk Reject Credit Request Advanced Credit CheckFig 4.88. Sample business process with sequence flow and default sequence flow
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Fluxo de Sequência default
Ou Exclusivo pode ser
2. Objetos de Conexão
•32
Fluxo de sequência: indica a ordem em
que atividades são executadas:
Normal
Condicional: tem condição avaliada durante
execução.
Default: caminho default de uma decisão
quando todas as outras condições são falsas.
Fluxo de mensagem: mostra o fluxo das
mensagens entre 2 participantes
(entidades ou papéis)
Associação: associa um artefato, dados
Fluxo de Seqüência – é usado para mostrar a ordem na qual as atividades serão executadas no processo.
A origem e o destino devem ser um dos seguintes objetos: eventos, atividades ou gateways. Um fluxo de sequência não pode ultrapassar os limites do subprocesso ou pool.
Fluxo de Seqüência com condição
2. Objetos de Conexão
•35
Fluxo de Mensagem - Indica a troca de mensagens entre diferentes entidades.
2. Objetos de Conexão
•36
Associação – São usadas para associar objetos (artefatos). Mostram entradas e saídas de atividades.
3. Swimlanes
Pool - são usadas para particionar ou organizar entidades responsáveis pela execução de processos, sub-processos e atividades
Neste exemplo a “ Construtora S/A” representa a organização ou entidade responsável pela execução dos processos definidos
Lane - Representa unidades organizacionais ou papéis responsáveis pela execução de processos, sub-processos e atividades. A Lane é uma sub-divisão da Pool.
Neste exemplo existe duas Lanes “Engenheiro Sênior” e “Engenheiro de Operação” com responsabilidades distintas dentro de um processo de construção.
As Lanes também representar unidades organizacionais. Neste exemplo elas representam papéis.
3. Exemplo de Diagramas com Pool
•39
Atividades em pools distintos
3. Exemplo de pools como black box
•40
3. Exemplo de pools como white box
•41
Pool supplier com 2 faixas (lanes)
4. Artefatos
•42
Objetos de dados
Mostram ao leitor os dados requeridos ou produzidos por
uma atividade.
Grupo
Agrupa várias atividades
Usado para salientar seções.
Anotação
4. Artefatos – Exemplo Objeto Dados
•43
4. Artefatos – Exemplo Objeto Dados
•44
Objetos de dados como entrada e saída de um
4. Artefatos – Exemplo Group
•46 P C C h a ir Publish CFP Assign reviewers Collect submissions Collect reviews Send notification Collect final versions Prepare Proceedings R e v ie w e r A u th o r Read CFP Write paper Submit paper Receive notification Prepare final version Send final version Rejected Accepted Prepare reviews Get review information Submit reviews
Fig 4.79. Business process diagram of a scientific conference review process
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7 Chair é convidado para organizar o comitê científico
Tipos de Modelos
•47
Processos de negócio privados (internos)
Processos abstratos (públicos)
Tipos de Modelos
•48
Processos de negócio privados (internos)
Processos internos a uma organização específica.
O fluxo de seqüência do processo está contido dentro de um
pool.
B u y e r Place Order Receive Invoice Receive Products Settle Invoice Analyze MarketFig 4.90. Private business process
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Tipos de Modelos
•49
Processos abstratos (públicos)
Representa as interações entre um processo privado e outro.
O processo abstrato só mostra as mensagens necessárias para interagir com o processo,
as atividades internas do processo privado não são mostradas
Um processo abstrato está contido em um pool.
B u y e r Place Order Receive Invoice Receive Products Settle Invoice R e s e lle r
Fig 4.91. Public business process of buyer and corresponding abstract business process
of reseller M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Tipos de Modelos
•50
Processos colaborativos mostram as interações entre uma ou mais
entidades de negócio.
B u y e r Place Order Receive Invoice Receive Products Settle Invoice R e s e lle r Receive Order Send Invoice Ship Products Receive PaymentFig 4.92. Collaborative business process, representing the combined public business
processes M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Tipos de Modelos
•51
Processos Globais: mostram todas as atividades, não apenas as que
envolvem comunicação
B u y e r Place Order Receive Invoice Receive Products Settle Invoice R e s e lle r Receive Order Send Invoice Ship Products Receive Payment Analyze Market ArchiveFig 4.93. Global business process, enriching collaborative business process with activities
that do not expose communication behaviour
M . W e s k e : B u s in e s s P ro c e s s M a n a g e m e n t, © S p ri n g e r-V e rl a g B e rl in H e id e lb e rg 2 0 0 7
Exercício 1
•52
Elabore um modelo com a utilização da notação BPMN da seguinte sentença:
“Gostaria que fosse construído um sistema para monitorar a temperatura e a pressão de
pacientes da UTI, que deverão ficar ligados on-line à rede de computadores do hospital. Os pacientes devem ser cadastrados pelo responsável. Essa rede é formada por um
computador principal e vários terminais que monitoram os pacientes.
Se a temperatura ou pressão do paciente lida pelo terminal se tornarem críticas, o
computador principal deverá mostrar uma tela de alerta com um histórico das medidas realizadas para o paciente. Um aviso sonoro deve ser ativado nesse caso.
A verificação da temperatura é realizada comparando-se a temperatura do paciente a
temperatura padrão digitada pelo responsável.
A verificação da pressão do paciente é realizada comparando-se com um valor padrão
de pressão (máximo e mínimo) a ser digitado pelo responsável e verificando-se se a pressão medida está dentro dos parâmetros considerados normais para o paciente (valores próximos ao máximo e mínimos são permitidos).
Temos vários sistemas online no computador principal e todos devem rodar ao mesmo
Exercício 2
•53
Modele um processo que prevê o reembolso das despesas efetuadas
pelos funcionários pela empresa. Por exemplo a compra de um livro
técnico, material de escritório ou de software.
Após o Relatório de Despesas ser recebido, uma nova conta deve ser criada se
o empregado ainda não tiver uma.
O relatório é então analisado para aprovação automática
- Valores abaixo de US $ 200 são aprovados automaticamente e o dinheiro é
transferido para a conta do empregado
- Valores iguais ou acima de US $ 200 necessitam de aprovação do supervisor
Em caso de rejeição, o empregado deve receber uma notificação de rejeição
por e-mail.
Em caso de aprovação, o reembolso é creditado na conta do empregado.
Se nenhuma ação ocorrer em 7 dias, então o empregado deverá receber um
e-mail com aprovação em progresso.
Se o pedido não for concluído em 30 dias, então o processo é interrompido e
o funcionário recebe um e-mail com aviso de cancelamento e deve reiniciar o
processo.
Bibliografia:
•54
Weske, Mathias. Business Process Management:
concepts, languages and architecture. Springer Verlag,
2007.
Wil van der Aalst and Kees van Hee. Workflow
Management: Models, Methods, and Systems, MIT,
2002.
Valle, Rogerio; Oliveira, Saulo B. Análise e Modelagem
Bibliografia:
•55
Thom, L.; Iochpe, C.; Oliveira, J.P. Introdução ao
Gerenciamento de Processos de Negócio e a
Arquitetura Orientada a Serviços. Mini-curso SBSI,
2010.