Você está na página 1de 77

Modelagem de processos

Sumrio
Representao de processos textual Representao de processos grfica Abstraes Notaes/Linguagens para modelagem

Modelagem de processo
Representao de Processo de Negcio (PN):
forma textual usando linguagem natural

Modelagem de processo
Exemplo venda de produtos
1. 2. 3. 4.

Receber pedido; Verificar disponibilidade de estoque; Preparar entrega; Enviar produto para transportadora.

Modelagem de processos
Desvantagens da representao textual:
dificulta representar caminhos alternativos,; limita sua automao por um Sistema de Gesto de Processos de Negcio (SGPN); pode causar interpretaes incorretas aos envolvidos no PN devido subjetividade do texto.

Modelagem de processos
Representao de PN
Forma grfica

Vantagens
Semntica mais clara
Cada elemento grfico possui sintaxe e semntica bem definidos para expressar atividades, eventos ou desvios do PN

Abstraes para se criar modelos


Abstrao horizontal Abstrao vertical

Abstrao horizontal

Exemplo de metamodelo

Abstrao vertical

Modelagem de processo funo

Modelagem de processo - informao

Modelagem de processo organizao

secretrio

Office boy

Marisa

Modelagem de processo operao

BD de Pedidos

Sistema de Estoque

Sistema de Armazenamento

Notaes/Linguagens para a modelagem de processos


Redes de Petri UML (Unified Modeling Language) BPMN (Business Process Modelling Notation)

Redes de Petri
Modelos sem ambiguidade Fundamentos matemticos Grafos compostos por:
posies (crculos), transies (retngulos) e arcos que conectam as posies e transies

Redes de petri - exemplo

UML
Linguagem de Modelagem Unificada (UML Unified Modeling Language) desenvolvida por OMG (Object Management Group) Notao grfica para apoiar as atividades de modelagem na engenharia de software

UML
Vrios diagramas
Diagramas estruturais: classes, componentes Diagramas comportamentais: sequncia, casos de uso, diagrama de atividades

Para representar PN: diagrama de atividades

Diagrama de atividades
n atividade (ActivityNode)
n ao (Action) transforma insumos em produtos. n controle (ControlNode) que orienta o fluxo de execuo da atividade
atividade inicial (InitialNode), atividade final (FinalNode), deciso (DecisionNode), unio (MergeNode), separao (ForkNode) juno (JoinNode).

n objeto (ObjectNode) que representa os dados utilizados na execuo da atividade.

Diagrama de atividades
Uma transio uma conexo entre dois elementos do tipo n atividade Uma restrio (Constraint) uma expresso utilizada para definir a semntica da ao de transformao
Pr-condies Ps-condies

Meta-modelo de atividade

Exemplo atividade emprestar DVD


umDVD:DVD Context EmprestarDVD(umDVD:DVD) Pre: DVD disponvel bodyAction:begin ... end Post: vazia

Emprestar DVD

umItemEmp: ItemEmprestado

Exemplo de processo

UML - exemplo

BPMN
Desenvolvido por BPMI (Business Process Management Initiative) BPMN define um diagrama de processo (Business Process Diagram - BPD):
Atividades Fluxo

Elementos fundamentais
eventos: representados por crculos e que definem algum acontecimento no PN; fluxos: representados por linhas com setas. Usados para relacionar outros elementos; atividades: representadas por retngulos. Representam as unidades de trabalho; desvios: representados por um losango. Usados como um roteador.

Elementos bsicos de um diagrama


1. 2. 3. 4.

Objetos de fluxo: atividade, evento, desvio Objetos de conexo Swimlanes Artefatos

Elementos bsicos

Objetos de fluxo:

atividade

eventos

Gateway/desvio

Objetos de conexo:

Objeto de fluxo - Evento


representa algo que acontece durante o processo. Eventos tm uma causa (trigger) ou um resultado.
Eventos de incio ou intermedirios tm causa (trigger) Eventos de trmino definem um resultado como conseqncia de uma finalizao de fluxo.

Causas/resultados de eventos

Causas de eventos de incio


None: causa no especificada Message: chegada de mensagem de participante Timer: horrio/data Rule: condies como temperatura > 30 graus Link: ligao de um evento de trmino com um evento de incio Multiple: vrias maneiras de disparar o evento de incio. Somente uma ir iniciar o processo

Resultados do evento de trmino


None: no especificado Message: uma mensagem enviada a um participante Error: gera um erro Cancel: cancela um sub-processo transao Compensation: indica que compensao necessria Link: liga fim de um processo com incio de outro Termination: indica que todas as atividades devem ser finalizadas Multiple: indica que so vrios os resultados e todos devem ocorrer

Objeto de fluxo - Atividade


representa trabalho que deve ser realizado. Pode ser tarefa ou subprocesso. Tarefa uma atividade atmica.

