Vous êtes sur la page 1sur 19

rr

oi

c

~

o

'-0:

-o:

o

=>

c

w

w

Z

IL

~

a:

o

o

o'"

c

;;

a:

w

'"

w

a:

'0

'-0:

'" '"

g

w

a:

Õ

'"O '"O

C

~

UML-I550

g w a: Õ ' " O '" O C ~ UML-I550 o Que é o

o Que é o Diagrama de Atividades?

• Descreve os aspectos dinâmicos do sistema.

• Mostra o fluxo entre as atividades, seus parale1ismos

e desvios condicionais.

• Pode ser usado para:

- Esclarecer graficamente casos de uso complexos.

- Descrever a interação do fluxo de trabalho entre vários

casos de uso.

- Especificar o funcionamento de métodos.

- Mostrar a navegação entre telas.

• É utilizado também para desenhar um fluxo de trabalho em modelagem de negócios.

256

o diagrama de atividades é bastante versátil podendo ser usado em um grande número de situações. Pode ser considerado uma evolução do fluxograma pois descreve atividades de maneira semelhante mas possui elementos a mais do que este.

Descreve os aspectos dinâmicos do sistema, mostra o fluxo de uma atividade para outra num sistema. É um tipo especial de diagrama de gráfico de estado, exibindo o fluxo de uma atividade para outra, no sistema.Alguns autores colocam o conceito do diagrama de atividades próximo ao da fluxogramação.

Um diagrama de atividades é desenhado normalmente a partir de um caso de uso. Outra forma de utilização é para todo o fluxo de trabalho (workf1ow) de um determinado processo. Também pode ser utilizado para mostra a navegação das telas de um sistema e sua associação a casos de uso.

mostra a navegação das telas de um sistema e sua associação a casos de uso. INSTITUTO

INSTITUTO INFNET - 256

~

-

-

~

I

I

I

I

:1

~

:3

~ - :=11 ~ ~ J =- ~ .lJ. :Li: z '­ ~ :I ~
~
-
:=11
~
~
J
=-
~
.lJ.
:Li:
z
~
:I
~
:::
~'
<:
>
:I
=,t;:;.
~ '"
o
<
'"
::
:11
:::
j]

~

3

:n

=- o

o

:11

::I

:I

~

:I

::I

;J

:I

:I

:J

:I

~

UML-1550

 

Componentes

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)

• Separação (ou Bifurcação) e Junção (ou União) (forks e joins)

• Desvios (ou decisões)

- Estados de Atividades e estados de ação

- Objetos

- Raias (Swirnlanes) - Demonstra o local onde são

executadas as ações (classe, parte da organização)

257

Diagramas de atividade são semelhantes aos de estado mas possuem os seguintes componentes:

Estado inicial e estados finais: idem ao diagrama de estados.

Transições: ligações entre as atividades.

Separação: indica o início de atividades paralelas.

União: vários fluxos chegando em uma barra preta e um saindo: todos os fluxos de entrada devem ser executados antes do fluxo de saída executar.

Condição: idem ao diagrama de estados.

Decisão: um losango que indica uma condição simples.

Junção: vários fluxos chegando em um losango e um saindo: um dos fluxos de entrada deve ser executado antes do fluxo de saída executar.

Raias ou partições: indicação de quem (ou o que) é o responsável pela execução da atividade.

ou partições: indicação de quem (ou o que) é o responsável pela execução da atividade. INSTITUTO

INSTITUTO INFNET - 257

ou partições: indicação de quem (ou o que) é o responsável pela execução da atividade. INSTITUTO

<i

Cl

--'

o

-o:

«

o

=>

o

ur

W

Z

U.

a::

o

~

<l­

a>

s

«

>

a::

W

a>

W

a::

o

.<

a>

a>

o

Ui

a::

ã

a>

O

a>

O

Cl

O

UML-1550

a> o f­ Ui a:: ã a> O a> O Cl O f­ UML-1550 Componentes 258
Componentes 258
Componentes
258

Visualmente o diagrama de atividade se assemelha ao de estados, mas eles são utilizados com intenções diferentes.

se assemelha ao de estados, mas eles são utilizados com intenções diferentes. INSTITUTO INFNET - 258

