Anda di halaman 1dari 15

6.

Diagr amas de ACTI VI DADE

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.

P-A. Muller, Modlisation Objet avec UML, ditions Eyrolles, Paris,


1997.

A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

Acetato 1

OBJECTI VOS
u

Familiarizar com os conceitos essenciais sobre


Diagramas de Actividade, salientando a sua
utilidade
u

na anlise de casos de uso individuais,

na compreenso de fluxos entre casos, e

no manejo do paralelismo.

A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

Acetato 2

TPI COS COBERTOS


u

Diagramas de Actividade.
u Domnios

tpicos de aplicao.

u Explorao

em casos de uso.

u Tipos

de sincronizao.

u Pistas

e casos de uso mltiplos.

u Decomposio

de actividades.

Quando utilizar os Diagramas de Actividade.

A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

caf recorrendo a uma


mquina do tipo

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

Acetato 8

1. Diagramas de actividade
Recebe
encomenda
Disparo mltiplo
Cancela
encomenda

[no]

Para cada item


Verifica da encomenda
item
*

Autoriza
pagamento
[sim]

[em stock]
Afecta
encomenda

Condio de sincronizao

[stock afecto a todos


os items e pagamento
autorizado]

[ necessrio
encomendar mais]

Encomenda
mais

Despacha
encomenda

A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

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

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

Acetato 14

5. Quando utilizar os Diagramas de Actividade?


Os diagramas de actividade utilizam-se com mais proveito
nas seguintes situaes :

Anlise de um caso de uso. Auxilia a compreender que aces


vo decorrer e que dependncias comportamentais existem.
Depois, faz-se a afectao dos mtodos a objectos e descrevem-se
as afectaes com diagrams de actividade
Compreender fluxos de trabalho (workflows) entre vrios
casos de uso. Os diagrams de actividade facilitam muito a
compreenso nestes casos.
Analisar e descrever aplicaes multi-fio (multi-threaded).
A. Dias de Figueiredo, 1997/78

Engenharia de Software, Departamento de Eng. Informtica, FCTUC

Acetato 15

Anda mungkin juga menyukai