Escolar Documentos
Profissional Documentos
Cultura Documentos
Geraldo Xexéo
DCC/IM/UFRJ
PESC/COPPE/UFRJ
Conteúdo:
Diagramas de
Atividade: UML 2.0
2
Diagramas de Atividade
O Diagrama de Atividade é uma das formas
que UML propõe para modelar os aspectos
dinâmicos de um sistema,
Comportamento
Um tipo de “fluxograma” mostrando como o
controle flui entre as ações que compõe uma
atividade.
3
Versão 1.5
Na versão 1.5, um
diagrama de
atividades era o
mesmo que uma
máquina de estados.
Essa semântica é
menos interessante
para nós do que a
atual.
5
Exemplo Complexo de DA
7
Executar Pedido
Emitir Fatura
Notificar Comprador
9
DA seqüência Ações
Em um diagrama de atividades, cada
atividade é modelada como uma
seqüência de ações simples.
Composição do Diagrama
Nós
Vários tipos de nós
Indicam ação, controle e objetos
Arestas
Poucos tipos (2)
Indicam o fluxo
13
Semântica do Diagrama
“Semântica de fluxo de tokens”
Tokens são marcações que andam
pelos nós e arestas, indicando quais nós
estão ativos
Existem tokens de controle e tokens de
dados
16
Tokens andando
17
Ação (1/3)
Uma ação é a unidade básica de
descrição de comportamento
Uma ação converte um conjunto de
entradas em um conjunto de saídas
Quaisquer dos conjuntos pode ser vazio
18
Ações (2/3)
Existem em UML vários tipos
especializados de ações
Detalhe da UML que não se aplica ao
curso de forma geral
Como SendSignalAction, que veremos ainda
Como CallAction, que invoca um
comportamento e retorna valores, e não
veremos mais nesse curso
19
Ações (3/3)
Ações estão sempre contidas em
comportamentos (DAs,por exemplo)
Comportamentos fornecem contexto às
ações
Quando executam
Que entradas exigem
20
Nós de Controle
São Abstratos
Coordenam o fluxo da atividade
22
Nó Inicial
Um DA pode ter um ou mais nós
iniciais
Não são necessários
Cada nó inicial indica um fluxo (thread)
Todos os nós iniciais de uma atividade são
invocados no seu início
Indicado por um círculo negro
24
Nó de Fim de Atividade
O nó final determina o fim da atividade
O nó final termina todos os caminhos
paralelos que estão sendo seguidos
Indica por um círculo negro dentro de
um círculo vazado
25
Nó de fim de fluxo
O nó de fim de caminho determina que
o caminho sendo seguido se esgotou
Não determina o fim da atividade como
um todo se outros caminhos estiverem
sendo seguidos
26
Nó de Decisão
Permite escolher um entre vários
caminhos possíveis, de acordo com uma
regra de escolha
Semelhante a um “CASE”
27
“Guardas”
São expressões lógicas que ajudam a
decidir que caminho tomar em um nó de
decisão
“guardam o caminho”
Apenas um caminho pode ser verdade
Aplicam-se aos caminhos (arestas)
Estão dentro de colchetes
28
Decisão e Guardas
Atenção para o formato específico
29
Nó de “merge” (unificação)
Serve para juntar caminhos separados
com o nó de decisão
Usa o mesmo símbolo da decisão
31
Nó de “fork”
Divide um fluxo em vários fluxos
concorrentes (copiando o token)
32
Nó de “join” (sincronização)
Unifica e sincroniza fluxos concorrentes
Consome os tokens simultaneamente
33
Nó de Objeto
Representa um objeto
Aparece em fluxos de objeto entre
duas ações
Nome do Objeto
34
Fluxo de Controle
Setas simples
35
Fluxo de Objeto
Indica o objeto que é passado entre as
ações UML 2.0
UML 1.5
Acão 1 Objeto Ação 2
Objeto
Acão 1 Ação 2
Acão 1 Ação 2
Ferramentas utlizadas
ainda não atendem
plenamente a UML 2.0
36
Nome
do Sinal
37
Entendendo o Exemplo
(Decisão)
(Fork)
Agora uma decisão.
(Ação)
(Join)
(Nó Aqui
Inicial) iniciamos
(Objeto) dois caminhos paralelos
(Merge) (Nó Final) O pedido foi recusado ou aceito?
Essa
Aqui éosaacaba
caminhos
primeira ação
são da
unidos
atividade
eas
Se o pedido não foi aceito, “pulamos” as nó
A atividade
Aqui Objeto
se
Veja inicia
apassando
as a partir
arestas
atividade entre
desse
com ações.
“guardas”
sincronizados
direto para cá
38
Cuidados: O sincronismo exige
que todos os fluxos cheguem
39
Fluxos Terminando
Outro Exemplo
41
Atividade
Descreve uma atividade específica em
um DA
42
Entrada
Saída
43
Partições
Qualquer diagrama pode ser
construído dentro de um espaço que
modele alguma partição dessas
atividades.
Essas partições representam alguma
divisão do sistema
44
Partições Comuns
Atores que realizam as atividades
Departamentos
Empresas
Localidades
Etc...
45
Raias (Swimlanes)
Normalmente o que se faz é utilizar
colunas (ou linhas) para modelar os
agentes que realizam a atividade
específica, dando a impressão de “raias”
no diagrama (swimlanes).
Partição Simples
47
Partição Multi-Dimensional
Vendas Compras
Rio
São Paulo
48
Partição Hierárquica
Empresa Externo
Vendas Produção Cliente
49
Especialização de Ação
Uma ação com dois parâmetros:
Sinal
Nome do Receptor
Não representa o sinal, mas o envio do
sinal
51
Recepção de Evento
Especialização de Ação
Ferramentas
SignalAcceptAction utilizadas
ainda não
suportam esses
UML 1.5 UML 2.0
símbolos
Executar Pedido
Emitir Fatura
Notificar Comprador
53
EPC e DA
Nível de abstração do DA
O DA pode trabalhar em vários níveis de
abstração, desde níveis ligados ao negócio
até a descrição de um comportamento
específico de um método.
A nova versão do DA foi criada
especialmente para suportar a criação
automática de programas a partir de modelos
(MDA – Model Driven Architecture)
58
DA 2.0
Poucas ferramentas estão totalmente
adaptadas, e as que estão adaptadas
ainda apresentam algumas pequenas
não conformidades
Em especial, as ferramentas livres ainda
estão fortemente ligadas a versão 1.5, que
utilizava a semântica de máquina de
estados
59
Conteúdo:
FIM: Diagramas de
Atividade: UML 2.0