INSTITUTO INFNET - 258

E

: ~.

se assemelha ao de estados, mas eles são utilizados com intenções diferentes. INSTITUTO INFNET - 258

:

E~-­

.

:íI

 

oi.

o

:3

a

«

 

'o­

«

o

:>

:3'

c

'"

""z

 

e,

OI:

o

a,

::I

::t

:i

:t

:I

~

=t

-=a

---

==

~

~

O)

o

C

«

>

OI:

J:lJ

UJ

'"

c:

o

O)

O)

o

I-

iii

OI:

a

O)

o

co

o

c

o

UML-1550

>« O) O) o I- iii OI: a O) o co o c o >­ UML-1550
Exemplo • o processo de desenvolvimento simples: ! . Listar Requisitos Funcionais 259
Exemplo
• o processo de desenvolvimento simples:
!
.
Listar Requisitos
Funcionais
259

A figura acima mostra um exemplo de um diagrama de atividades que representa o

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

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.

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.

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 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

única ativadade apenas para efeitos de simplificação.

do sistema que aparecem como uma única ativadade apenas para efeitos de simplificação. INSTITUTO INFNET -

INSTITUTO INFNET - 259

~! UML-1550 :iI oi. C f­ Decisão I o -o: C> « o ::> c
~!
UML-1550
:iI
oi.
C
Decisão
I
o
-o:
C>
«
o
::>
c
[1J
• A decisão ou desvio é utilizada para indicar os
[1J
Z
U.
;?;
caminhos que podem ser percorridos.
a:
:iI
o
o
'"
"
c
• E uma condição (booleana) para um fluxo.
«
=-
>
a:
[1J
w
'"
• Uso do termo [else].
a:
o
-o:
:31
o
'" '"
[ cartão]
Efetuar
Validar
f-
Ui
Paqam.ento
Cartã.o
a:
s
'"
O
[cheque]
~ c
'"
O
O
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.
::I
Observe que no diagrama de atividade todos os fluxos (principal e alternativos) do diagrama
de casos de uso serão mapeados.
:::I
:I
:::I
:=I
==
:=:
::t
INSTITUTO INFNET • 261

~

 

t=

   

I

 

UML-155D

r

   
 

-

<i

   

c

Fluxo de Objetos

o

 

-

.<{

 

C>

 

<{

o

::>

c

LU

• Fluxo de Objetos

 

- ~

t;j

 

Z

u,

 

;?;

a:

- As ações podem alterar o estado de um objeto ou

O

Q.

   

-

Cf)

mesmo criá-lo.

 

O

C

<{

 

>

 

i2

a:

- Pode ser interessante exibir o estado em que o objeto se encontra dentro de um Diagrama de

LU

Cf)

-

LU

 

a:

'O

.<{

Cf)

Cf)

Atividades.

O

l::

 

-

LU

   

a:

Õ

Cf)

O

 

I!!

Cf)

O

-

C

 

O

 

r

-

262

 

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.

ao diagrama, cuidado com a poluição visual, tenha sempre em mente o objetivo do diagrama que
INSTITUTO INFNET - 262

INSTITUTO INFNET - 262

:31

<i.

:iI

'"

:::;

o

 

""

<l:

'"'

:I

=>

'"

::.J

ur

 

Z

u,

:iI

6

c,

O)

 

o

C

<l:

::>

:I

o::

W

li>

W

=-

:I

:=I

:I

:=li

::I

:I

o:

0<

>C(

O)

li>

o

iij

o:

Õ

O)

o

li>

o

C

o

UML -1550

O) li> o I­ iij o: Õ O) o li> o C o I­ UML -1550
Exemplo 263
Exemplo
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.

a receber é considerado pago. No fechamento do pedido, ele tem seu status alterado para fechado.

INSTITUTO INFNET - 263

oi.

o

~

~

<t

u

::l

o

w

li;

u,

~

ti:

o

Ul

o

o

<t

>

ti:

w

Ul

w

ti:

o

'<t

Ul

CIl

o

!::

w

ti:

Õ

Ul

o

Ul

o

o

~

""

UML- /5.50

I:

