Business Process Modeling Notation - Secretaria de ...wiki.recife.pe.gov.br/files/BPMN.pdf4 O que é...

159
1 BPMN Business Process Modeling Notation Outubro/2006 Rafael Bortolini [email protected] Cryo Technologies www.cryo.com.br

Transcript of Business Process Modeling Notation - Secretaria de ...wiki.recife.pe.gov.br/files/BPMN.pdf4 O que é...

1

BPMN

Business Process Modeling Notation

Outubro/2006

Rafael [email protected]

Cryo Technologieswww.cryo.com.br

2

Agenda

• Introdução• História• Especificação

– Swinlanes– Atividades– Eventos– Gateways– Conexões

• Exemplos

3

Introdução

4

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;

5

O que é BPMN?

• 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;

6

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)

7

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;

9

BPMN• Ex. Visio: quantidade excessiva de diagramas e

notações. Qual utilizar?

10

O BPMN não serve para mapear:

• Organogramas• Telas de sistemas• Regras de negócio de aplicativos• Mapas estratégicos• Esquemas

11

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;

13

História e evolução

14

História

• 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;

15

História

• 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;

16

História• 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?

17

História• Atualmente, o BPMN continua em sua versão

1.0, porém a revisão final da OMG, com correções e melhorias, é recente (fevereiro de 2006)

18

História

• Hoje, de acordo com a OMG, existem 39 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;

19

História

• É 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.

20

Algumas ferramentas

• ilog (java-free):– http://www.ilog.com/products/jviews/diagr

ammer/bpmnmodeler/.• Visual Paradigm:

– www.visual-paradigm.com (US$ 100,00)• Visio

– http://www.orbussoftware.com/bpmn.aspx(free)

– http://www.itp-commerce.com (US$1200-2500)

21

Especificação

22

Download da especificação• A especificação completa do BPMN, assim como

diversas informações relacionadas, pode ser achada em:– http://www.bpmn.org/

23

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;

24

Processo

• Para o 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 1 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;

25

Processo

• Um BPD, portanto, é o ambiente para mapear 1 processo de negócio que, por sua vez, pode ser constituído por 1 ou mais processos;

• Estes processos dentro do processo de negócio podem, por sua vez, serem constituídos por sub-processos;Processo de Negócio

Processo

Processo

BPD

26

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)

27

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

EMP

RE

SA

28

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;

29

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;

EMP

RE

SA

INST

ITU

IÇÃ

O F

INAN

CEI

RA

Autorizar Pagamento Processar pedido Empacotar Enviar

30

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;

31

Processo de Colaboração

• Neste caso, o processo interno da Instituição Financeira é conhecido e nos interessa

EMP

RE

SA

INST

ITU

IÇÃ

O F

INAN

CEI

RA

Autorizar Pagamento Processar pedido Empacotar Enviar

Autorização do Cartão de Crédito

32

Elementos do BPMN

• A especificação BPMN é divida em três áreas de informações:– Core Elements– Full Elements– Atributtes

33

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;

34

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...

35

Categorias de Elementos

• Os elementos são divididos em:– Objetos (Flow Objects)– Conexões (Connections Objects)– Swinlanes– Artefatos (Artifacts)

36

Objetos• Eventos• Atividades• Gateways

37

Conexões• Seqüência (Sequence Flow)• Mensagem (Message Flow)• Associação (Association)

38

Swinlanes• Pools• Lanes

39

Artefatos• Dados (Data)• Texto (Text)• Grupo (Group)

40

Regras para modelagem

41

Regras

• 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;

42

Tamanho e posição do título

43

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;

44

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;

45

Conexões

Realizar compra Receber material

Realizar compra Receber material

Realizar compra Receber material

46

Atentar

• 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)

47

Atentar

• Por ser a especificação bastante aberta, énecessário um projeto de “padronização da implantação do padrão” na empresa

48

Swinlanes

49

Pool

• Um Pool 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;

• Pool não representa os departamentos de uma empresa;

• Em um modelo B2B, cada Pool representa uma empresa separada e independente;

