Professional Documents
Culture Documents
UML-I550
-
~
oi
c
~
o
'-0:
o
o Que é o Diagrama de Atividades? -
~
-o:
o
=>
c
...ww • Descreve os aspectos dinâmicos do sistema.
Z
IL
~
a: • Mostra o fluxo entre as atividades, seus parale1ismos
o
o..
'"
o
e desvios condicionais.
c
;; • Pode ser usado para:
a:
w
'"
w
a: - Esclarecer graficamente casos de uso complexos.
'0
'-0:
'" - Descrever a interação do fluxo de trabalho entre vários
'"
g casos de uso.
w
a:
Õ - Especificar o funcionamento de métodos.
'"
O
'"
O
C
- Mostrar a navegação entre telas.
~
• É utilizado também para desenhar um fluxo de
256
:3
UML-1550
~
~
:=11 -
~
~
Componentes
J
=-
:I
~
.lJ.
:Li:
z
'
~
~:::
• Componentes de um Diagrama de Atividade
- Estado inicial (é obrigatório e só pode ter um) e final
(opcional e pode ter mais de um);
~'
<: - Transições (setas)
>
=
:I ,t;:;.
'"
~
o
• Separação (ou Bifurcação) e Junção (ou União) (forks e joins)
< • Desvios (ou decisões)
'"
::
:11 :::
j]
- Estados de Atividades e estados de ação
~
=-
- Objetos
3:n
o
o - Raias (Swirnlanes) - Demonstra o local onde são
~
executadas as ações (classe, parte da organização)
:11
257
::I
=
:I
atividade.
:I
:J
INSTITUTO INFNET - 257
:I
UML-1550
<i
Cl
f
--'
o
-o:
Componentes
o
«
o
=>
o
ur
f
W
Z
U.
~
a::
o
<l
a>
s«
>
a::
W
a>
W
a::
o
.<
a>
a>
of
Ui
a::
ã
a>
E
O
a>
O
Cl
O
: ~.
f
258
oi.
o
:3 ~
a
«
Exemplo
'o
«
o
:>
:3'
c
'"
>
""e,z • o processo de desenvolvimento simples:
~
~
OI:
oa,
O)
! .
oC
«
=:3
>
OI:
J:lJ
'"
UJ
c:
Listar Requisitos
Funcionais
o
>«
O)
O)
oI-
iii
OI:
a
O)
o
~
co
oc
o>
~
259
~
A figura acima mostra um exemplo de um diagrama de atividades que representa o
::I
processo simples de desenvolvimento apresentado no capítulo 2.
O processo é iniciado com a descrição do problema em forma de documento de visão
::t seguida da lista de requisitos funcionais.
As atividades de listar casos de uso e desenhar a navegação das telas (usando um diagrama
de atividades) podem ser feitas simultaneamente pois uma complementa a outra.
:i São feitas as descrições de todos os casos de uso e o desenho do diagrama de casos de uso.
A partir das descrições as classes potenciais são identificadas.
:t O desenho das classes e dos diagramas de sequência (um ou mais para cada caso de uso) é
feito em paralelo já que muitos métodos das classes são criados no momento em que o processo
:I está sendo detalhado no diagrama de sequência.
Caso alguma classe possua estado (status, situação) que justifique sua modelagem, os
~ diagramas de estado correspondentes são criados.
O estado final é representado pelo projeto e construção do sistema que aparecem como uma
=t
única ativadade apenas para efeitos de simplificação.
-=a
---
==
~
INSTITUTO INFNET - 259
~
~!
UML-1550
:iI
oi.
~
C
f
...I
o
-o:
Decisão
C>
«
o
::>
~
c[1J
f
[1J
Z
U.
• A decisão ou desvio é utilizada para indicar os
;?;
a: caminhos que podem ser percorridos.
:iI o
"
'"
o
c • E" uma condição (booleana) para um fluxo.
=-
«
>
a:
[1J
'"a:w
o
• Uso do termo [else].
-o:
'"'"o
:31 f-
Ui
a:
Efetuar
Paqam.ento
[ cartão] Validar
Cartã.o
s
'"
O
~ '"Oc
O
[cheque]
f
Ve r i f i c a r
~
( CPF
261
:=I
~ Como o diagrama de atividade é baseado em um caso de uso, é através dos desvios que
demonstramos e validamos os cursos alternativos.
Observe que no diagrama de atividade todos os fluxos (principal e alternativos) do diagrama
::I de casos de uso serão mapeados.
=
:::I
:I
:::I
:=I
==
:=:
::t
UML-155D
I t=
<i
-r
c
~
o
.<{
Fluxo de Objetos -
~
C>
<{
o
-~
::>
c
LU
t;j
Z
u,
• Fluxo de Objetos
;?;
a:
O
Q.
Cf)
O
C
- As ações podem alterar o estado de um objeto ou
mesmo criá-lo. -
~
-
<{
>
a:
LU
Cf) - Pode ser interessante exibir o estado em que o i2
LU
a:
'O objeto se encontra dentro de um Diagrama de
-
.<{
Cf)
Cf)
O Atividades. ~
l::
LU
a:
Õ
-
Cf)
O
Cf) I!!
O
C
O
....
262
-
r
Atividade e estados juntos podem trazer muita informação ao diagrama, cuidado com a
poluição visual, tenha sempre em mente o objetivo do diagrama que está sendo desenhado.
:31
<i.
:iI '"
:::;
o Exemplo
""o
<l:
'"'
=>
:I '"
::.J
ur
Z
u,
~
:iI 6c,
O)
o
C
<l:
::>
o::
:I W
li>
W
o:
=-
0<
>C(
O)
li>
o
I
iij
o:
Õ
O)
o
:I o li>
C
oI
= 263
=
~
No exemplo acima os objetos Pedido e Cobrança tem seus estados alterados por
determinadas atividades durante o fluxo de trabalho.
O processamento do pedido altera o status do pedido para processando. Após o envio do
pedido, este tem seu estado alterado para entregando enquanto o título a receber é criado com o
status de aberto.
~ Na recepção do pedido este tem seu status alterado para entregue. Após o pagamento o título
a receber é considerado pago. No fechamento do pedido, ele tem seu status alterado para fechado.
~
:=I
:I
:=li
::I
INSTITUTO INFNET - 263
:I
UML- /5.50
I:
~
oi.
Ações e Atividades ~
o
~
~
o
<t
u
'I:
::l
o
w
li;
""~
u,
ti:
oC
Ul
o
'I::
o
<t
>
ti:
w
Ul
w
ti:
t=
o
'<t
Ul
CIl
o
!::
w
I::
ti:
Õ
- podem ser decompostos,
Ul
o
Ul
oo - podem ser interrompidos, ~
~
- tomam tempo até completar.
~
264
Um estado de ação é a menor porção do código, se houver divisão no "validar DV do CPF", t::
este não é um estado de ação.
~
UML-1550
<i.
:iI "
...l
o
<
Uso do Diagrama de Atividades
:..>
-c
~II
:ti z"'" • o diagrama de atividades pode ser usado em
...
~
várias situações:
'"
o
Q 1. Descrição de processos
-c
>
~
:l!:
""""
D
2. Descrição de um caso de uso
:li::
o
<: 3. Descrição de um método
'"
=
;11
'"
;:
n
%
:i
D
.,o
o
4. Navegação de telas
= 265
= o diagrama de atividades serve para descrever uma vasta gama de operações, como por
= exemplo:
1. Descrição de processos, fluxos de trabalho e sequenciamento de casos de uso.
:ti 2. Detalhamento de um caso de uso mais extensos. Normalmente nestes casos é mais
fácil entender o diagrama de atividades do que um texto descritivo.
51 3. Descrição de métodos com lógica complexa.
4. Navegação de telas. Embora não seja o diagrama ideal para esta tarefa, é uma boa
~I opção pois faz parte da especificação da UML. Além disso, como os desenvolvedores
usam ferramentas UML, o diagrama de atividades sempre estará a mão para auxiliar
= nesta tarefa.
:I
:I
:!
:s
§li
INSTITUTO INFNET - 265
~
UML-1550
..:o
~
o
.«
Descrição de Processo E
~
o
~
:>
o
UJ
li;
a:
• Fluxo de trabalho - Desenho em partes
~
a:
o
11.
- Considere a construção de uma casa: deve haver a I:
(J)
o
o seleção do terreno, em seguida a contratação de
«
>
a:
UJ
(J)'
um arquiteto será necessária para desenhar o E
UJ
a:
o
.«
projeto da casa, para então analisar o projeto e
(J)
(J)
...
o caso ele seja aprovado, serão feitos os acertos e E
m
a:
Õ
definições de construção e então é dado o início da
(J)
o
(J)
oc
obra. E
o
...
'~
266
I:
Para o exemplo apresentado teremos que desenhar um diagrama de atividades. ~
I
II
C
:li
=-
<i.
c
:i
o
o«
Descrição de Processo
u
<
u
::>
:31 o
ar
ij
Z
1a. Parte - Identificar os fluxos, as atividades
L
~
5
Selecionar o terreno
:31 ~
'"
o Contratar arquiteto
c
<
:li ,.,.
>
a::
LI Desenhar o projeto
a::
o
.,.,
o« Analisar o proj eto
:íI o
!:::
'"Õ
OI:
Iniciar a obra
al
o
:!li al
o
o
o
...
:3
267
~
Com os fluxos identificados fica mais fácil iniciar o desenho do diagrama, nesta parte
=:iI devemos pensar nas atividades que o sistema deverá desenvolver. Ao final desta etapa devemos
~
descobrir se existe alguma atividade que pode ficar em paralelo com alguma outra.
b.
I~
b
6
~
..-.
UML-1550
I:::::
Descrição de Processo
2a. Parte - Identificar atividades paralelas
- Selecionar o terreno
- Contratar arquiteto
268
It:=
.R:=.
-• ~
-'
-<o
~:i!
Ü
z....
Descrição de Processo
3a. Parte - Identificar ordem de execução das
•
11 ..
~
:E:
o
e,
~
<i
>
:E:
. ti
.ti
:E:
1.
atividades
Selecionar o terreno
Contratar arquiteto
11
269
11
-
,.
11
-;
-
-
INSTITUTO INFNET - 269
11
UML-I550
-•
<i.
Cl
~
o
'00:
Descrição de Processo
o.
00:
o
::>
Cl
w
I
W
00:
>
a:
w aprovado.
g]
a:
O· A aprovação do projeto é a condição para o
'00:
cn
cn
o início da obra.
I
m
a:
Õ
cn
o
cn
oCl
oI
270
Os desvios são as opções de caminhos que podem ser trilhadas no decorrer da execução das I::
atividades.
Ao término desta identificação dá-se o início do desenho do diagrama. ~
31
<i.
~
::>
:3
o
<
Descrição de Processo
t>
-c
u
::>
~
o
'-'
jj
zu,
5a. Parte - Desenho do Diagrama
~
o::
~ o
<>.
'"
o
c
-c
>
= ...'"
'"
:.J
'"
o
<
'"
:11
'"
o
....
~
'"
13
""o
~ '"
o
::>
e
= 271
[ rejeitado pela terceira vez]
:
:I
:s
=I
;;a
:I
UML-I550
<i
c
~
o
'c00
o:
Descrição de Caso d.e Uso
co:
O
::l
O
W Nome: Comprar Pacote de Viagem Cursos Alternativos
....
W
Z
Descrição: Este caso de uso trata a escolha do Passo 7: Caso login ou senha inválidos
LL
pacote de viagem por parte do cliente.
~ 1. Sistema informa que login e senha estão
o:: Ator: Cliente
O inválidos.
11
Ul
O Curso Normal: 2. Retornar ao passo 6.
c
co: 1. Cliente solicita Modulo de Pacotes
>
o:: 2. Sistema lista pacotes existentes
w Passo 9: Caso Número de vagas
[fl 3. Cliente seleciona pacote desejado insuficiente
o::
O 4. Sistema exibe as informações do pacote 1. Sistema informa que não é possível
'cUl
o: selecionado
Ul
272
li
:!
~
o
o<
Descrição de Caso de Uso
o
<
~
li i::
Lt
Z
J...
~ )<E-----\ Buscar dados do pacote "'_;:-_ _--\
:li ;:.
J!:
~ ..
:I:
..u
..u
r
[ outro pacote ]
o
-=:
'"
iI '"
O
:;:;:
15
.,
:::l [ número de vagas err ado ]
11 .g
c
:P
273
=
:li No desenho do diagrama fica fácil visualisar todas as exceções do caso de uso além de não
haver ambiguidades que possam comprometer o entendimento do processo.
=
~
:I
:11
::I
:
.
~
=
I
UML-I550
<i
o
~
o
.«
Descrição de Método
~
o
:::>
o
w
tu
z
u,
•
~
o::
o
e,
(Jl
oo [,air 1 .1.presentar
« \. Mensagem. Final
>
o::
w
(Jl
w
o::
o
.«
(Jl
(Jl
o
!iio::
c
(Jl
o
(Jl
oo
o
I
274
A figura acima mostra a descrição do método "main" do Banco Money. Repare que os
estados Sacar e Consultar Saldo não estão detalhados neste diagrama. Ambos incluem outro
diagrama de atividades que deve ser desenhado para detalhar estas operações (sacar e consultar
respecti vamente).
iI
~
iI -
;;;(
Navegação de Telas
o
<t
o
:::l
iI ~
:l
o
::l
'"
>
11 .,......
OI:
o::
o
.,.,
-o:
11 2
ii
%
:5
'"o
iI :l
o
::>
;:
iI
275
li
-
o diagrama acima mostra um uso bem interessante de um diagrama de atividades: mostrar
a navegação completa das telas de um sistema. Repare que algumas telas se referem a casos de
uso do sistema:
-;.
Tela de Depósito - Efetuar Depósito
--
--
-
;I
. INSTITUTO INFNET - 275
11