~ Ações e Atividades ~ 'I: 'I:: t= I:: - podem ser decompostos, - podem
~
Ações e Atividades
~
'I:
'I::
t=
I::
- podem ser decompostos,
- podem ser interrompidos,
~
- tomam tempo até completar.
~
264
t::
Um estado de ação é a menor porção do código, se houver divisão no "validar DV do CPF",
este não é um estado de ação.
INSTITUTO INFNET • 264

-

:iI

:ti

;11

:ti

51

~I

:I

:I

:!

:s

§li

~

<i.

"

l

o

<

> :

-c

~

II

"'"

z

~

~

'"o

Q

-c

>

:l!:

""

""

D

:li::

o

<:

'"

;:'"

n

%

:i

D

o

.,

o

g

UML-1550

o <: '" ;: '" n % :i D o ., o g UML-1550 Uso do

Uso do Diagrama de Atividades

• o diagrama de atividades pode ser usado em

várias situações:

1. Descrição de processos

2. Descrição de um caso de uso

3. Descrição de um método

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.

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.

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 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.

usam ferramentas UML, o diagrama de atividades sempre estará a mão para auxiliar nesta tarefa. INSTITUTO

INSTITUTO INFNET - 265

:

o ~

o

~

o

:>

o

UJ

li;

a:

~

a:

o

11.

(J)

o

o

«

>

a:

UJ

(J)'

UJ

a:

o

(J)

(J)

o

m

a:

Õ

(J)

o

(J)

o

c

o

UML-1550

UJ a: .« o (J) (J) o m a: Õ (J) o (J) o c o
Descrição de Processo • Fluxo de trabalho - Desenho em partes - Considere a construção

Descrição de Processo

• Fluxo de trabalho - Desenho em partes

- Considere a construção de uma casa: deve haver a

seleção do terreno, em seguida a contratação de

um arquiteto será necessária para desenhar o

projeto da casa, para então analisar o projeto e

caso ele seja aprovado, serão feitos os acertos e

definições de construção e então é dado o início da

obra.

e caso ele seja aprovado, serão feitos os acertos e definições de construção e então é

266

Para o exemplo apresentado teremos que desenhar um diagrama de atividades.

apresentado teremos que desenhar um diagrama de atividades. INSTITUTO INFNET • 25=' ~ E E ~

INSTITUTO INFNET • 25='

~

E

E

~

I:

E

E

E

'~

I:

I

I I

~

C

:li

:li

=-

:31

:31

:li

:íI

:!li

:3

b.

I~

b

6 ~

-.

UML-1550

Descrição de Processo 1a. Parte - Identificar os fluxos, as atividades Selecionar o terreno Contratar

Descrição de Processo

1a. Parte - Identificar os fluxos, as atividades

Selecionar o terreno

Contratar arquiteto

Desenhar o projeto

Analisar o projeto

Iniciar a obra

os fluxos, as atividades Selecionar o terreno Contratar arquiteto Desenhar o projeto Analisar o projeto Iniciar

267

Com os fluxos identificados fica mais fácil iniciar o desenho do diagrama, nesta parte 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.

<i.

c

:i

o

<

u

::>

o

ar

ij

Z

L

~

5

~

o

c

<

>

a::

LI

,.,

a::

o

.,

.,

o

!:::

OI:

'"

Õ

al

o

al

o

o

o

'"

~ o c < > a:: LI ,., a:: o o« ., ., o !::: OI:

INSTITUTO INFNET • 267

Cf

~ o c < > a:: LI ,., a:: o o« ., ., o !::: OI:

UML-1550

UML-1550 Descrição de Processo 2a. Parte - Identificar atividades paralelas - Selecionar o terreno - Contratar

Descrição de Processo

2a. Parte - Identificar atividades paralelas

- Selecionar o terreno

- Contratar arquiteto

paralelas - Selecionar o terreno - Contratar arquiteto 268 Este é o estudo de threading ou

268

Este é o estudo de threading ou de processos que são executados simultaneamente, identificamos no meio de todos os fluxos levantados se existem atividades que podem ser desenvolvidas simultaneamente.

Após este passo devemos descobrir qual a ordem de execução das atividades.

este passo devemos descobrir qual a ordem de execução das atividades. INSTITUTO INFNET - 268 I:::::

