Diagramas de Seqüência
Bacalá 2
Objetivo
Mostrar a interação, isto é, a seqüência de
mensagens trocadas entre vários objetos num
determinado contexto (caso de uso, operação, etc.)
Enfatizar a comunicação e a passagem de controle
entre objetos ao longo do tempo
Útil para descrever uma seqüência particular de
funcionamento,
Mas não para
muitas seqüências alternativas e ciclos,
ações realizadas por um objeto que não envolvem comunicação com outros objetos
Bacalá 3
Objetos e linhas de vida
Cada objeto participante é representado por
uma caixa em cima duma linha vertical a traço
interrompido (linha de vida)
Normalmente aparecem atores (objetos
externos ao sistema) iniciando interações
O tempo cresce de cima para baixo
objeto1:Classe1 objeto2: :Classe3
mensagem
Bacalá 4
Diagramas de Seqüência
Bacalá 5
Diagramas de Comunicação
Bacalá 6
Comparação entre os diagramas de seqüência e comunicação
Tipo Pontos fortes Pontos Fracos
Sequência
Mostra com clareza a
seqüência ou ordem temporal
das mensagens.
Amplo conjunto de opções
detalhadas.
Deve ser estendido para a
direita quando são acrescidos
novos objetos; consome
espaço na horizontal
Comunicação
Economia de espaço -
flexibilidade para adicionar
novos objetos em duas
dimensões.
É mais difícil ver a seqüência
das mensagens.
menos opções de notação.
Bacalá 7
Exemplo de um diagrama de seqüência: fazerPagamento
Bacalá 8
Exemplo de um diagrama de comunicação: fazerPagamento
Bacalá 9
Participantes e Linhas de Vida
Bacalá 10
Sintaxe das mensagens
Forma Geral:
Exemplos:
Bacalá 11
Mensagens
Bacalá 12
Retorno de uma mensagem
Duas formas de mostrar o valor de retorno de uma
mensagem
Bacalá 13
Mensagens para "this"
Bacalá 14
Criação de instâncias
Bacalá 15
Destruição de Objetos
Bacalá 16
Frames em Diagramas de Seqüência
Loops
Bacalá 17
Loops na especificação UML 1.x
Bacalá 18
Mensagens Condicionais
Bacalá 19
Mensagens condicionais na UML 1.x
Bacalá 20
Mensagens condicionais mutuamente exclusivas
Bacalá 21
Percorrendo uma coleção
Usando uma notação explícita
Bacalá 22
Percorrendo uma coleção
Usando uma notação implícita
Bacalá 23
Mensagens Polimórficas
Bacalá 24
Mensagens Polimórficas
Bacalá 25
Mensagens síncronas e assíncronas
Diagramas de Comunicação
Bacalá 27
Associações
Bacalá 28
Mensagens
Bacalá 29
Mensagens para this
Bacalá 30
Criação de instâncias
Bacalá 31
Numeração das mensagens
Um caso simples
Bacalá 32
Numeração das mensagens
Um caso mais complexo
Bacalá 33
Mensagens condicionais
Bacalá 34
Mensagens condicionais mutuamente exclusivas
Bacalá 35
Loops
Bacalá 36
Percorrendo uma coleção
Bacalá 37
Mensagens Polimórficas
Bacalá 38
Mensagens síncronas e assíncronas
Bacalá 39
Curiosidades
Sentido de leitura: sempre da esquerda para direita?
Bacalá 40
Curiosidades
Sentido de leitura: sempre da esquerda para direita?
Bacalá 41
Curiosidades
Exemplo: árabe
Bacalá 42
Curiosidades
Exemplo: árabe
Bacalá 43
Curiosidades
Real Time
Bacalá 44
Modelo de Análise
Bacalá 45
Modelo de Negócio
: Funcionário : SIB
: Sócio
Identifica sócio
Identifica publicação
Imprime requisição
Entrega requisição para assinar
Devolve requisição assinada
Empresta publicação
Mostra cartão de sócio
Pede publicação emprestada
Pede cartão de sócio
Confirma dados
Mostra restantes dados do sócio
Mostra restantes dados da publicação
Informa prazo para devolução
Bacalá 46
Modelo de Análise
Bacalá 47
Exercício
• Elabore um diagrama de seqüência para especificar o
fluxo de controle envolvido ao se iniciar uma simples
ligação telefônica.
• Objetos:
• Chamador
• Chamado
• SistemaTelefônico
Bacalá 48
Exemplo: Fazer chamada telefônica
restrição
temporal
quem é chamado: Pessoa quem chama: Pessoa :Sistema telefónico
Retira fone do gancho
dá sinal
marca (1º dígito)
termina sinal de marcar
marca (2º dígito)
marca (último dígito)
dá sinal de chamada toca o telefone
Atende o telefone
pára de tocar pára sinal de chamada
poisa auscultador
dá sinal de conexão terminada
poisa auscultador
a
b {b-a < 10 seg.}
marca
temporal
nesta altura
decorre a
conversação
...
mensagem simples
Top Related