You are on page 1of 36

Diagramas de Sequncia e

Comunicao

Introduo
Faltam informaes aos modelos de
Classes de Anlise:
De que forma os objetos colaboram para
que um determinado caso de uso seja
realizado?
Em que ordem as mensagens so
enviadas durante esta realizao?
Que informaes precisam ser enviadas
em uma mensagem de um objeto a
outro?

Introduo
Para responder s questes
anteriores, o modelo de interaes
deve ser criado.
Esse modelo representa mensagens
trocadas entre objetos para a
execuo de cenrios dos casos de
uso do sistema.

Objetivos da criao de modelos de


interao
Obter informaes adicionais para completar
e aprimorar outros modelos (principalmente o
modelo de classes)
Quais os mtodos de uma classe?
Quais os objetos participantes da realizao de um
caso de uso?
Para cada mtodo, qual a sua assinatura?
Uma classe precisa de mais atributos?

Fornecer uma viso detalhada dos objetos e


mensagens envolvidos na realizao dos
casos de uso.

Mensagens
Qual o objetivo da construo dos
diagramas de interao?
Identificar mensagens

O que uma mensagem


indica?
Uma mensagem implica na
existncia de uma operao no
objeto receptor.
A resposta do objeto receptor ao
recebimento de uma mensagem a
execuo da operao
correspondente.

Exemplos de mensagens
Mensagem simples, sem clusula alguma.
1: adicionarItem(item)
Mensagem com clusula de condio.
3 [a > b]: trocar(a, b)
Mensagem com clusula de iterao e com limites
indefinidos.
2 *: desenhar( )
Mensagem com clusula de iterao e com limites definidos.
2 *[i := 1..10]: figuras[i].desenhar( )
Mensagem aninhada com retorno armazenado na varivel x.
1.2.1: x := selecionar(e)

Tipos de diagrama de
interao
H trs tipos de diagrama de interao na UML
2.0 : diagrama de seqncia, diagrama de
comunicao e diagrama de viso geral da
interao.
O diagrama de seqncia e o diagrama de
comunicao so equivalentes.
Diagrama de seqncia: foco nas
mensagens enviadas no decorrer do tempo.
Diagrama de comunicao: foco nas
mensagens enviadas entre objetos que
esto relacionados.

Diagrama de Sequncia
Os objetos participantes da interao so
organizados na horizontal.
Abaixo de cada objeto existe uma linha (linha de
vida)
Cada linha de vida possui o seu foco de controle.
O foco de controle indica que o objeto est
fazendo algo.
As mensagens entre objetos so representadas
com linhas horizontais rotuladas partindo da linha
de vida do objeto remetente e chegando a linha
de vida do objeto receptor.

Elementos grficos de um diagrama


de sequncia
Elementos bsicos em um diagrama
de seqncia:
Atores
Objetos e classes
Mensagens
Linhas de vida e focos de controle
Criao e destruio de objetos
Iteraes

Exemplo de diagrama de
sequncia

Mensagens reflexivas
Em uma mensagem reflexiva (ou automensagem) o remetente tambm o receptor.
Corresponde a uma mensagem para this (self).

Criao/destruio de
objetos

Quadros de interao
Elemento grfico, que serve para
modularizar a construo de
diagramas de seqncia (ou de
comunicao).

Exemplo

Diagramas referenciados

Alternativas

Opes

Iteraes

Fragmentos de um diagrama de
sequncia

Heursticas para modelagem de


diagramas de sequncia
Na primeira coluna deve ser colocado o ator que iniciou
o caso de uso.
Na segunda coluna deve ser colocado um objeto de
fronteira (usado pelo ator para iniciar o caso de uso).
Na terceira coluna deve ser colocado o objeto de
controle responsvel pelo caso de uso.
Objetos de entidade so acessveis tanto por objetos de
fronteira (raro) como por objetos de controle.
Objetos de entidade nunca acessam objetos de fronteira
ou de controle.
Objetos de entidade normalmente so compartilhados
por outros diagramas de sequncia

Diagrama de comunicao
Chamado de diagrama de colaborao na
UML 1.X.
Estruturalmente, bastante semelhante a
um diagrama de objetos.
A diferena que so adicionados setas e rtulos
de mensagens nas ligaes entre esses objetos.

As ligaes (linhas) entre objetos


