Exercícios: Aula 08 - Diagrama de Sequência 📝
Visualize a troca de mensagens entre objetos ao longo do tempo.
1. A Dimensão do Tempo (Básico 1)
Contexto: Ao contrário do Diagrama de Classes, o de Sequência é dinâmico.
Pergunta: O que a dimensão vertical e a dimensão horizontal representam em um Diagrama de Sequência?
2. Existência de Objetos (Básico 2)
Contexto: Cada objeto no diagrama tem uma representação visual de sua duração.
Pergunta: O que é uma Linha de Vida (Lifeline) e o que indica o pequeno retângulo vertical (barra de ativação) sobre ela?
3. Esperar ou não esperar? (Intermediário 1)
Contexto: Diferentes tipos de setas indicam diferentes tipos de comunicação.
Pergunta: Qual a diferença visual e conceitual entre uma Mensagem Síncrona e uma Mensagem Assíncrona?
4. Lógicas de Fluxo (Intermediário 2)
Contexto: Às vezes precisamos representar "se" ou "enquanto" no diagrama.
Pergunta: Para que servem os fragmentos combinados alt e loop em um Diagrama de Sequência?
5. Desafio: Modelando o Mundo Real (Desafio)
Contexto: Um usuário tenta sacar dinheiro em um caixa eletrônico. O sistema precisa validar a senha e verificar o saldo antes de entregar as notas.
Pergunta: Identifique os 3 participantes principais e liste a sequência de 5 mensagens necessárias para completar esse processo com segurança.
---
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
Respostas e explicações para os exercícios da **Aula 08**. --- ### ✅ 1. Foco no Tempo (Básico) **Resposta Sugerida:** O **Diagrama de Sequência** foca na ordem temporal das mensagens. Ele mostra exatamente quem chama quem e quando, de cima para baixo. --- ### ✅ 2. Linhas de Vida (Básico) **Resposta Sugerida:** A **Linha de Vida (Lifeline)** representa a existência de um objeto ao longo do tempo. O retângulo vertical sobre a linha de vida (Barra de Ativação) indica que o objeto está executando uma operação naquele momento. --- ### ✅ 3. Mensagens Síncronas vs Assíncronas (Intermediário) **Explicação:** * **Síncrona (Seta Cheia):** O remetente espera pela resposta antes de continuar (ex: Chamada de função comum). * **Assíncrona (Seta Aberta):** O remetente envia a mensagem e continua seu trabalho sem esperar (ex: Envio de e-mail em background). --- ### ✅ 4. Fragmentos Combinados (Intermediário) **Conceitos:** * `alt`: Alternativa (if/else). * `loop`: Repetição (for/while). * `opt`: Opcional (if simples). --- ### ✅ 5. Desafio: Modelagem de Saque (Desafio) **Resolução Sugerida:**sequenceDiagram
participant U as Usuário
participant C as Caixa Eletrônico
participant B as Banco
U->>C: Inserir Cartão/Senha
C->>B: Validar Dados
B-->>C: Dados OK
U->>C: Solicitar Saque (R$ 100)
C->>B: Verificar Saldo
alt Saldo Suficiente
B-->>C: Autorizado
C->>U: Entregar Dinheiro
else Saldo Insuficiente
B-->>C: Negado
C->>U: Exibir Erro
end ---