Exemplo

Objeto de fluxo - Gateways


representa desvios diferentes, diviso ou juno de caminhos. Desvios exclusivos, paralelos ou inclusivos.

Objetos de conexo
Fluxo de sequncia: indica a ordem em que atividades so executadas:
Normal Condicional: tem condio avaliada durante execuo. Default: caminho default de uma deciso quando todas as outras condies so falsas.

Fluxo de mensagem: mostra o fluxo das mensagens entre 2 participantes (entidades ou papis) Associao: associa um artefato, dados ou texto a um objeto de fluxo.

Exemplo - XOR

Exemplo - OR

Exemplo - AND

Swimlane
1.

Pool: contm vrios objetos de fluxo, objetos de conexo e artefatos. Representa um participante em um processo ou uma empresa. Lane: organiza os objetos de fluxo, objetos de conexo e artefatos. Subpartio dentro de um pool. Pode ser usada para papis internos, sistemas ou departamentos.

2.

Exemplo de diagrama com pools


Atividades em pools distintos
processos auto-contidos comunicao atravs de mensagens.

Exemplo de pools como black box


fluxo de mensagens ligando fronteiras de pools

Exemplo de pools como white box


Pool supplier com 2 faixas (lanes) Fluxo de mensagens ligando objetos de fluxo

Artefatos
1.

2.

3.

Objetos de dados: mostram ao leitor os dados requeridos ou produzidos por uma atividade. Grupo: agrupa vrias atividades. Usado para salientar sees. Anotao: comentrios para leitores.

Exemplo de artefatos
Objeto de dados associado com fluxo de seqncia

Exemplo de artefatos
Objetos de dados como entrada e sada de um processo

Exemplo de grupos

Tipos de modelos
Processos de negcio privados (internos) Processos abstratos (pblicos) Processos colaborativos (globais)

Tipos de modelos
Processos de negcio privados (internos): processos internos a uma organizao especfica. O fluxo de seqncia do processo est contido dentro de um pool.

Tipos de modelos
Processos abstratos (pblicos): representa as interaes entre um processo privado e outro processo. O processo abstrato s mostra as mensagens necessrias para interagir com o processo, as atividades internas do processo privado no so mostradas. Um processo abstrato est contido em um pool.

Tipos de modelos
Processos colaborativos (globais): processos colaborativos mostram as interaes entre uma ou mais entidades de negcio.

Outros elementos dos diagramas


Fluxo de exceo

Associao de compensao: baseado em evento intermedirio de cancelamento causado por falha de transao ou evento de compensao.

Exemplo de exceo

Outros elementos fork e join


Fork (AND-Split): diviso de um caminho em vrios caminhos paralelos.

Join (AND-Join/ sincronizao): combina vrios caminhos em um nico caminho.

Outros elementos xor


xor: diviso de um caminho em vrios caminhos mas somente uma alternativa escolhida para execuo.
Alternativas baseadas em condies contidas no fluxo de seqncia Alternativas baseadas em eventos

xor - dados
xor: alternativas baseadas condicionais sobre dados em expresses

xor - eventos
Alternativas baseadas em eventos como recebimento de mensagem, timer:
Recebimento de mensagem por atividade do tipo Receive Recebimento mensagem por intermedirio de evento

Outros elementos or
Alternativas baseadas em expresses condicionais ao menos um caminho deve ser verdadeiro:
Coleo de fluxos de seqncia condicionais Gateway do tipo OR

Merging (OR-Join): Combinao de um ou mais caminhos

Outros elementos - lao


Lao para atividade: os atributos para tarefas e subprocessos determinam o nmero de vezes que devem ser repetidos. Lao para fluxo de seqncia

Exemplo de lao (em subprocesso expandido)

Exemplo de lao

Outros elementos
Mltiplas instncias: os atributos das tarefas e subprocessos determinam se devem ser repetidos ou executados uma vez. Transaes: so subprocessos envolvendo vrias partes que concordam sobre o trmino ou cancelamento da atividade. Os atributos da atividade determinam se ela uma transao.

Exemplo de transao

Mapeamentos de BPMN para outras linguagens


Processos de negcio privados para processos BPEL Sees abstratas para processos abstratos BPEL Sees de modelos colaborativos para linguagens como WS-CDL

Vantagens de BPMN
Riqueza na oferta de elementos de modelagem Facilidade de aprendizado e uso Aceitao ampla Disponibilidade de ferramentas de apoio Representao de cooperao interorganizacional Mapeamento de BPMN para WS-BPEL Padro no proprietrio

Avaliao - desvantagens
Conceitos de lane e pool indicam a necessidade de apoio a perspectiva recursos Ausncia de representao para estrutura organizacional, modelos de dados e informaes, e regras de negcio, qualidade de servio

