• Nenhum resultado encontrado

Diagrama de Atividade

N/A
N/A
Protected

Academic year: 2021

Share "Diagrama de Atividade"

Copied!
49
0
0

Texto

(1)

C C

E

Tópico 5 – UML -

Diagrama de Atividade

Luiz Antônio M. Pereira

[email protected]

[email protected]

(2)

C E DA - Motivação

 Em muitas situações precisamos especificar

Os passos necessários para a realização de uma tarefa

Executada em paralelo por mais de um executor;

Onde os passos se estruturam de forma não sequencial;

Com desvios causados por diversas condicionalidades;

Onde artefatos são produzidos e trocados entre os executores.

Um algoritmo complexo

Envolvendo processamento em paralelo, pontos de

sincronismo, desvios múltiplos ( switches ), intercalações, etc.

2

(3)

C E DA - Motivação

 Diagramas de Atividade da UML são expressivos o suficiente para a

modelagem completa de processos com

muitas ações executadas em paralelo.

(4)

C E DA - Conceitos

 Antes da UML 2.0 eram entendidos como variantes do DTE, onde os

estados são estados de atividade;

 Transição entre “Ação 1” e “Ação 2” só é trilhada quando “Ação 1” termina, ou seja, o evento que provoca a transição é o evento de fim de “Ação 1”.

Ação 1 Ação 2

(5)

C E DA - Conceitos

 Dos diagramas que já existiam na UML, foi o que mais sofreu inovações na

versão 2.0;

 DAs incorporaram nos últimos anos mecanismos para tratamento de

paralelismo, partições hierarquizadas e

em duas dimensões, pinos etc.

(6)

C E

6

DA - Conceitos

 Enfocam o fluxo de controle entre ações do sistema (visão dinâmica);

 Esses diagramas especificam a ordem de execução das ações, cobrindo,

portanto, parte da dimensão temporal do modelo de um sistema;

 Úteis para modelagem de programas concorrentes, onde se projetam

graficamente as threads e pontos de

sincronismo.

(7)

C E DA - Conceitos

 Vêm sendo usados em inúmeras outras aplicações, além das tradicionais

especificações de algoritmos complexos:

Processos de engenharia;

Processos de negócios (fluxos de trabalho -

workflows) ;

...

(8)

C E DA - Elementos da Notação

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

(9)

C E DA - Estados Inicial e Final

Preparar Café

Receber Ficha

Informar "Ficha Colocar Pó no

Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

Estado Inicial

(10)

C E DA - Estados Inicial e Final

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

Estado Final ou

Ponto de Parada

(11)

C E DA - Estados Inicial e Final

 Estado inicial:

Indica o ponto de início da atividade;

Só pode ter um no mesmo contexto.

 Estado final:

Pode haver mais de um no mesmo diagrama;

Quando atingido, a máquina é encerrada,

indicando o ponto de término da atividade.

(12)

C E DA – Atividade e Ações

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

Atividade

Ação

(13)

C E

Preparar Café

Imposto = Renda Líquida * 0,20

DA – Atividade e Ações

 Exemplos de ações:

 Preferencialmente usar nomes com

verbos no infinitivo.

(14)

C E DA – Atividade e Ações

 Ação é a unidade fundamental para a especificação de um comportamento (UML);

Representa algo indivisível (atômica);

 Atividade é composta de ações e/ou

sub-atividades.

(15)

C E DA – Atividade e Ações

 Uma ação recebe um conjunto de

entradas e as converte em um conjunto de saídas, embora ambos os conjuntos possam ser vazios;

 O conjunto de entradas para uma ação pode ser resultado das saídas de uma ou mais ações executadas

anteriormente.

(16)

C E

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

DA - Transições

Transição

(17)

C E DA – Transições

 Também chamadas de fluxos;

 São trilhadas quando as atividades origem terminam.

 São não-qualificadas; ou

 Qualificadas com “guardas”: expressões lógicas que indicam as condições em

que são trilhadas. As guardas são

colocadas entre “[” e “]”;

(18)

C E

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

DA – Transições

Desvio ou branch Intercalação ou

(19)

C E DA – Transições

 Um desvio ou nó de decisão é um nó de controle que escolhe entre fluxos de

saída;

 Fluxos de saída obrigatoriamente

guardados com as respectivas condições

de saída;

(20)