correspondem a relacionamentos existentes
entre os objetos.

Diagrama de Comunicao
Os objetos esto distribudos em duas
dimenses
Vantagem: normalmente permite construir
modelos mais legveis comparativamente
aos diagramas de seqncia.
Desvantagem: no h como saber a ordem
de envio das mensagens a no ser pelas
expresses de seqncia.
Direo de envio de mensagem indicada por
uma seta prxima ao rtulo da mensagem.

Elementos grficos de um diagrama


de comunicao

Exemplo de diagrama de
comunicao

Exemplo de diagrama de
comunicao

Criao de objetos em um diagrama


de comunicao
Durante a execuo de um cenrio de caso de
uso, objetos podem ser criados e outros objetos
podem ser destrudos.
A UML define etiquetas (tags) para criao e
destruio de objetos no diagrama de
comunicao.
{new}: objetos ou ligaes criados durante a
interao.
{destroyed}: objetos ou ligaes destrudos
durante a interao.
{transient}: objetos ou ligaes destrudos e
criados durante a interao.

Criao de objetos em um diagrama


de comunicao

Heursticas para construo


do MI
Verifique a consistncia dos diagramas
de interao em relao aos Casos de
Uso e ao modelo de classes.
Cada cenrio relevante para cada caso de uso
foi considerado na modelagem de interaes.
Durante a construo do diagrama de interao,
pode-se identificar novas classes.
Atributos, associaes e operaes tambm
surgem como subproduto da construo dos
diagramas de interao.

Heursticas para construo


do MI
O objeto de controle realiza apenas a
coordenao da realizao do caso de
uso.
Todas as aes do ator resultam em alguma
atividade realizada por esse objeto de controle.
Isso pode levar ao alto acoplamento; no pior caso,
o controlador tem conhecimento de todas as
classes participantes do caso de uso.
Sempre que for adequado, segundo os princpios
de coeso e de acoplamento, as classes de domnio
devem enviar mensagens entre si, aliviando o
objeto de controle.

MI em um processo iterativo e
incremental
So construdos para os casos de uso.
H controvrsias sobre o momento de incio da
utilizao desse modelo (anlise vs. projeto).
Inicialmente (+anlise), pode exibir apenas os
objetos participantes e mensagens exibindo
somente o nome da operao.
Posteriormente (+projeto), pode ser refinado.
Criao e destruio de objetos, tipo e assinatura
completa de cada mensagem.

MI em um processo iterativo e
incremental
A construo do Modelo de Interao fornece
informaes teis para transformar o modelo de
classes de anlise no modelo de classes de projeto.
Em particular, Modelo de Interao fornece os
seguintes itens para refinar o modelo de classes de
anlise:
Detalhamento de mtodos
Detalhamento de associaes
Novos mtodos
Novos atributos
Novas classes

MI em um processo iterativo e
incremental

Exerccios
Para cada especificao, desenvolva
um diagrama de sequncia e um de
comunicao.
Use as classes entity, control e
boundary nos diagramas

Locao de DVDs
Primeiramente o atendente deve verificar se o
scio est cadastrado. Se este no estiver, a
locao deve ser recusada.
Em seguida deve verificar se o scio possui
alguma locao pendente, caso em que tambm
recusar o emprstimo.
Se o scio existir e no tiver locaes pendentes,
ento a locao dever ser registrada e as
cpias emprestadas ao scio.
Durante o registro da locao devero ser
registrados tambm todos os itens da locao

Clnica Veterinria (mdulo de consulta)

Se a consulta em questo no for a primeira consulta


do tratamento, o veterinrio antes de examinar o
animal pode querer verificar o histrico das ltimas
consultas do tratamento. Para isso ser necessrio
consultar o dono do animal que est sendo tratado.
Esta consulta trar juntamente com as informaes do
cliente uma listagem de todos os animais por ele
possudos. Por meio desta listagem, o veterinrio
selecionar o animal a ser tratado, o que forar a
apresentao das informaes especficas deste. A
partir da interface do cadastro do animal, pode-se
verificar a listagem de todos os tratamentos feitos pelo
mesmo.
Aps a consulta deve-se registrar seu histrico,
contendo a data em que a consulta foi realizada, o
resumo do que foi feito e o mdico veterinrio que
realizou a consulta.

You might also like