Bacharel
Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010.1/es1
O que é?
Diagrama criado para modelagem da interação entre objetos
– Detalha como objetos colaboram para implementar um cenário de caso de uso
– Útil para ajudar na identificação dos métodos das classes
Caixas representando objetos
Linhas verticais representando a vida do objeto
Linhas horizontais representando troca de mensagens
Objetos
Os objetos são de algum tipo definido no diagrama de classes
– O nome de um objeto é da forma nome : classe
Em situações onde um nome específico não pode ser identificado (ex.: pedro : Pessoa), utilize:
– Um nome genérico (ex.: umaPessoa : Pessoa)
– Um nome único (ex.: aPessoa : Pessoa)
– Ou omita o nome (ex.: : Pessoa)
Uma linha pontilhada sai do objeto (linha de vida) representando o momento da sua criação em diante
– Quanto mais para baixo, mais tempo passou
pedro : Pessoa
Mensagens
A interação entre objetos é representada por mensagens
– Para outros objetos
– Para o mesmo objeto (auto-mensagem)
Uma mensagem contém a assinatura do método que está sendo chamado
Uma barra de ativação indica o escopo de execução do método Mensagens
umaPessoa : Pessoa
: ControleSeguranca
1 : login(umaPessoa): Boolean
2 : autentica(umaPessoa)
3 : registra("login", umaPessoa)
: Log
Mensagens
Mensagem de criação
– Aponta diretamente para o objeto e é marcada com
Mensagem de retorno
– Opcional, e normalmente é omitida
– Usa seta tracejada
Marca de destruição
– Indica o término da vida de um objeto com um “X”
Mensagens
Mas como representar um algoritmo mais complexo?
Exemplo:
Para cada item de produto
Se o valor do produto for maior que
10000 então
Despacha com cuidado
Caso contrário
Despacha normalmente
Se precisa de confirmação
Envia confirmação
Repetições
O diagrama de seqüência permite que repetições sejam feitas durante o