Referncias
OMG/UML, http://www.omg.org/docs/formal/0507-04.pdf Business Process Modeling Notation (BPMN) Specification OMG, fevereiro de 2006, www.bpmn.org/ Introduction to BPMN, Stephen A. White, IBM Corporation BPMN and Business Process Management Introduction to the New Business Process Modeling Standard, Martin Owen, Jog Raj, Popkin Software

Exemplo - restaurante
Participantes cliente e restaurante No restaurante papis: atendente, cozinheiro e entregador

Exemplo - restaurante
PN:
1. 2. 3. 4.

5. 6.

7. 8.

Cliente solicita prato Atendente recebe pedido Cozinheiro prepara o prato Cliente aguarda mas se no receber o prato contacta atendente para perguntar sobre pedido Atendente pede que cliente aguarde Quando prato pronto, entregador entrega prato Cliente paga fatura Entregador recebe pagamento

Exemplo distribuidora de bebidas


Departamentos - vendas

Exemplo distribuidora de bebidas


PN: 1. Vendedor planeja vendas do dia 2. Vendedor visita cliente 3. Para cada cliente verifica estoque

Iniciao ao Crdito (Carto de Crdito)


1 - Proponente preenche a solicitao do carto de crdito via Internet 2 - Unidade de negcios confirma dados cadastrais como endereo residencial, tempo de residncia, telefone para contato, e-mail, renda, tempo de emprego e outras informaes. 3 - Informaes no conferem - nega a proposta e envia correspondncia para o proponente 4 - Informaes conferem - segue com a anlise 5 - Unidade de negcios efetua consulta pelo CPF em rgos externos como Serasa e Associao Comercial de So Paulo (ACSP) 6 - Se constar restries - nega a proposta e envia correspondncia para o proponente 7 - Se no constar restries - segue com a anlise 8 - Unidade de negcios efetua consulta interna para avaliar histrico do proponente 9 - Se constar restries - nega a proposta e envia correspondncia para o proponente 10 - Se no constar restries segue com a anlise

Iniciao ao Crdito (Carto de Crdito)


11 - O Sistema de propostas efetua o clculo do Credit Score atravs de varaveis como:
Residncia ()Prpria ou ()Alugada Possui veculo ()SIM ou ()NO Possui seguro de automvel ()SIM ou ()NO Possui seguro residencial ()SIM ou ()NO Possui seguro de vida ()SIM ou ()NO Possui conta corrente ()SIM ou ()NO Possui investimentos ()SIM ou ()NO Possui emprstimos ()SIM ou ()NO Possui outros cartes de crdito ()Carto X ()Carto Y ()Carto Z

12 - Com base nestas varveis determinada uma pontuao X para o proponente onde se for menor a proposta negada e se for maior a proposta aprovada. 13- Se for negada envia correspondncia para o proponente 14- Se for aprovada o sistema de proposta faz interface com o sistema de cartes e gera o nmero da conta 15- Proponente recebe o kit de boas vindas e recebe o carto de crdito em seu endereo de correspondencia. 16- Fim do processo de iniciao ao crdito

Exemplo - Autorizao de compras com Carto de Crdito


1. Cliente entra no estabelecimento para efetuar a compra

2. Lojista passa o carto no POS (Point of Sale) 3. Sistema da loja faz interface com o sistema da empresa emissora do carto de crdito 4. Sistema de autorizaes da empresa emissora verifica se h limite disponvel para autorizar a compra e tambm se h atraso no pagamento da fatura atual. 5. Se no possuir limite disponvel ou se estiver em atraso atual - sistema de autorizaes faz interface com o sistema de exceo de autorizaes. 6. Sistema de exceo de autorizaes verifica algumas variveis de negcios para a tomada de deciso se aprova ou no a compra, tais como:
1. 2. 3. 4. 5. 6. 7.

Dias de atraso atual Valor do limite de crdito Pontuao do Behavior Score (BS) Meses desde o ltimo aumento de limite de crdito Meses desde a ltima reduo de limite de crdito Possui cheque sem fundo ()SIM ()NO Meses desde o ltimo atraso

Autorizao de compras com Carto de Crdito


7. Com base nestas variveis o sistema de exceo de autorizaes atribui o nmero da estratgia e o nmero do cenrio desta autorizao. 8. Dependendo do cenrio que o sistema de exceo de autorizaes atribuir, nega a compra e o POS mostra a mensagem para o lojista que a autorizao foi negada. 9. Se o cenrio atribuido pelo sistema de exceo de autorizao aprova, neste caso a compra autorizada. 10. Se possuir limite disponvel ou se no estiver em atraso atual - sistema de autorizas autoriza a compra direto sem a necessidade de chamar o sistema de exceo de autorizaes. 11. Se autorizao aprovada - atualiza o saldo do carto 12. Fim do processo de autorizaes de compras

Autorizao de compras com Carto de Crdito

Você também pode gostar