• Dentro de um BPD, posso ter 1 ou mais Pools;• Dentro de 1 Pool, tenho 1 ou mais Processos;

50

Pool

• No exemplo abaixo, temos 2 Pools, cada um com processos independentes, mas que se comunicam

EM

PR

ES

AIN

STI

TUIÇ

ÃO

FIN

AN

CE

IRA

Autorizar Pagamento Processar pedido Empacotar Enviar

Autorização do Cartão de Crédito

51

Pool

• O mesmo diagrama porém no modelo “Caixa Preta”(Processo Abstrato), onde não conhecemos os detalhes do Pool

Autorizar Pagamento Processar pedido Empacotar Enviar

52

Pool

Para discutir

Note como as flechas que ligam elementos em diferentes Pools sãopontilhadas, ao contrário das demais, que são contínuas.

53

Lanes

• As Lanes 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;

54

Lanes

• A especificação não define o formato, tamanho ou posição dos títulos das Lanes;

55

Atividades

56

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 do seguinte tipo:– Tarefa– Sub-Processo

57

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;

58

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”

• 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

59

Tipos de Tarefas

• Tafefa 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”)

60

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 nomemclatura ou simbologia específica para cada tipo de tarefa.

61

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á oriem a nenhuma conexão?

62

Conexões e Tarefas

63

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;

64

Sub-Processo

• Dentro de um desenho de fluxo, um sub-processo pode ser mostrado em sua forma “aberta” ou “fechada”;

Forma Fechada

65

Sub-Processo

Receber Pedido

Empacotar

Verificar crédito Verificar SERASA

Forma Aberta

66

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);

67

Sub-Processos

• O desenho completo de um sub-processo fechado pode estar ou não dentro do mesmo Pool do processo-pai;– Pode ser um proceso 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 no mesmo Pool.

68

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 do mesmo Pool;

• Ou podem ser independentes, quando são reutilizáveis atráves de diferentes processos e possuem um BPD próprio (e até mesmo Pools diferentes);

69

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 compensão em processos;– Para controle de transações de processos;

70

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.;

71

72

Transação

• No exemplo do fluxo anterior, é necessário que tanto a reserva do voô quanto a reserva do hotel sejam completadas com sucesso para o fluxo prosseguir;– Se a reserva do voô é concluída e a reserva

do hotel não, a reserva do voô deve ser cancelada, e vice-versa.

73

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-proceso como uma tarefa composta.

74

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;

75

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.

Aprovação Chefes de Departamento

Lista de chefes de departamento relacionados

ao projeto

76

Loops e Sub-Processos

• Sub-Processos são atividades, por isso estas regras aplicam-se aqui também:

77

Loops

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

78

Eventos

79

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;

80

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:

81

Evento de Início

• O evento de ínicio 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 tafefas 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;

82

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;

83

Evento de Início: Padrão

• O objeto padrão do evento de ínicio é um círculo sem desenho (trigger) interno;

• Ele é utilizado quando não desejamos representar a causa de início ou para representar inícios em sub-processos;

84

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...

85

Evento de Início: Timer

• Uma determinada regra de tempo associada (dia 31/12 as 14:00) ou um clico de tempo (toda segunda-feira as 14:00) dá início ao processo;

86

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 sadvo em caixa baixar de R$10k”, etc....

87

Evento de Início : Link

• Um link é um mecanismo para conectar o final de um processo com o início de outro processo;

• Ex.: conectar dois sub-processos de um mesmo processo pai;

88

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;

89

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 obrigatoriamento dar origem a 1 ou mais conexões;

90

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.

Fim

91

Evento de Fim

• Um processo pode ter nenhum, 1 ou mais eventos de fim;

• É altamente recomendável que possua ao menos 1 evento de fim;

• Se o processo possui evento de início, então éobrigatório ao menos 1 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;

92

Evento de Fim

• Em processos sem evento de fim, o processo éfinalizado tão logo todas as atividades pendentes são finalizadas;

93

Evento de Fim: Padrão

