Diagramas de Interação

Propaganda
Análise e Projeto de Sistemas OO
Realizações de
O Diagrama Use Case apresenta uma visão
externa do sistema
Diagramas de Interação descrevem como use
cases são realizados como interações entre
associações de objetos
Há dois tipos de Diagramas de Interação
Diagramas de Sequência
Diagramas de Colaboração
219
Diagramas de Interação
220
Diagrama de Sequência
Diagrama de Interação:
Modelos que descrevem como grupos de
objetoscolaboram
para
obter
algum
comportamento
Tipicamente um diagrama de interação captura
o comportamento de um único use-case
221
Um Diagrama de Sequência mostra a interação
entre objetos tendo em vista a sequência de
tempo
Mostra:
objetos e classes envolvidos
a seqüência de mensagens trocadas pelos objetos,
necessárias para desenvolver a funcionalidade do cenário
Na maioria das vezes se identifica com um Caso de
Uso específico, porque um Caso de Uso, em
geral, refere-se a um processo disparado por um
usuário;
222
Diagrama de Sequência
Cenários
Nem sempre um Caso de Uso gera obrigatoriamente
um Diagrama de Seqüência, como é muitas vezes, o
que ocorre com os Casos de uso do tipo <<include
>>, porque estes têm que ser executados juntamente
com os outros Casos de Uso que os utilizam e, por isso
muitas vezes suas etapas são descritas nos Diagramas
de Seqüência relativos aos Casos de Uso que os
utilizam.
Nada impede que se defina um Diagrama de
Seqüência exclusivo para um Caso de Uso utilizado por
outros Casos de Uso através da associação
223
<<include>>.
Cenários
Descrevem como funciona o use case;
Um cenário é uma instância de um use case;
Cenário é um caminho através do fluxo de
eventos de use case;
Cenários ajudam a identificar objetos, classes
e interação entre objetos necessários para
desenvolver a funcionalidade de um use
case;
224
Componentes de um Diagrama de Sequência
ATORES
Cenários são documentados via diagrama de
interação (seqüência e colaboração);
Cenário documenta como as responsabilidades
especificadas no use case são distribuídas
entre os objetos e classes do sistema;
225
São exatamente os mesmos
descritos no Diagrama de
Casos de uso, ou seja, são
entidades
externas
que
interagem com o sistema e
que
solicitam
serviços,
gerando
dessa
forma
eventos
que
iniciam
processos.
226
Componentes de um Diagrama de Sequência
Componentes de um Diagrama de Sequência
OBJETOS
OBJETO
Representam as instâncias das classes envolvidas
no processo ilustrado pelo Diagrama de Seqüência.
É composto por um nome, antes do (:) em
minúsculo;
Seguido do nome da classe que o objeto pertence,
depois do (:) com as iniciais maiúsculas;
Possui uma Linha de Vida, representada por uma
linha vertical tracejada (abaixo do objeto)
227
Componentes de um Diagrama de Sequência
228
Componentes de um Diagrama de Sequência
OBJETOS
Um objeto pode existir desde o início do
processo ou ser criado durante o decorrer da
execução do mesmo:
No primeiro caso: retângulo aparecerá na parte superior
do diagrama;
No segundo caso: retângulo surgirá na mesma altura
em que a mensagem que o criar for chamada
229
1º CASO
2º CASO
230
Componentes de um Diagrama de Sequência
Componentes de um Diagrama de Sequência
LINHA DE VIDA
FOCO DE CONTROLE OU ATIVAÇÃO
Representa o tempo em que um objeto
existiu durante um processo.
É interrompida com um “X” quando o obejto
é destruído.
Um objeto não precisa necessariamente
existir quando o processo é iniciado podendo
ser criado durante o processo.
Indica os períodos em que um determinado
objeto está participando ativamente do
processo;
Identifica os momentos em que um objeto
está executando um ou mais métodos
utilizados em um processo específico.
231
Componentes de um Diagrama de Sequência
232
MENSAGENS ou ESTÍMULOS
São utilizadas para demonstrar a ocorrência de eventos,
que normalmente forçam a chamada de um método em
algum dos objetos envolvidos no processo.
Pode ocorrer, no entanto, de uma mensagem representar
simplesmente a comunicação entre dois atores, o que no
caso não dispara nenhum método.
Um Diagrama de Seqüência em geral é iniciado por um
evento externo, causado por algum ator, o que acarreta o
disparo de um método em um dos objetos. A ocorrência
deste evento inicia o processo.
233
234
MENSAGENS ou ESTÍMULOS
MENSAGENS ou ESTÍMULOS
As mensagens podem ser disparadas entre:
Um ator e outro ator: não muito comum, mas pode permitir uma
melhor compreensão do processo como um todo;
Um ator e um objeto: ator produz um evento que força o
disparo de um método em um objeto;
Um objeto e um objeto: constitui a ocorrência mais comum de
mensagens, onde um obejto trasmite uma mensagem para outro
obejto solicitando a execução de um método;
Um objeto e um ator: somente ocorre quando um obejto envia
uma mensagem de retorno em resposta a chamada de um método
235
solicitado, contendo seus resultados.
MENSAGENS ou ESTÍMULOS
São representadas por retas entre os dois
componentes envolvidos, contendo uma seta para
indicar qual objeto ou ator disparou a manesgaem
no outro objeto.
O texto contido na mensagem identifica primeiro
qual o evento ocorreu e forçou o envio da
mensagem e qual o método foi chamado;
Pode haver mensagens somente com o evento ou
com a chamada ao método.
236
MENSAGENS ou ESTÍMULOS
Mensagens de Retorno
Exemplos:
Identifica a resposta a uma mensagem para
o objeto ou ator que a chamou.
Pode retornar informações específicas do
método chamado ou simplesmente um valor
indicando se o método foi executado com
sucessso ou não.
237
238
MENSAGENS ou ESTÍMULOS
MENSAGENS ou ESTÍMULOS
Auto-chamadas ou Auto-delegações
Condições ou Condições de Guarda
São mensagens que um objeto envia para si
mesmo.
Uma mensagem parte do objeto e atinge o próprio
objeto:
Indicam que uma mensagem só poderá ser enviada a um
objeto se uma determinada condição for verdadeira.
Normalmente entre colchetes na mensagem, mas podem
ser também representadas por meio de restrições:
239
Visões Dinâmicas - Diagramas de Seqüência
: Mais Exemplos...
: chamador
a
{b - a < 1 s.}
b
{c - b < 10 s}
c
A chamada é
transmitida
através da rede
{d'- d < 5 s}
d
: permutador
: receptor
3: disca dígito
4: transmite
d'
8: pára sinal
Ponto de
Entrada
Mostra o período
durante o qual um
objeto está
executando uma
ação
Representa:
2: espera sinal
6: telefone toca
Mensagem para
si mesmo
Tempo de duração da
ação
controle de
relacionamento entre
a ativação e suas
chamadas
7: resposta do telefone
neste ponto
as partes
podem falar
Visões Dinâmicas - Diagramas de
Seqüência
Foco de Controle
1: ergue receptor
5: sinal tocando
240
9: pára chamada
241
Link
Foco de
Controle
242
Diagramas de Colaboração
Diagrama de Colaboração
:
Curso
:
Disciplina
Um Diagrama de Colaboração mostra interações
organizadas à volta de objetos e as ligações de um
para o outro
2 : valida_curso
7: recupera_prerequisitos:ListaPreRequisitos
3: va lida _dis ciplina
Outra forma de representar cenários
: Pre
Requisito
:
Aluno
1: pedido_de_matricula
(ma tricula _id, disc _id)
É formado por:
6: obter_prerequisitos : ListaPreRequisitos
: Interface
Matricula
: Grade
Curricular
5: verifica se aluno já matriculado e aprovado
8: consulta_prerequisitos(ListaPreRequisitos l)
objetos(retângulos)
interações entre objetos(linhas ligando objetos)
mensagens (texto e setas do cliente para o forncedor)
4: valida_turma
9: co nsulta_vaga
:
10: [se existe vaga] incluir_aluno
11: [se não existe vaga] incluir_aluno_espera Historico
:
Turma
243
244
Download