Escolar Documentos
Profissional Documentos
Cultura Documentos
UML: Diagrama de Seqüência
UML: Diagrama de Seqüência
Diagramas de Interação
• Objetivo
– Estabelecer os objetos que interagem e seus
relacionamentos dentro de um contexto (caso de uso)
© LES/PUC-Rio 2
Duas formas de representação
– Diagrama de Seqüência
• Interação enfatizando o tempo de seqüência
• Mostra objetos participando em interações de acordo com suas
linhas de vida e as mensagens que trocam
– Diagrama de Colaboração
• Interação enfatizando o relacionamento entre os objetos
© LES/PUC-Rio 3
Diagrama de seqüência
mensagem
linha de vida
© LES/PUC-Rio 4
Termos e conceitos
• Objetos
• Linhas de vida
• Mensagens
• Focos de controle
© LES/PUC-Rio 5
Objetos
Ex.: joão:Dentista
:Floricultor (um objeto floricultor não identificado)
obj1: (um objeto obj1 sem classe definida)
© LES/PUC-Rio 6
Objetos
joao:Dentista
1: enviarFlores("Rosas","Maria","Petropolis","Rua x, 9"):boolean
1.1: atendeCidade("Petropolis"):boolean
1.2:[se nao na cid...] getFloricultorNaCidade("Petropolis"):Floricultor
© LES/PUC-Rio 7
Linhas de Vida
© LES/PUC-Rio 8
Linhas de Vida
estoque
vendedor
pedido Linhas de vida
1:new()
Criação
2.2: reservarItem
3: confirmarPedido
3.1: confirmarPedido
Destruição 4: kill()
(Caixas de) Ativação
© LES/PUC-Rio 9
Mensagens
© LES/PUC-Rio 10
Mensagens - Tipos
– return
• Representa o retorno de um valor para o objeto que chamou a
operação
• Opcional
– create
new() <<create>>
• Criação de um objeto
– destroy
kill() <<destroy>>
• Eliminação de um objeto
© LES/PUC-Rio 11
Mensagens - Representações
Símbolo Significado
Mensagem síncrona
Mensagem assíncrona
© LES/PUC-Rio 12
Mensagens
Auto-delegação
joao:Dentista
1: enviarFlores("Rosas","Maria","Petropolis","Rua x, 9"):boolean
1.1: atendeCidade("Petropolis"):boolean
1.2:[se nao na cid...] getFloricultorNaCidade("Petropolis"):Floricultor
mensagens
© LES/PUC-Rio 13
Mensagens – Condições de Guarda
login()
sistemaOk
Matrícula matricula()
[sem vaga]
turmaCheia
[com vaga]
imprimirRelatório()
matriculado
© LES/PUC-Rio 14
Mensagens - Iteração
vendedor
pedido
1:
3: confirmarPedido
3.1: confirmarPedido
4:
© LES/PUC-Rio 15
Diagrama de Seqüência - Construção
© LES/PUC-Rio 16
Estereótipos para Objetos
• Fronteira (boundary)
– Classes de interface com o mundo externo
(ex: GUI, sistemas externos)
• Controle (control)
– Coordenam o comportamento do caso de uso definindo
uma interface entre classes fronteira e entidade
• Entidade (entity)
– Classes que armazenam informações manipuladas pelo
sistema
© LES/PUC-Rio 17
Blog - Casos de uso
blogSystem
Criar Blog
<<include>>
Criar Comentario
Usuario
Ler Comentario
<<include>> <<include>>
Remover Comentario
© LES/PUC-Rio 18
Blog - Diagrama de Classes
© LES/PUC-Rio 19
Blog - Diagrama de Seqüência: Criar blog
1: criarBlog(titulo, usuario)
© LES/PUC-Rio 20
Blog - Diagrama de Seqüência: Criar Nota
3: consultarBlog(idBlog)
4: getDono()
© LES/PUC-Rio 21