Anda di halaman 1dari 60

Professor:

Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

Diagramas de
Atividade: UML 2.0

Diagramas de Atividade
O Diagrama de Atividade uma das formas
que UML prope para modelar os aspectos
dinmicos de um sistema,
Comportamento

Um tipo de fluxograma mostrando como o


controle flui entre as aes que compe uma
atividade.

Verses 1.5 e 2.0


A verso mais moderna de Diagramas
de Atividade a 2.0
2.1.1

A verso 1.5 suportada pela maioria


das ferramentas CASE
Algumas ainda esto em UML 1.3

Verso 1.5
Na verso 1.5, um
diagrama de
atividades era o
mesmo que uma
mquina de estados.
Essa semntica
menos interessante
para ns do que a
atual.

Exemplo de DA (UML 2.0)


O exemplo ao lado
exatamente igual a
um exemplo da
verso 1.5
O significado
prtico o mesmo
Mas...

Exemplo Complexo de DA

Outro Exemplo + UML 2.0

Ferramentas CASE (1/2)


Jude Community 3.1.1 UML 1.5 (+)

StarUML 5.0.2.1570 Ainda no 2.0


Receber Pedido

Executar Pedido

Emitir Fatura

Notificar Comprador

Ferramentas CASE (2/2)


Visual Paradigm CE 6.0
Falta muito pouco para UML 2.0

Outras Ferramentas CASE UML


IBM Rational Rose 7.0 (UML 1.5!)
IBM Rational Software Modeller 7.0
Borland Together
Visual Paradigm
Magic Draw
Poseidon e Apollo for Eclipse
OMondo for Eclipse (free)
Dezenas de outras....

1
0

11

DA seqncia Aes
Em um diagrama de atividades, cada
atividade modelada como uma
seqncia de aes simples.

As aes so simples, no a seqncia

Composio do Diagrama
Ns
Vrios tipos de ns
Indicam ao, controle e objetos

Arestas
Poucos tipos (2)
Indicam o fluxo

1
2

1
3

Ns do Diagrama de Atividade
Aes
Ns de Controle
Ns abstratos
Vrios subtipos

Objetos

1
4

Arestas do Diagrama de Atividade


Fluxo de Controle
Fluxo de Dados/Objetos
Ambas modeladas por setas em UML
2.0
UML 1.5 usava setas tracejadas para fluxo
de objetos/dados

Semntica do Diagrama

1
5

Semntica de fluxo de tokens


Tokens so marcaes que andam
pelos ns e arestas, indicando quais ns
esto ativos
Existem tokens de controle e tokens de
dados

Tokens andando

1
6

Ao (1/3)
Uma ao a unidade bsica de
descrio de comportamento
Uma ao converte um conjunto de
entradas em um conjunto de sadas
Quaisquer dos conjuntos pode ser vazio

1
7

Aes (2/3)
Existem em UML vrios tipos
especializados de aes
Detalhe da UML que no se aplica ao
curso de forma geral
Como SendSignalAction, que veremos ainda
Como CallAction, que invoca um
comportamento e retorna valores, e no
veremos mais nesse curso

1
8

Aes (3/3)
Aes esto sempre contidas em
comportamentos (DAs,por exemplo)
Comportamentos fornecem contexto s
aes
Quando executam
Que entradas exigem

1
9

Tipos Bsicos de Aes


Chamada de Operaes
As operaes so executadas
dinamicamente, devido ao polimorfismo
existem no modelo OO

Envio de Sinais
Invocao direta de comportamentos

2
0

Ns de Controle
So Abstratos
Coordenam o fluxo da atividade

2
1

Tipos de Ns de Controle
N Inicial
N Final
Fim de Atividade
Fim de Fluxo

N de fork (diviso de fluxo)


N de join (unio e sincronizao de fluxos)
N de deciso (escolha entre fluxos)
N de merge (unio de fluxos disjuntos)

2
2

N Inicial

2
3

Um DA pode ter um ou mais ns


iniciais
No so necessrios
Cada n inicial indica um fluxo (thread)
Todos os ns iniciais de uma atividade so
invocados no seu incio
Indicado por um crculo negro

N de Fim de Atividade

2
4

O n final determina o fim da atividade


O n final termina todos os caminhos
paralelos que esto sendo seguidos
Indica por um crculo negro dentro de
um crculo vazado

N de fim de fluxo

2
5

O n de fim de caminho determina que


o caminho sendo seguido se esgotou
No determina o fim da atividade como
um todo se outros caminhos estiverem
sendo seguidos

2
6

N de Deciso

Permite escolher um entre vrios


caminhos possveis, de acordo com uma
regra de escolha
Semelhante a um CASE

m
Co

sco
e
o

ru
e
h
l

cam

o?
h
in

Guardas

2
7

So expresses lgicas que ajudam a


decidir que caminho tomar em um n de
deciso
guardam o caminho

Apenas um caminho pode ser verdade


Aplicam-se aos caminhos (arestas)
Esto dentro de colchetes

Deciso e Guardas
Ateno para o formato especfico

2
8

Notao Alternativa de Deciso

2
9

N de merge (unificao)

3
0

Serve para juntar caminhos separados


com o n de deciso
Usa o mesmo smbolo da deciso

N de fork
Divide um fluxo em vrios fluxos
concorrentes (copiando o token)