• Utilizado quando não desejamos representar o tipo de fim ou em eventos de fim de sub-processos;

94

Evento de Fim: Mensagem

• Uma mensagem é enviada para um participante do processo ao final do fluxo;

95

Evento de Fim: Erro

• Este tipo de fim deve ser utilizado para representar que um erro foi gerado e deveráser tratado;

• Ex.: “Throw Exception”

96

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;

97

Evento de Fim: Compensação

• Este tipo de fim indica que uma compensação deverá ser lançada;

• Veremos mais sobre compensação mais a frente;

98

Evento de Fim: Link

• Este tipo de fim indica que um mecanismo de conexão entre o fim deste processo com o início de outro processo;

99

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;

100

Evento de Fim: Múltiplo

• Este tipo de evento indica que há múltiplas conseqüencia para o fim deste processo;

• Estas conseqüências devem ser descritas junto com a documentação de atributos do elemento;

101

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;

102

Teste: O que isso significa?

103

Evento Intermediário

• O evento intermediário ocorre entre o início e o fim do 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;

104

Evento Intermediário

• O evento intermediário é representado por um círculo de linha dupla;

• Dentro de um fluxograma, o evento intermediário pode estar de maneira independente interligado por conexões, ou pode estar “atachado” a uma atividade, seja tarefa ou sub-processo;

105

Evento Intermediário

• Quando ligado a uma atividade, o evento intermediário pode ser atachado 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.

106

Evento Intermediário: Padrão

• Válido somente para eventos que estão dentro do curso normal do processo (NÃO atachados a atividades);

• Utilizado em técnicas de modelagem para indicar alguma mudança no status do processo;

107

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)

• Atachado a uma atividade, representa uma exceção que é lançada ao recebimento de uma mensagem;

108

Evento Intermediário: Timer

• Dentro do fluxo normal, será utilizado como um mecanismo de espera do fluxo (ex.: aguardar 5 dias para continuar);

• Atachado a uma atividade, representa uma exceção que é lançada ao estouro de um tempo ou alcance de uma data;

109

Evento Intermediário: Erro

• Dentro do fluxo normal, será utilizado para lançar um erro no processo (throw exception);

• Atachado a uma atividade, representa a captura de um erro ocorrido (catch) para possível tratamento;

110

Evento Intermediário: Cancelamento

• Este tipo de evento deve ser utilizado somente em sub-processos transacionais, atachado a caixa do sub-processo;

• Este evento será lançado no momento que o sub-processo alcançar um evento de fim de cancelamento;

111

Evento Intermediário: Compensação

• Atachado a uma atividade, irá significar a chamada por uma atividade de compensação;

• Dentro de uma atividade, representa o tratamento de um evento de compensação lançado;

112

Compensaçã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”

113

114

Evento Intermediário: Regra• Utilizado somente para tratamento de erros;• Uma regra de negócio é avaliada para verificar

se o erro será lançado ou não;

115

Evento Intermediário: Link• Utilizado no curso normal do processo para

representar um link com outro processo ou outra parte do processo, principalmente em modelagens com mais de uma página;

116

Evento Intermediário: Múltiplo• Indica que há múltiplas maneiras de lançar o

evento; • Estas maneiras devem ser descritas junto com

a documentação de atributos do elemento;

117

Evento Intermediário: Resumo

• Eventos Mensagem, Timer, Erro, Cancelamento, Compensação, Regra e Múltiplo podem estar atachados ao corpo de uma atividade;

• Evento de Cancelamento pode estar atachado 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;

118

Gateways

119

Gateways

• Gateways 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 Gateways; eles são opcionais (fluxo não-controlado);

• Gateways têm o seguinte formato:

120

Gateways• Ao contrário de outras técnicas de modelagem, no

BPMN, o mesmo tipo de Gateway pode ser utilizado tanto para divergir quanto para convergir o fluxo, possuindo características especiais em cada caso...

121

Gateway de Decisão Exclusiva (XOR)

• Como elemento divergente, este Gateway 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 1 condição pode ser verdadeira.

