• Nenhum resultado encontrado

Aula07 - BPMN-Parte1

N/A
N/A
Protected

Academic year: 2021

Share "Aula07 - BPMN-Parte1"

Copied!
58
0
0

Texto

(1)

Modelagem de Dados

BPMN (Business Process

Modeling Notation)

Prof. Jorge Dias Jr.

www.jorgediasjr.com

(2)

Ambientação com a ferramenta

Vamos experimentar a ferramenta

de modelagem?

(3)

Activity (Atividade)

Task (Tarefa)

Subprocess

(Subprocesso)

Representa uma unidade de trabalho realizado no processo

(4)

Task (Tarefa)

Representa uma ação, não uma função ou estado.

(5)

Task (Tarefa)

•Regra: Tasks devem ser colocadas no formato: • VERBO + NOME • Exemplos: • Checar crédito • Realizar compra • Emitir parecer

(6)

Manual

X

User Task Sem o auxílio de qualquer mecanismo de execução de processos de negócio. Um executor humano

realiza a tarefa com a ajuda de um aplicativo

(7)

Script

X

Service Task A tarefa de script é executado por um engine de processos de negócios. O modelador ou implementador define um script interpretável pela engine.

Usa algum tipo de serviço, o que poderia ser um serviço Web ou

um aplicativo automatizado.

(8)

Business Rule Task

Fornecer e/ou obter dados de uma engine

(9)

Gateway

•XOR Gateway (Exclusive Gateway)

• Segue em um caminho ou o outro

A mesma coisa

BOA PRÁTICA: Colocar uma pergunta no

diamante e as respostas nos fluxos que saem dele

(10)

Gateway

•Gateway não executam ações!

•Ele apenas testa uma condição

(11)

Parallel Gateway (AND Gateway)

Join Tem o mesmo

(12)

Parallel Box e Ad-Hoc Subprocess

Utilizado quando todas as atividades são executadas paralelamente sem ordem

(13)

Uso de Pools (Piscina) Swimlanes (raias)

Boa prática: O nome da piscina (Pool) deve ser o nome do processo

As raias (lanes) representam papeis ou unidades organizacionais

(14)

Fluxo de mensagem

• Entre piscinas se utiliza apenas fluxos de mensagens

• A piscina cliente é externa ao processo que estamos modelando, por isso o nome pode ser um ator

Representa a comunicação do processo com uma

(15)

Subprocessos

• Pode ser realizada de duas formas:

1) Com o nível filho desenhado dentro do nível pai, podendo o ser explodido e visualizado no mesmo diagrama

2) Com o nível filho desenhado em um diagrama a parte. Neste caso, o nível pai tem um link que abre o nível filho (RECOMENDADO)

Nível pai (parent level)

(16)

Subprocessos

O processo filho deve possuir o evento inicial e final também!!!!

(17)

Subprocessos reusáveis (Reusable Subprocess)

• Se o processo filho for utilizado em outros subprocessos, então o subprocesso deve ser definido como Reusable

Subprocess

• As bordas são mais grossas do que o subprocesso normal • Reusable subprocess também é chamado de Call Activity

(18)

Start Event (Evento de início)

• A figura (ícone) interna representa o gatilho (trigger) do evento • Normalmente um processo tem apenas um evento de início.

• Processos filho (dentro de um subprocesso) devem obrigatoriamente não ter gatilho

(19)

Start Event (Evento de início)

O processo inicia a partir de uma solicitação externa ao processo Deve ser nomeado com: Receber ‘X’

(20)
(21)

Start Event

Deve ser nomeado com o tempo em que se inicia.

(22)

Start Event

O evento suporta diferentes gatilhos

(23)

Start Event

Os dois eventos precisam acontecer para o processo iniciar

(24)

E se a atividade inicial do processo depender do gatilho inicial?

Uma entrada ignora as demais.

(25)

Data Object e Data Store

• Pedido é um Data Object (Objeto de dados)

• Representa e enfatiza qualquer dado necessário e importante para um elemento do processo

• Cadastro de cliente é um Data Store (Armazenamento de dados)

• Pode ser um cadastro, uma base de dados, etc.

Data association

Input ou output output

(26)

Text Annotation

• Pode ser associado (através de um association) a qualquer elemento do processo

(27)
(28)

O Método

