Os diagramas de actividade e a
representao do paralelismo
Bibliografia:
M. Fowler and K. Scott, UML Distilled: Applying the Standard Object
Modeling Language, Addison Wesley Longman, Inc., 1997.
Acetato 1
OBJECTI VOS
u
no manejo do paralelismo.
Acetato 2
Diagramas de Actividade.
u Domnios
tpicos de aplicao.
u Explorao
em casos de uso.
u Tipos
de sincronizao.
u Pistas
u Decomposio
de actividades.
Acetato 3
1. Diagramas de actividade
O conceito de actividade depende da perspectiva segundo a qual se
est a desenhar o diagrama:
Na perspectiva conceptual, uma actividade uma tarefa a
executar, quer seja pelo computador, quer por um ser humano;
Nas perspectivas de especificao e de implementao, uma
actividade um mtodo numa classe.
As actividades so representadas por rectngulos arredondados, as
setas que as unem so denominadas disparos (triggers), e as
expresses lgicas que distinguem uma via verdadeira de uma falsa
denominam-se guardas.
A. Dias de Figueiredo, 1997/78
Acetato 4
1. Diagramas de actividade
Exemplo de
Guarda
Ponto de entrada
Encontra
bebida
diagrama
de actividade:
Deciso
[No h cola]
[No h caf]
[H caf]
Barra de sincronizao
[H cola]
Caso da sequncia
Pe caf
no filtro
de actividades
(humanas) para
a preparao de um
Pe gua no
reservatrio
Obtm as
chvenas
Obtm lata
de cola
Pe o filtro
na mquina
Liga a
mquina
expresso e prevendo
a possibilidade de,
no caso de no
haver caf, se beber
uma cola.
A. Dias de Figueiredo, 1997/78
Faz infuso
do caf
Ponto de sada
Luz desliga-se
Vasa o
caf
Bebe
bebida
Acetato 5
1. Diagramas de actividade
Uma barra de sincronizao na qual convergem diversos disparos
comporta-se como um AND lgico: s se passa actividade que
se segue barra se os diveros disparos de entrada ocorrerem
todos.
O losngulo corresponde a uma deciso que se segue a uma
deciso anterior, j caracterizada com guardas. O recurso a
losngulos permite encadear indefinidamente sucessivas situaes
de deciso. Como se observa no diagrama anterior, corresponde a
uma situao semelhante a um OR lgico.
A. Dias de Figueiredo, 1997/78
Acetato 6
1. Diagramas de actividade
Aplicaes tpicas para os diagramas de actividade:
Construo de modelos do negcio (business models). Os
diagramas de actividades incentivam a identificao de processos
paralelos. A explorao de processos paralelos nas actividades de
negcio permite que as actividades do negcio, normalmente
muito propensas a situaes de paralelismo, possam ser realizadas
com muito mais eficincia e capacidade de resposta.
Anlise de processos concorrentes. Os diagramas de actividades
permitem analisar com muita facilidade processos concorrentes,
permitindo, quer a correcta anlise dos seus diversos fios
(threads), quer a identificao dos pontos de sincronizao.
A. Dias de Figueiredo, 1997/78
Acetato 7
1. Diagramas de actividade
Aplicao a um caso de uso:
Descrio do caso de uso:
Quando se recebe uma encomenda, analisa-se cada item para
verificar se existe em stock. Se existe, afecta-se a mercadoria
encomenda. Se esta afectao faz descer a quantidade de
mercadoria a um nvel inferior ao que determina o reforo do
stock, encomendam-se essas mercadorias. Enquanto se faz isto,
verifica-se se o pagamento regular. Se o pagamento for regular
e tivermos as mercadorias em stock, satisfazemos a encomenda.
Se o pagamento for regular mas no tivermos mercadoria,
deixamos a encomenda em espera. Se o pagamento no regular,
cancelamos a encomenda.
A. Dias de Figueiredo, 1997/78
Acetato 8
1. Diagramas de actividade
Recebe
encomenda
Disparo mltiplo
Cancela
encomenda
[no]
Autoriza
pagamento
[sim]
[em stock]
Afecta
encomenda
Condio de sincronizao
[ necessrio
encomendar mais]
Encomenda
mais
Despacha
encomenda
Acetato 9
1. Diagramas de actividade
Um diagrama de actividade no tem que ter um ponto de sada.
No diagrama anterior as actividades terminam quando j no h
mais.
As actividades terminais mais visveis neste caso so Despacha
encomenda , Encomenda mais e Cancela encomenda , mas
h uma quarta: Verifica item uma actividade terminal
porque, se a condio em stock no for satisfeita, o percurso do
diagrama termina a.
O indicador de multiplicidade * exprime um disparo mltiplo,
repetitivo, que deve ser acompanhado da condio que determina
o nmero de vezes que efectuado (neste caso a condio
Para cada item da encomenda) .
A. Dias de Figueiredo, 1997/78
Acetato 10
1. Diagramas de actividade
As barras de sincronizao de mltiplos disparos podem ser de
dois tipos:
Barras de sincronizao incondicionais, que permitem a
passagem quando todos os disparos que lhes chegam esto
prontos; e
Barras de sincronizao condicionais, que exigem a
satisfao de uma condio para alm da disponibilidade de
todos os disparos ( o caso da condio Stock afecto a todos
os items e pagamento autorizado).
permitido construr diagramas de actividade com vrios pontos
de entrada.
A. Dias de Figueiredo, 1997/78
Acetato 11
1. Diagramas de actividade
As pistas e a aplicao a casos de uso mltiplos:
Quando se pretende construr um nico diagrama de actividade
que corresponde a vrios casos de uso que comunicam entre si,
constri-se o diagrama total mas procura-se que as actividades
correspondentes a cada caso fiquem separadas em pistas (como as
de uma piscina) distintas.
Estas pistas podem ser usadas mesmo quando se est a tratar de
um nico caso de uso no qual h convenincia em identificar
distintas responsabilidades para distintos utilizadores.
A. Dias de Figueiredo, 1997/78
Acetato 12
1. Diagramas de actividade
As pistas e a aplicao a casos de uso mltiplos:
Professor
Aluno
Jri
Ensinar
Aprender
Controlar
saber
Exercitar
Avaliar
Acetato 13
1. Diagramas de actividade
Decomposio das actividades:
Quando uma das actividades representada num diagrama muito
complexa, pode-se tom-la isoladamente e desenhar em separado
o diagrama de actividade que descreve o seu comportamento
interno.
O diagrama de actividade que resulta da decomposio de uma
actividade apresenta frequentemente vrios pontos de entrada e
vrios pontos de sada (se, partindo do exemplo anterior, se
constusse em separado o diagrama de actividade que correponde
a Exercitar, ele teria dois pontos de entrada e um de sada).
A. Dias de Figueiredo, 1997/78
Acetato 14
Acetato 15