1
DIAGRAMA DE ATIVIDADES
DIAGRAMA DE ATIVIDADES
ATIVIDADE, TRANSIÇÃO, PONTO DE DECISÃO, BARRA DE SINCRONIZAÇÃO E RAIAS (SWIMLANE)
2
Um diagrama de atividades mostra o fluxo decontrole de uma atividade para outra no sistema,quais as atividades que são realizadas em paralelo eos caminhos alternativos através do fluxo.
Pode ser utilizado, por exemplo, para:
- a análise de um caso de uso em particular,- possibilitar o entendimento de um fluxo de
controle que envolva vários casos de uso,- descrever uma operação.
I . DIAGRAMA DE ATIVIDADES
3
O diagrama de atividades que é apresentado a seguir descreve o caso de uso Solicita cancelamento de f atura do sistema exemplo, o Sistema de Controle Pedidos de Livros.
4
I nf orma o número da fatura
I nf orma se deseja confi rmar
Comunica ao cliente que fatura não f oi encontrada
Valida número da f atura
Fatura existe?
[ Não ]
Apresenta dados da f atura: número, data emissão, status e valor pago
[ Sim ]
Solicita confi rmação
Cliente confi rmou?
Armazena a solicitação de cancelamento e a data da solicitação
[ Sim ]
Comunica que não f oi realizada a operação
[ Não ]
I nf orma que o pedido só será analisado após a devolução dos livros
Verifi ca se solicitação já realizada
Solicitação j á realizada?
Comunica que a solicitação j á f oi realizada e inf orma a data da solicitação
[ Não ][ Sim ]
SistemaCliente
5
Diagramas de atividade podem conter: estados de início e parada atividades transições entre atividades
pontos de decisão
barras de sincronização
I I . ATIVIDADE, TRANSIÇÃO, PONTO DEDECISÃO DE BARRA DE SINCRONIZAÇÃO
6
Estados de início e parada: I dentifi cam o início e o fi m de um fluxo.
I nforma o número da fatura
Comunica ao cliente que fatura não foi encontrada
Valida número da fatura
Fatura existe?
[ Não ]
Apresenta dados da fatura: número, data emissão, status e valor pago
[ Sim ]
7
Atividade: Representa a realização de algum comportamento no fluxo de controle.
I nforma o número da fatura
Comunica ao cliente que fatura não foi encontrada
Valida número da fatura
Fatura existe?
[ Não ]
Apresenta dados da fatura: número, data emissão, status e valor pago
[ Sim ]
Diferença em relação aos estados
8
Transições: São usadas para representar a passagem do
fluxo de controle de uma atividade para outra. São representadas através de setas e ao lado podem ser descritas as condições (entre colchetes) ou eventos que permitem sua realização.
I nforma o número da fatura
Comunica ao cliente que fatura não foi encontrada
Valida número da fatura
Fatura existe?
[ Não ]
Apresenta dados da fatura: número, data emissão, status e valor pago
[ Sim ]
9
Pontos de decisão: Representam, numa transição, uma
condição que é usada para determinar qual caminho, a partir do ponto de decisão, será tomado. Um ponto de decisão é representado através de um losango tendo ao lado a descrição da condição.
I nforma o número da fatura
Comunica ao cliente que fatura não foi encontrada
Valida número da fatura
Fatura existe?
[ Não ]
Apresenta dados da fatura: número, data emissão, status e valor pago
[ Sim ]
- Podem haver pontos de decisão encadeados?- Podem ocorrer loops
10
Barras de sincronização Permitem especifi car as atividades que serão realizadas concorrentemente. Podem também ser utilizadas para mostrar que atividades devem ser completadas antes que o processamento continue. Uma barra de sincronização pode possuir:
- várias transições de entrada e uma única de saída ou - apenas uma transição de entrada e várias de saída.
11
I nforma se deseja confi rmar
Cliente confi rmou? [ Não ]
Comunica que não foi realizada a operação
[ Sim ]
Armazena a solicitação de cancelamento e a data da solicitação
I nforma que o pedido só será analisado após a devolução dos livros
Diferença dos pontos de decisão e barra de sincronização?
12
O diagrama de atividades pode ser organizado em raias (swimlane), que auxiliam no entendimento de quem é responsável pela atividade.
I nf orma o número da fatura
I nf orma se deseja confi rmar
Comunica ao cliente que fatura não f oi encontrada
Valida número da f atura
Fatura existe?
[ Não ]
Apresenta dados da f atura: número, data emissão, status e valor pago
[ Sim ]
Solicita confi rmação
Cliente confi rmou?
Armazena a solicitação de cancelamento e a data da solicitação
[ Sim ]
Comunica que não f oi realizada a operação
[ Não ]
I nf orma que o pedido só será analisado após a devolução dos livros
Verifi ca se solicitação já realizada
Solicitação j á realizada?
Comunica que a solicitação j á f oi realizada e inf orma a data da solicitação
[ Não ][ Sim ]
SistemaCliente
13
É possível mostrar no diagrama de atividades que uma atividade afeta um objeto, modifi cando o seu estado. Neste caso um objeto é ligado a uma atividade através de uma seta tracejada e é representado no objeto, entre colchetes, o seu estado.
I nforma se deseja confi rmar
[ Sim ]
Armazena a solicitação de cancelamento e a data da solicitação
fatura
[fatura com solicitação de cancelamento]
I nforma que o pedido só será analisado após a devolução dos livros
Comunica que não foi realizada a operação
[ Não ]Cliente confi rmou?
14
Exercício: Desenvolver o Diagrama de Atividades do projeto Petrobrás
15
DIAGRAMA DE SEQÜÊNCIA
DIAGRAMA DE SEQÜÊNCIA
NOTAÇÕES DO DIAGRAMA DE SEQÜÊNCIA
DIAGRAMA DE SEQÜÊNCIA COM PERSPECTIVA CONCEITUAL
16
O diagrama de seqüência é um dos diagramas deinteração da UML.
Diagramas de interação têm como objetivo ilustrarcomo os objetos interagem através de mensagens paracumprir tarefas.
Há dois tipos de diagramas de interação: diagrama deseqüência e diagrama de colaborações.
Optamos pelo diagrama de seqüência em vez de utilizaro de colaborações quando desejamos enf atizar aordenação temporal de mensagens e apresentar operíodo durante o qual cada objeto está desempenhandouma ação
I . DI AGRAMA DE SEQÜÊNCI A
Diagrama de colaboração: ênfase a organização estrutural dos objetos que enviam e recebem mensagens
17
Exemplo de Diagrama de Seqüência:
: J anelaSolici taCancelamentoFatura : J anelaPrincipal : ControladorDePedidos : Fatura_ Proj : Conexao : Cliente
3: exibir( )
6: umaFatura = ControladorDePedidos.obterFatura (numFatura)
7: umaFatura = Fatura.recuperarPelaPK (numFatura)
8: Conexao.getConexao ( )
9: umaFatura.getDataEmissao ( )
10: umaFatura.getStatus ( )
11: umaFatura.getValorPago ( )
14: ControladorDePedidos.cadastrarSolCancFatura (umaFatura)
15: umaFatura.solici tarCancelamento ( )
16: Conexao.getConexao ( )
1: apresenta menu
2: seleciona opção Solici ta Cancelamento
4: solicita numFatura
5: informa numFatura
12: apresenta dados da Fatura e pede confi rmação de cancelamento
17: confi rma o cadastramento da soli ci tação e pede a devolução dos livros
13: confi rma cancelamento
18
Em diagramas de seqüência utilizamos as seguintesnotações:
Objetos são representados como retângulos. A linha tracejada vertical abaixo de cada retângulo
é chamada linha da vida do objeto. O foco de controle, um retângulo estreito colocado
ao longo da linha da vida, mostra o período duranteo qual um objeto está desempenhando uma ação.
Cada mensagem é representada por uma seta entreas linhas da vida de dois objetos. A ordem na qualessas mensagens ocorre é mostrada de cima parabaixo na página. Podem também ser representadasmensagens que objetos enviam a si mesmos (umaseta que sai e volta para a linha da vida).
I I . NOTAÇÕES DO DI AGRAMA DE SEQÜÊNCI A
19
Cada mensagem é identificada pelo menos por seunome. Podem também ser incluídos argumentos e asseguintes informações de controle:
[ ] - condição: indica quando a mensagem éenviada* - iteração: indica que a mensagem é enviadavárias vezes a diversos objetos
Apesar do diagrama de seqüência ser lido de cima parabaixo, podem ser utilizados números em cadamensagem com o objetivo de representar a ordem dasmensagens
20
Mensagens também podem ser enviadas a uma classe enão somente a uma instância da classe. No diagrama deseqüência que f oi apresentado o que ocorre na realidadeé que algumas mensagens estão sendo enviadas paraclasses e não para objetos, como no caso da mensagemobterFatura, enviada para a classeControladorDePedidos. Mensagens deste tipo podem serimplementadas em J ava como chamadas a métodosestáticos.
21
Cada diagrama de seqüência representa um cenário de um caso de uso. - Um cenário é uma instância de um caso de uso, um
caminho através do fluxo de eventos de um caso de uso. - Cenários são elaborados para ajudar a identifi car os
objetos, as classes e a interação necessária para realizar uma parte da f uncionalidade especificada para um caso de uso.
22
I nicia-se o diagrama de seqüência colocando-se osobjetos que participam da interação no nívelsuperior do diagrama, ao longo do eixo x.
A seguir as mensagens que esses objetos enviam erecebem são colocados no eixo y em ordemcrescente de tempo, de cima para baixo.
23
Podemos criar um diagrama de seqüência simples no qual participam os atores envolvidos e o sistema.
I I I . DI AGRAMA DE SEQÜÊNCI A COM PERSPECTI VA CONCEI TUAL
24
: Cliente : ClienteSistemaSistema
I nf orma número da f atura
Valida número da f atura
Apresenta dados da f atura: número, data de emissão, status e valor pago
Verifi ca se solicitação já realizada
Solicita confi rmação
Confi rma
Armazena solicitação de cancelamento e data da solicitação
I nf orma que o pedido só será analisado após a devolução dos livros
Diagrama de seqüência para representar o cenário Solicitação de cancelamento integral da f atura realizada com sucesso do caso de uso Solicita Cancelamento de Fatura
25
Exercício: Escolher 2 Cenários do Projeto Petrobrás e Escrever seus diagramas de Sequência