• BPMN não define metodologia, é apenas uma notação

• A abordagem de Silver:

• 6 passos

Top-down Do nível mais alto

(menos detalhes) para o nível mais

baixo (mais detalhes)

(29)

O Método

Determinar o escopo do processo

Enumerar principais atividades em alto nível

Criar diagrama BPMN top-level

1

2

3

(30)

O Método

Expandir cada processo em diagramas child-level Adicionar: Fluxo de mensagens, Agentes

externos, provedor de serviços...

Repetir os dois últimos passos nos níveis seguintes

4

5

6

(31)

Determinar escopo do processo

•Qual a perspectiva que o processo será

modelado?

•Como o processo se inicia?

•O que determina quando estará

completo?

•O que cada instância do processo

representa?

•Existem diferentes maneiras deste

processo terminar?

(32)

Exemplo:

Compra do novo carro

• Qual a perspectiva que o processo será modelado?

• Ponto de vista do cliente e da empresa? Apenas da empresa?

• Como o processo começa?

• Quando o cliente anuncia seu pedido

• Quando estará completo?

• Fechamento da venda

• O que cada instância do processo representa?

• Neste processo temos a venda.

• Existem diferentes maneiras deste processo terminar?

• Financiamento não aprovado, prazo de entrega não aceito. Enfim, Venda não concretizada.

(33)

As atividades de alto nível

•Listar as principais as atividades do processo

• 10 ou menos

• Cada atividade tem inicio e fim bem definidos

• O início da atividade é um disparada pela finalização da atividade anterior

• O fim de cada atividade alto nível deve ser pensada

•Não se preocupe com os detalhes (Eles serão adicionados mais a frente)

•Identificar os participantes na atividade

(34)

Exemplo:

Compra do novo carro

0 Finalizar pedido

0 Organizar financiamento

0 Adquirir de um revendedor 0 Adquirir de fábrica

0 Preparar carro para entrega 0 Fechar e entregar

(35)

Diagrama Top-Level

• Representa o processo em um nível mais alto de abstração, sem detalhes

• Cada atividade será tratada como um sub-processo • Comece criando o diagrama considerando o

“caminho feliz”

• Sem fluxos alternativos ou de exceção

(36)
(37)

Exemplo:

Compra do novo carro

• Agora acrescente os fluxos alternativos com o uso de gateways

• Praticamente todas as atividades devem ser condicionais

• Cada atividade é seguida por um gateway que testa o estado final do sub-processo

• Nomeação do gateway: “Estado final 1?” (2 saídas)

(38)
(39)

Exemplo:

Compra do novo carro

(40)

Exemplo:

Compra do novo

(41)

Expansão dos Child-Level

• O diagrama High-Level apresenta o início e o fim do processo

• Precisamos de mais detalhes!

• Cada atividade do top-level será um processo a parte

• O evento de início deve ser Unespecified (None) – Não

especificado

• Pool e Lanes são opcionais

• Cada subprocesso deve ter seu estado final

• Cada estado final deve ter o mesmo nome dos fluxos alternativos do gateway

(42)

Exemplo: Vamos expandir a atividade

(43)

Exemplo:

Compra do novo carro

Estados finais possíveis -> Fluxos possíveis do gateway

(44)

Adicionar fluxo de Mensagens

• Fluxo de mensagens não são obrigatórios em BPMN • Ira agregar informações ao diagrama

• Vai fornecer contexto do negócio ao seu diagrama

(45)
(46)

Repita os passos

6

4

e

5

nos processos

(47)

Atenção

• Este é um dos métodos possíveis, proposto por um autor

• O nível de detalhamento e a organização em subprocessos é uma decisão do modelador

• Para processos pequenos não faz sentido quebrar em muitos subprocessos

(48)
(49)

Use black-box para representar solicitante de serviço

(50)

Tratar o contato inicial de um

(51)

Pool separadas implica diferentes processos

(52)

Se um sub processo é seguido por um gateway

(53)

Rotular message flow diretamente com o nome da mensagem.

(54)

Dois eventos finais não podem ter o mesmo nome

(55)

Não usar xor gateway para juntar dois caminhos.

(56)

Não usar and gateway para juntar caminhos num evento final.

(57)

Duas atividades não podem ter o mesmo nome.

(58)

Referências

Documentos relacionados