122

Gateway de Decisão Exclusiva (XOR)

• O BPMN não especifica eventos ou erros quando nenhuma condição é verdadeira; ele parte do princípio de que sempre terá 1 condição verdadeira e se isso não ocorrer o fluxo está modelado errado;

• O Gateway de decisão exclusiva pode ser representado de duas maneiras, como mostrado abaixo; é indicado padronizar a escolha;

ou

123

Gateway de Decisão Exclusiva (XOR)

124

Gateway de Decisão Exclusiva (XOR)

• Os exemplos que vimos até agora são do chamado Data-Based Gateway. Este gateway também possui uma variância chamada Event-Based Gateway;

• Neste caso, o Gateway 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;

• Este mesmo Event-Based Gateway pode estar conectado também a uma tarefa do Tipo Recebimento

125

Gateway de Decisão Exclusiva (XOR)

• No caso de Event-Based, o ícone representativo também muda, conforme imagem abaixo:

126

Gateway de Decisão Exclusiva (XOR)

127

Gateway de Decisão Inclusiva

• Neste gateways, as condições são as mesmas do gateway 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;

128

Gateway de Decisão Inclusiva

129

Gateway de Decisão Inclusiva

• Como elemento convergente, este Gateway iráaguardar que os processos que estão andando em pararelo sejam sincronizados para prosseguir com o fluxo;

• Isso não significa que todas as conexões liagadas 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;

130

Gateway de Decisão Inclusiva• No exemplo abaixo, o gateway irá esperar por

1, 2 ou 3 tarefas, dependendo de quais foram realmente inicializadas;

131

Gateways Complexos

• Gateways complexos 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üententes;

• Ex.: “das 5 atividades conectadas, iremos sortear 3 para serem executadas”, “dos 3 tipos de aprovadores existentes, iremos verificar as condições do fluxo e determinar 1”

132

Gateways Complexos

133

Gateways Complexos• A regra de negócio deve estabelecer, SEMPRE,

que pelo menos 1 caminho será verdadeiro e o fluxo terá continuidade;

134

Gateways Complexos

• 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 3 dos 5 aprovadores para continuar o fluxo)

135

Gateways Paralelos

• Estes elementos são utilizados para criar fluxos paralelos ou sincronizar totalmente fluxos que estão em paralelo;

• O Gateway Paralelo possui uma cruz dentro de seu objeto:

136

Gateways Paralelos

• Quando utilizados para divergência, dão início a fluxos paralelos iniciando todas as atividades interliagadas;

• Quando utilizados para convergência, aguardam a finalização de todas as atividades ligadas para continuar o fluxo;

137

Artefatos

138

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;

139

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;

140

Dados

141

Anotações• Anotações são textos e informações genéricas

sobre o processo ou um elemento do processo;

142

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 Pools;

143

Grupos

144

Conexões

145

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;

146

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:

147

Conexão de Seqüência

• Nos casos em que utilizamos conexões para convergir ou divergir processos, sem utilizar gateways, dizemos que o processo é “não controlado”, ou seja, não temos controle absoluto sobre o fluxo de informações ao longo do processo;

148

Conexão de Seqüência

• Existem, além da conexão tradicional, duas variâncias desta conexão:– Condicional: existe uma condição lógica

intrinsicamente relacionada à conexão;

– Default: trata-se de uma conexão padrão cujo condição sérá sempre verdadeira;

149

Conexão de Seqüência

150

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

151

Conexão de MensagemE

MP

RES

AIN

STI

TUIÇ

ÃO

FIN

AN

CE

IRA

152

Conexão de Associação

• Este tipo de conexão é utilizado em dois momentos:– Conectar artefatos a objetos do fluxo ;– Conectar atividades a outras atividades de

compensação;

ou

153

Exemplos

154

155

156

157

O que há de errado neste fluxo?

158

O que há de errado neste fluxo?

159

Obrigado!

BPMN- Business Process Modeling Notation

Rafael [email protected]

Cryo Technologieswww.cryo.com.br