C E DA – Transições

 De um desvio podem partir vários fluxos, desde que as guardas especifiquem

condições lógicas mutuamente excludentes.

 Em outras palavras: um desvio

corresponde a um fluxo de controle de

entrada com um fluxo de controle de

saída.

(21)

C E DA – Transições

[senão]

[A]

...

[...]

[B]

[C]

(22)

C E DA – Transições

 A contrapartida de um nó de decisão é um nó de intercalação;

 Recebe os vários fluxos de entrada (que correspondem aos desvios) e tem um

único fluxo de saída.

(23)

C E DA – Transições

 Uma intercalação tem que ser colocada sempre que colocamos um nó de

decisão, a menos que o fluxo termine ou que outra decisão precise ser

tomada.

Ação Tal [condição tal]

(24)

C E DA – Separações e Junções

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

Separação ou fork Junção, união ou

(25)

C E DA – Separações e Junções

 Separações:

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

Em outras palavras: um fork corresponde a um

fluxo de controle de entrada com dois ou mais

fluxos de controle de saída.

(26)

C E DA – Separações e Junções

 Junções:

São as contrapartidas das separações;

Marcam pontos de sincronismo;

Processamento só passa da junção quanto todos os fios de execução que nela convergem são terminados;

A representação no modelo não é obrigatória pela UML. Múltiplos fluxos de entrada em uma ação caracterizam uma junção implícita.

Action2 Action3

Action4

Action2 Action3

Action4

(27)

C E DA - Partições

 Partições:

Partições ou raias ( swimlanes ) são usadas quando há necessidade de se indicar quem executa as

atividades;

As ações executadas por determinado

executor/setor são colocadas na raia desse determinado executor/setor;

As raias podem ser hierarquizadas;

As raias podem ser bi-dimensionais.

(28)

C E DA - Partições

Processamento DespachoEstoque

B

B1 B2

A A1A2

(29)

C E DA – Fluxo de Objetos

 Objetos (artefatos) podem ser passados de uma ação a outra durante a

execução de uma atividade;

 Objetos são denotados por retângulos que se situam no fluxo entre as ações que os passam e as que os recebem:

Receber Pedido Atualizar

Estoque umaFatura:Fatura

(30)

C E DA – Fluxo de Objetos

 O nome do objeto deve ser colocado no interior do retângulo na forma

objeto:classe ,

 A referência à instância ou à classe (uma ou outra) é opcional.

 Nomes aceitáveis:

copiaFatura:Fatura, copiaFatura, :Fatura

(31)

C E

Emitir Boleto de Mensalidade

DA – Atividades Aninhadas

 Exemplos:

Atividades aninhadas são detalhadas em outros diagramas

Emitir Boleto de Mensalidade

(32)

C E DA – Atividades Aninhadas

 Para manterem a consistência do modelo, os CASEs

1. Criam um diagrama para modelarmos a atividade aninhada;

2. Permitem que arrastemos um diagrama

para dentro de outro.

(33)

C E DA – Sinais e Eventos Temporais

 O envio de um sinal em um modelo de sistema pode estar associado ao

lançamento de uma interrupção;

 A recepção de um sinal pode estar associada à execução da ação de tratamento dessa interrupção.

33

cessamentoAtendimentoFinanceiro

Receber pedido

«signal sending»

Solicitar Pagamento

«signal receipt»

Pagamento Confirmado

Preparar fatura

cópia do pedido

Organizar pedido

Embalar pedido

Notificar transportadora

ActivityFinal [senão]

[pedido completo]

(34)

C E DA – Sinais e Eventos Temporais

 Um evento temporal é algo que ocorre

em um instante determinado (evento temporal fixo), ou

após determinado tempo medido com relação à ocorrência de outro evento (evento temporal relativo);

 Um evento temporal pode dar origem a

um fluxo.

(35)

C E DA – Consolidando...

Preparar Café

Receber Ficha

Informar "Ficha Inv álida"

Colocar Pó no Filtro Ferv er Água

Colocar Copo na Bandej a

Despej ar Água Ferv ente Sobre o Pó

Despej ar Açúcar no Copo

Despej ar Café no Copo

Informar "O Café Pode Ser

Retirado"

[ficha válida]

[senão]

(36)

C E DA – Consolidando...

ProcessamentoAtendimentoFinanceiro

Receber pedido

«signal sending»

Solicitar Pagamento

«signal receipt»

