Você está na página 1de 57

Projeto de processos

Metodologia de desenvolvimento
Segundo Papazoglou e Heuvel, Business Process Development Life Cycle Methodology, CACM, out 2007, vol 50 n 10. Fases:
Planejamento Anlise e projeto de processos/servios Construo e testes Fornecimento Implantao Execuo

Metodologia de desenvolvimento
Planejamento
Anlise gap: compara com implementaes de servio disponveis
Sistemas legados Componentes off-the-shelf (COTS) Pacotes ERP Servios web

Anlise de cenrio: considera custos, riscos, benefcios


Desenvolvimento Desenvolvimento Desenvolvimento Desenvolvimento green-field top-down bottom-up out-of-the-middle

Metodologia de desenvolvimento
Planejamento
Aps anlise de risco, uma opo de desenvolvimento escolhida Cada opo de desenvolvimento requer:
Reuso de servios web/processos internos existentes Desenvolvimento de servios web/processos do zero Compra/fornecimento de servios/processos Reestruturao/extenso de componentes/sistemas existentes

Metodologia de desenvolvimento
Anlise e projeto de processos/servios
Anlise/projeto de servios Especificao de servios Identificao de processos Especificao de processos
Determinao do estilo de composio
Coreografia x orquestrao x ambas

Derivao da estrutura do processo Descrio dos responsveis pelas atividades (papis) Identificao de aspectos no funcionais

Modelagem de processo
Domnios da modelagem:
Funo Informao Organizao Operao

Segundo ARIS:
Viso Viso Viso Viso Viso de processo de dados organizacional de funo de sada

Modelagem de processo funo

Modelagem de processo informao

Customers

requests

Orders

ships

Products

nmero

quantidade

preo

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

Tcnicas para a modelagem de processos


UML BPMN (Business Process Modelling Notation): notao grfica e informal para analistas BPEL (Business Process Execution Language): linguagem de execuo para desenvolvedores

UML
Desenvolvida por OMG (Object Management Group)
http://www.omg.org/docs/formal/05-07-04.pdf

Tem vrios tipos de diagramas:


Diagramas estruturais
Diagrama de classes

Diagramas comportamentais
Diagrama de casos de uso Diagrma de transio de estados Diagrama de atividades contm:
Atividades Transies que determinam a seqncia de atividades

Diagramas de interao
Diagrama de sequncia

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 que so utilizados na execuo da atividade.

Diagrama de atividades
Uma transio uma conexo entre dois elementos do tipo n atividade:
controle (ControlFlow) objeto (ObjectFlow)

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

Exemplo de processo
cliente assessor aprovador
Pede emprstimo > 10.000 Avalia risco Risco alto Risco baixo < 10.000 Avalia risco

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

Elementos bsicos de um diagrama


1. 2. 3. 4.

Objetos de fluxo Objetos de conexo Swimlanes Artefatos

Elementos bsicos

Objetos de fluxo:

atividade

eventos

gateway

Objetos de conexo:

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

1.2. Objeto de fluxo - Atividade


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

1.3. Objeto de fluxo - Gateways


representa decises juno de caminhos. diferentes, diviso ou

1.3. Gateways
Xor: diviso e juno exclusivas (dados ou eventos) somente um caminho escolhido

Or: diviso e juno inclusivas pelo menos um caminho escolhido Complex And: diviso e juno todos os caminhos so ativados

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

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

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

Avaliao de BPMN
Especificao BPMN tem muitas ambuigidades devido ao informalismo Mapeamento fornecido para BPEL parcial e textual BPMN oferece apoio para a maioria dos padres de controle de fluxo, quase metade dos padres de dados, pouco para padres de recursos Muitos padres para controle de fluxo tm vrias representaes Conceitos de lane e pool indicam a necessidade de apoio a perpectiva recursos (ausente em BPEL, contudo existem esforos para estender BPEL com incluso dessa perspectiva e ferramentas comerciais como Oracle BPEL PM que j a oferecem).
Ferramentas de modelagem esto ainda limitadas com relao a mquinas de execuo. Notaes para modelagem de processo devem incluir a perspectiva recurso.

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 Papazoglou e Heuvel, Business Process Development Life Cycle Methodology, CACM, out 2007, vol 50 n 10.

Você também pode gostar