Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula02-Diagrama Sequencia
Aula02-Diagrama Sequencia
Diagramas de Interao
Deseja-se representar o comportamento de vrios objetos
Dentro de um contexto A partir das mensagens que so trocadas entre eles Esse contexto pode ser um caso de uso
Objetivo
Estabelecer os objetos que interagem e seus relacionamentos dentro de um contexto (caso de uso)
Termo genrico que se aplica a dois tipos de diagramas que enfatizam interaes entre objetos
Diagrama de Seqncia Diagrama de Colaborao
LES/PUC-Rio 2
Diagrama de Colaborao
Interao enfatizando o relacionamento entre os objetos
LES/PUC-Rio
Diagrama de seqncia
Tempo (top-down)
condio de guarda ObjetoA [se novo] <<create>> mensagem mensagem (auto delegao) mensagem sncrona ObjetoB objeto
linha de vida
LES/PUC-Rio
Termos e conceitos
Objetos Linhas de vida Mensagens Focos de controle
LES/PUC-Rio
Objetos
Apresentados na dimenso horizontal do diagrama Ordem dos objetos no considerada
Disp-los de forma a tornar o diagrama mais legvel
LES/PUC-Rio
Objetos
central CentralFloricultura
floricultorPetropolis Floricultor
LES/PUC-Rio
Linhas de Vida
Dimenso vertical do diagrama Apresentam o tempo de vida dos objetos Pode apresentar a ativao ou a desativao dos objetos
Indicam que os objetos esto executando algo
Foco de controle
LES/PUC-Rio
Linhas de Vida
estoque
vendedor pedido
Linhas de vida
Criao
1:new()
Destruio
4: kill()
LES/PUC-Rio
Mensagens
Objetos interagem atravs da troca de mensagens
Setas slidas que vo do objeto solicitante para o solicitado
Para o prprio objeto: auto-delegao
Rotulados com os nomes dos estmulos mais os argumentos (ou valores dos argumentos) do estmulo
Sintaxe
return := message(parameter:parameterType):returnType onde
return o nome do valor de retorno message o nome da mensagem parameter o nome de um parmetro da mensagem parameterType o nome do tipo desse parmetro returnType o tipo do valor de retorno
LES/PUC-Rio
10
Mensagens - Tipos
Tipos de ao que uma mensagem pode representar
call
Invoca uma operao sobre um objeto
Objeto pode mandar uma chamada para si prprio Resultando na execuo local de uma operao
return
Representa o retorno de um valor para o objeto que chamou a operao Opcional
create
Criao de um objeto
new() kill()
<<create>> <<destroy>>
destroy
Eliminao de um objeto
LES/PUC-Rio
11
Mensagens - Representaes
Significado
Mensagem assncrona
LES/PUC-Rio
12
Mensagens
Auto-delegao
jose Floricultor 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 central CentralFloricultura floricultorPetropolis Floricultor
mensagens
LES/PUC-Rio
13
:Aluno
:Impressora
Matrcula
LES/PUC-Rio
14
Mensagens - Iterao
Uma mensagem pode ser enviada repetidas vezes
* mensagem(...)
vendedor pedido 1: estoque
vendedor
2:*[*] //adicionarItem
pedido
* adicionarItem
3: confirmarPedido
3.1: confirmarPedido
4:
LES/PUC-Rio
15
LES/PUC-Rio
16
Controle (control)
Coordenam o comportamento do caso de uso definindo uma interface entre classes fronteira e entidade
Entidade (entity)
Classes que armazenam informaes manipuladas pelo sistema
LES/PUC-Rio
17
Ler Conteudo
Ler Nota
Usuario
Remover Conteudo
Remover Nota
Dono do blog
Criar Nota
LES/PUC-Rio
18
LES/PUC-Rio
19
: UsuarioBlog
: GUIBlog
: ControladorBlog
: Blog
LES/PUC-Rio
20
: UsuarioBlog
: GUIBlog
: ControladorBlog
: Blog
: Nota
LES/PUC-Rio
21