INSTITUTO INFNET - 268

este passo devemos descobrir qual a ordem de execução das atividades. INSTITUTO INFNET - 268 I:::::

I:::::

t-:

.JSi.

este passo devemos descobrir qual a ordem de execução das atividades. INSTITUTO INFNET - 268 I:::::

It:=

.R:=.

este passo devemos descobrir qual a ordem de execução das atividades. INSTITUTO INFNET - 268 I:::::

11

-

11

~

-'

-<

~

:i!

Ü

z

~

:E:

o

e,

~

<i

>

:E:

.ti

.ti

:E:

;<

iI '" ~

E

ª

11 ~

11

11

:::

::l

O,

-

-

-

11

,.

-

-

-

11

UML-1550

11 ~ 11 11 ::: ::l O, - - • - 11 ,. - ;­ -

Descrição de Processo

3a. Parte - Identificar ordem de execução das atividades

1. Selecionar o terreno

Contratar arquiteto

2. Desenhar o projeto

3. Analisar o projeto

4. Iniciar a obra

Desenhar o projeto 3. Analisar o projeto 4. Iniciar a obra 269 A ordenação da execução

269

A ordenação da execução das atividades se toma fácil quando se conhece o negócio em questão, ainda neste momento podem surgir dúvidas de negócio que devem ser resolvidas juntamente com o usuário/gestor da informação.

Depois devemos descobrir se no nosso esquema há alguma decisão, se a execução de uma atividade depende de alguma condição.

nosso esquema há alguma decisão, se a execução de uma atividade depende de alguma condição. INSTITUTO

INSTITUTO INFNET - 269

<i.

Cl

o

~

'00:

o.

00:

o

::>

Cl

w

W

Z

u.

~

a:

o

D

cn

o

Cl

00:

>

a:

w

g]

a:

'00:

cn

cn

o

m

a:

Õ

cn

o

cn

o

Cl

o

UML-I550

O· '00: cn cn o I­ m a: Õ cn o cn o Cl o I­

Descrição de Processo

4a. Parte - Identificar desvios e condições

Para iniciar a obra o projeto precisa ser

aprovado.

A aprovação do projeto é a condição para o

início da obra.

270

Os desvios são as opções de caminhos que podem ser trilhadas no decorrer da execução das atividades.

Ao término desta identificação dá-se o início do desenho do diagrama.

atividades. Ao término desta identificação dá-se o início do desenho do diagrama. INSTITUTO INFNET - 270

INSTITUTO INFNET - 270

-

atividades. Ao término desta identificação dá-se o início do desenho do diagrama. INSTITUTO INFNET - 270

I::

~

atividades. Ao término desta identificação dá-se o início do desenho do diagrama. INSTITUTO INFNET - 270

3

31

<i.

::>

:3

~

:I

:s

=I

;;a

:I

11

UML-1550

Descrição de Processo 5a. Parte - Desenho do Diagrama [ rejeitado pela terceira vez] 271
Descrição de Processo
5a. Parte - Desenho do Diagrama
[ rejeitado pela terceira vez]
271

Não há mistério no desenho do diagrama, a princípio devemos identificar as atividades, depois as atividades que podem ser colocadas em paralelo e a ordem que devem ser executadas, em seguida descobrir se há desvios e suas condições. Pronto o desenho está pronto.

Porque usar a junção e bifurcação?

A bifurcação do exemplo indica que o 'Contratar Arquiteto' e o 'Adquirir Local' são

atividades que podem ser simultâneas, inclusive podem ser feitas por recursos diferentes (processadores ou profissionais).

A junção do exemplo, indica que para que o 'Desenho do Projeto' seja iniciado ele deve

esperar que o 'Contratar Arquiteto' e o 'Adquirir Local' estejam finalizados.

deve esperar que o 'Contratar Arquiteto' e o 'Adquirir Local' estejam finalizados. INSTITUTO INFNET - 271

INSTITUTO INFNET - 271

<i

c

~

o

'co:

00

co:

O

::l

O

W

W

Z

LL

~

O

11­

Ul

O

c

o::

co:

>

o::

w

