Escolar Documentos
Profissional Documentos
Cultura Documentos
O que ?
Diagrama criado para modelagem da interao entre objetos
Detalha como objetos colaboram para implementar um cenrio de caso de uso til para ajudar na identificao dos mtodos das classes
Caixas representando objetos Linhas verticais representando a vida do objeto Linhas horizontais representando troca de mensagens
Objetos
Os objetos so de algum tipo definido no diagrama de classes
O nome de um objeto da forma nome : classe
Em situaes onde um nome especfico no pode ser identificado (ex.: pedro : Pessoa), utilize:
Um nome genrico (ex.: umaPessoa : Pessoa) Um nome nico (ex.: aPessoa : Pessoa) Ou omita o nome (ex.: : Pessoa)
pedro : Pessoa
Uma linha pontilhada sai do objeto (linha de vida) representando o momento da sua criao em diante
Quanto mais para baixo, mais tempo passou
Mensagens
A interao entre objetos representada por mensagens
Para outros objetos Para o mesmo objeto (auto-mensagem)
Uma mensagem contm a assinatura do mtodo que est sendo chamado Uma barra de ativao indica o escopo de execuo do mtodo
Mensagens
umaPessoa : Pessoa
: ControleSeguranca
: Log
3 : registra("login", umaPessoa)
Mensagens
Mensagem de criao
Aponta diretamente para o objeto e marcada com <<create>>
Mensagem de retorno
Opcional, e normalmente omitida Usa seta tracejada
Marca de destruio
Indica o trmino da vida de um objeto com um X
Mensagens
Repeties
O diagrama de seqncia permite que repeties sejam feitas durante o fluxo Para isso so utilizados quadros (frames) do tipo loop
Decises
O diagrama de seqncia permite que decises sejam tomadas durante o fluxo Para isso so utilizados quadros (frames) do tipo alt ou opt com condies de guarda
alt
If + else
[caso contrrio]
if
opt [umPedido.precisaConfirmacao()]
Exemplo
umPedido : Pedido cuidadoso : Entregador normal : Entregador oMensageiro : Mensageiro
loop [para cada item de pedido] alt [item.valor > 10000] 1 : despacha()
[caso contrrio]
2 : despacha()
Exerccio
Elabore um diagrama de seqncia para o algoritmo Quicksort (verso ingnua)
Primeiro elemento da lista de entrada o piv Cria outras duas listas com os elementos menores e maiores que o piv Ordena recursivamente as outras duas listas Concatena a lista de menores ordenada, o piv e a lista de maiores ordenada, criando a lista de sada ordenada
Bibliografia
Fowler, Martin. 2003. UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd ed. Addison-Wesley Professional. Vrias transparncias foram produzidas por Leonardo Murta
http://www.ic.uff.br/~leomurta