3
1

N de join (sincronizao)
Unifica e sincroniza fluxos
concorrentes
Consome os tokens simultaneamente

3
2

N de Objeto
Representa um objeto
Aparece em fluxos de objeto entre
duas aes

Nome do Objeto

3
3

Fluxo de Controle
Setas simples

3
4

3
5

Fluxo de Objeto

Indica o objeto que passado entre as


aes
UML 2.0
UML 1.5
Aco 1

Aco 1

Ferramentas utlizadas
ainda no atendem
plenamente a UML 2.0

Aco 1

Objeto
Objeto

Ao 2

Ao 2

Ao 2

Objetos que so sinais


Objetos que so sinais usam uma
notao especial

Nome
do Sinal

3
6

Entendendo o Exemplo

3
7

(Deciso)
(Fork)
Agora uma deciso.
Aqui
iniciamos
dois caminhos paralelos
(Ao)
(Join)
(N
Inicial)
(Objeto)
O pedido foi recusado ou aceito?
(Merge) (N Final)
Essa
Aqui
osaacaba
caminhos
primeira
ao
so
da
unidos
atividade
eas
A
atividade
Objeto
se
inicia
passando
a
partir
entre
desse
aes.
Veja
as
arestas
com
guardas
Aqui
a
atividade
Se o pedido no foi aceito, pulamos as n
sincronizados
direto para c

Cuidados: O sincronismo exige


que todos os fluxos cheguem

3
8

3
9

Fluxos Terminando

[ nenhumcomponentes para instalar ]


Construir Componente

Instalar Componente

[ faltamcomponentes para instalar ]

[ novos componentes so necessrios ]


[ nenhumcomponente precisa ser construdo ]

Lanar Aplicao

Outro Exemplo

4
0

Atividade

4
1

Descreve uma atividade especfica em


um DA

Parmetros de Entrada e Sada

4
2

Descrevem dados e objetos que so


parmetros de entrada e sada

Entrada
Sada

Parties
Qualquer diagrama pode ser
construdo dentro de um espao que
modele alguma partio dessas
atividades.
Essas parties representam alguma
diviso do sistema

4
3

Parties Comuns
Atores que realizam as atividades
Departamentos
Empresas

Localidades
Etc...

4
4

Raias (Swimlanes)

4
5

Normalmente o que se faz utilizar


colunas (ou linhas) para modelar os
agentes que realizam a atividade
especfica, dando a impresso de raias
no diagrama (swimlanes).
Podem ser usadas vrias parties, de
forma hierrquica ou multi-dimensional

Partio Simples

4
6

Partio Multi-Dimensional

So Paulo

Rio

Vendas

Compras

4
7

Partio Hierrquica
Empresa
Vendas

Externo
Produo

Cliente

4
8

Exemplo com Raias

4
9

Envio de Sinais

SignalSendAction

5
0

Especializao de Ao
Uma ao com dois parmetros:
Sinal
Nome do Receptor

No representa o sinal, mas o envio do


sinal

5
1

Recepo de Evento
Especializao de Ao
SignalAcceptAction

UML 1.5

UML 2.0

Ferramentas
utilizadas
ainda no
suportam esses
smbolos

Indicam que a ao recebe um evento


Se um evento temporal, notao
diferenciada (ampulheta)

Exemplo Enviando Sinais


Receber Pedido

Executar Pedido

Emitir Fatura

Notificar Comprador

5
2

rea Interrompvel (1/2)


Uma regio que pode sofrer uma
interrupo (por exemplo, exceo)

5
3

rea Interrompvel (2/2)


Tratamento de Exceo
Recepo de Sinal

5
4

5
5

Modelando o Negcio com DA


O Diagrama de Atividades pode ser usado
em qualquer modelo que descreve um fluxo
de aes.
No lugar do EPC

Em um nvel de abstrao mais detalhado do que


o EPC, usando um DA para cada Processo do EPC

EPCs tambm seguem uma semntica de


fluxo de tokens! (Rede de Petri).

EPC e DA

5
6

Esses dois diagramas mostram


algumas semelhanas. As informaes
que faltam ao DA podem ser colocadas
como objetos e comentrios, porm
sem alcanar a mesma qualidade do
EPC. Para modelar negcios a OMG
prope uma linguagem prpria (BPMN)

Nvel de abstrao do DA

5
7

O DA pode trabalhar em vrios nveis de


abstrao, desde nveis ligados ao negcio
at a descrio de um comportamento
especfico de um mtodo.
A nova verso do DA foi criada
especialmente para suportar a criao
automtica de programas a partir de modelos
(MDA Model Driven Architecture)

DA 2.0

5
8

Poucas ferramentas esto totalmente


adaptadas, e as que esto adaptadas
ainda apresentam algumas pequenas
no conformidades
Em especial, as ferramentas livres ainda
esto fortemente ligadas a verso 1.5, que
utilizava a semntica de mquina de
estados

DA 2.0 mais poderosa?

5
9

Na verdade, os diagramas de atividade


da verso 2.0 trazem maior diversidade
a UML, pois a notao de mquina de
estado j existia.
Novas caractersticas aumentam o
poder como ferramenta de modelagem
Mas no aumentam o poder
computacional de facto.

Professor:
Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ

Contedo:

FIM: Diagramas de
Atividade: UML 2.0