[fl

o::

'co: O

Ul

Ul

O

!::

w

ee

Õ

Ul

O

Ul

O

c

O

UML-I550

Descrição de Caso d.e Uso

 

Nome: Comprar Pacote de Viagem

Cursos Alternativos

 

Descrição: Este caso de uso trata a

escolha do

Passo 7: Caso login ou senha inválidos

pacote de viagem por parte do cliente.

Ator: Cliente

Sistema informa que login e senha estão

1.

inválidos.

Curso Normal:

2.

Retornar ao passo 6.

1. Cliente solicita Modulo de Pacotes

 

2. Sistema lista pacotes existentes Passo 9:

Caso

Número

de

vagas

3. Cliente seleciona pacote desejado insuficiente

 

4. Sistema exibe as informações do selecionado

pacote

1. Sistema informa vender tantas vagas.

que

não

é

possível

5. Sistema solicita identificação

do cliente

 

6. Cliente informa login e senha

7. Sistema exibe nome do cliente e solicita

2. Sistema pergunta se cliente deseja outro

número de vagas

8. Cliente informa número de vagas

pacote ou novo número de vagas para este pacote

Caso selecionado novo número de vagas:

9. Sistema calcula pacote do cliente a. Retornar ao passo 8

 

10. Cliente confirma

compra

Caso selecionado outro pacote:

 

11. Sistema registra

a compra

a. Retornar ao passo 2

 

272

Um dos usos de um diagrama de atividades é a descrição de casos de uso complexos. Na figura acima é mostrado um caso de uso que descreve uma operação de compra de pacote de viagem.

A descrição é complexa pois envolve vários fluxos alternativos, incluindo opções diferentes dentro de um mesmo fluxo. Neste caso o desenho de um diagrama de atividade pode facilitar o entendimento do processo e validação do caso de uso.

de um diagrama de atividade pode facilitar o entendimento do processo e validação do caso de

INSTITUTO INFNET - 272

11

:!

o

li ~

li

:li

o<

<

~

i::

Lt

Z

J

~

J!:

;:

~

<i

>

:I:

u

u

r

o

-=:

'"O '"

iI :;:;:

15

:::l

.,

11 c

g

:P­

:li

~

:I

:11

::I

~

I

I

UML-1550

11 c g :P­ =­ :li =­ ~ :I :11 ::I :­ ~ =­ I I
Descrição de Caso de Uso )<E-----\ Buscar dados do pacote "'_;:- --\ [ login errado
Descrição de Caso de Uso
)<E-----\
Buscar dados do pacote
"'_;:-
--\
[ login
errado ]
[ outro
pacote ]
[ número de vagas errado ]
[ número d
vagas ok]
\
273

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.

caso de uso além de não haver ambiguidades que possam comprometer o entendimento do processo. INSTITUTO

INSTITUTO INFNET • 273

<i

o

~

o

~

o

:::>

o

w

tu

z

u,

~

o::

o

e,

(Jl

o

o

«

>

o::

w

(Jl

w

o::

o

(Jl

(Jl

o

!ii

o::

c

(Jl

o

(Jl

o

o

o

UML-I550

o:: .« o (Jl (Jl o !ii o:: c (Jl o (Jl o o o I­

Descrição de Método

[,air 1 .1.presentar \. Mensagem. Final
[,air 1
.1.presentar
\. Mensagem. Final

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).

que deve ser desenhado para detalhar estas operações (sacar e consultar respecti vamente). INSTITUTO INFNET -

INSTITUTO INFNET - 274

I

iI

iI ~

-

;;;(

iI

iI

11

11

iI

iI

li

<t

o

:::l

:l

o

::l

'">

OI:

.,

o::

o

-o:

.,

.,

2

ii

%

:5

o

:l

o

::>

;:

'"

-

-

;.

-

--

--

-

-

;I

11

UML-1550

Navegação de Telas • Banco Monev: Telas x Casos de Uso 275
Navegação de Telas
• Banco Monev: Telas x Casos de Uso
275

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

Tela de Login - Acessar Conta

Tela de Saque - Efetuar Saque

Tela de Consulta ao Saldo - Consultar Saldo

de Login - Acessar Conta Tela de Saque - Efetuar Saque Tela de Consulta ao Saldo

INSTITUTO INFNET - 275