Pagamento Confirmado

Preparar fatura

cópia do pedido

Organizar pedido

Embalar pedido

Notificar transportadora

(37)

C C

E

Aspectos Complementares

(38)

C E DA – Fim de Fluxo

 Também chamado de cancelamento ;

 Usado para denotar que um fio de execução terminou, mas a máquina continua ativa;

 Diferente do ponto de parada, que especifica que TODA a máquina se encerra naquele ponto;

 Notação:

(39)

C E DA – Fim de Fluxo

A

B

C

D

E [c1]

[c2]

(40)

C E DA - Conectores

 Usados para evitar longas setas de fluxos;

 Usados em quebras de páginas.

(41)

C E DA - Pinos

 Uma ação pode receber parâmetros

(objetos, valores, listas de objetos ou de valores etc.) da ação anterior

 Uma ação pode passar parâmetros para a ação seguinte na sequência.

 Podemos usar a notação de pinos.

Receber Fatura Receber Pagamento

Pedido

(42)

C E DA - Transformações

Usadas quando o

parâmetro de entrada de uma ação é o resultado de uma operação aplicada no parâmetro de saída da ação anterior na sequência.

As transformações devem ser livres de efeitos

colaterais (não podem alterar o estado do

ambiente).

Elaborar Análise de Crédito

Laudo

Informar Resultado de Análise de Crédito

Nome eMail Parecer

(43)

C E DA – Regiões de Expansão

 Usadas para especificar conjuntos de ações que são realizadas em paralelo ou iterativamente.

Aplicar Prov as

Provas

«parallel»

Provas

Corrigir Prov a Lançar Nota

Fluxo de Objetos

Paralelo ou

iterativo

(44)

C E DA – Especificando UCs

 Problemas da especificação textual:

Não é concisa;

Dificilmente é completa;

Pouco manutenível.

Inserção, alteração e remoção de passos facilmente provoca inconsistências na

especificação (a rastreabilidade);

A tecnologia tipicamente usada (tabelas do Word com referências cruzadas) é de baixa usabilidade.

Continua ...

(45)

C E DA – Especificando UCs

 Problemas da especificação textual (cont):

Precisam ser interpretadas e convertidas em diagramas pelos projetistas (é nessa etapa que a incompletude é evidenciada);

Demandam retrabalho (novas entrevistas).

(46)

C E DA – Especificando UCs

 Vantagens de uso:

Concisão;

Completude mais facilmente buscada;

Cenários podem ser facilmente identificados;

Maior manutenibilidade;

Especificação da colaboração Ator(es)

Sistema feita visualmente, com o uso de

ferramenta gráfica.

(47)

C E DA – Especificando UCs

 Desvantagem de uso:

Usuário em geral não é familiarizado com a notação dos DAs da UML.

 O caminho do meio:

Analista especifica em DA e depois

converte para texto, para homologação

pelo cliente.

(48)

C E DA – Especificando UCs

 Duas formas básicas de especificação com DAs:

Especificando unicamente as ações do sistema;

Vantagem: melhor estruturação do diagrama.

Desvantagem: as ações dos atores não são evidenciadas.

Incluindo também as ações dos atores na especificação.

Em raias distintas;

Usando cores distintas para as ações.

(49)

C E DA – Onde Mais Usar?

 Quando utilizar DAs (dicas do Fowler):

Descrevendo um algoritmo complicado;

Lidando com aplicações de processamento paralelo.

 Modelagem de negócios.

Referências

Documentos relacionados

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

A estabilidade do corpo docente permanente permite atribuir o conceito muito bom, segundo os parâmetros da área, para o item 2.2 (pelo menos 75% dos docentes permanentes foram

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Para Piaget, a forma de raciocinar e de aprender da criança passa por estágios. Por volta dos dois anos, ela evolui do estágio sensório motor, em que a ação envolve os

A partir das análises realizadas no que tange às articulações entre processo formativo que enfatizou a ressignificação e aplicação, inferimos que a aplicação da SEA replanejada no

Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes

Foi membro da Comissão Instaladora do Instituto Universitário de Évora e viria a exercer muitos outros cargos de relevo na Universidade de Évora, nomeadamente, o de Pró-reitor (1976-

Este artigo está dividido em três partes: na primeira parte descrevo de forma sumária sobre a importância do museu como instrumento para construção do conhecimento, destaco