21
C C E PUC-Rio 1/21 Tópico 5: Diagrama de Atividades Luiz Antônio M. Pereira [email protected]

UML - Diagramas - luizantoniopereira.com.br 5 - OO_UML... · Estado final ou pt. de parada . PUC-Rio C C E ... As atividades ligadas às transições de saída são executadas em

  • Upload
    ngokiet

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

C C

E

PUC-Rio

1/21

Tópico 5: Diagrama de Atividades

Luiz Antônio M. Pereira [email protected]

PUC-Rio

C C

E

2/21

DA

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

PUC-Rio

C C

E

3/21

DA

Anteriormente entendidos como variantes do DTE, onde os estados são estados de atividade;

Enfocam o fluxo de controle entre atividades do sistema (visão dinâmica);

Úteis para descrição de comportamentos com muito processamento em paralelo;

PUC-Rio

C C

E

4/21

DA

Úteis para modelagem de programas concorrentes, onde se projetam graficamente as threads e pontos de sincronismo.

C C

E

PUC-Rio

5/21

DA

Elementos

PUC-Rio

C C

E

6/21

DA

Estado inicial

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

PUC-Rio

C C

E

7/21

DA

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

Estado final ou pt.

de parada

PUC-Rio

C C

E

8/21

DA

Estado inicial:

Indica o ponto de início das atividades;

Estado final:

Indica o ponto de término das atividades.

PUC-Rio

C C

E

9/21

DA

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

ações

atividade

PUC-Rio

C C

E

10/21

DA Exemplos:

Detalhado em

outro grafo

Preparar

Café

Imposto = Renda

Líquida * 0,20

Emitir Boleto de

Mensalidade

PUC-Rio

C C

E

11/21

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

DA

transições

PUC-Rio

C C

E

12/21

DA

Transições:

Não-qualificadas;

“Guardadas”, com expressões lógicas que indicam as condições em que são trilhadas. As guardas são colocadas entre “[“ e “]”;

São trilhadas quando as atividades origem terminam.

PUC-Rio

C C

E

13/21

DA

[senão] [...]

Desvio ou

branch

intercalação

ou merge

PUC-Rio

C C

E

14/21

DA

[senão] [A]

De um desvio podem partir várias transições...

...

[...] [B]

[C]

PUC-Rio

C C

E

15/21

[ Ficha Válida ]

Servir Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

Receber

Ficha

Colocar Pó

no Filtro

Colocar Copo

na Bandeja

Despejar Água

Fervente no Filtro

Máquina de Café

Despejar Café

no CopoDespejar Açúcar

no Copo

Exibir Mensagem

Para Retirar Café

Exibir Mensagem de

Ficha Inválida

Coar Café

[ else ]

[Ficha Válida]

DA

Separação ou

fork

Junção ou

união

PUC-Rio

C C

E

16/21

DA

Forks: Uma transição de entrada e várias transições de

saída;

As atividades ligadas às transições de saída são executadas em paralelo (threads ou fios de execução);

Junções:

Marcam pontos de sincronismo;

Processamento só passa da junção quanto todos os threads que nela convergem são terminados.

PUC-Rio

C C

E

17/21

DA

Aspectos complementares:

Região de expansão: atividade estruturada executada múltiplas vezes - permite que se mostre iterações sem a necessidade de se construir loops.

Receber

Pedido

Preencher linha

de item

* Entregar

Pedido

Indica que a ativi-

dade é executada

muitas vezes.

PUC-Rio

C C

E

18/21

DA

Aspectos complementares:

Partições:

Raias (swimlanes) são usadas quando há necessidade de se indicar quem executa as atividades.

PUC-Rio

C C

E

19/21

DA

Finanças

SAC

Execução

Receber

Pedido

Enviar

Fatura

Receber

Pgmto.

Preencher

Pedido

Entregar

Pedido

Fechar

Pedido

PUC-Rio

C C

E

20/21

DA

Raias podem ser hierarquizadas/multidimensionadas:

PUC-Rio

C C

E

21/21

DA

Quando utilizar DAs (dicas do Fowler):

Descrevendo um algoritmo complicado;

Lidando com aplicações de processamento paralelo (e.g. modelagem de negócios).

Descrevendo casos de uso:

Cenários podem ser facilmente identificados.

Especificação da colaboração Ator(es) Sistema feita visualmente, com o uso de ferramenta gráfica.