Pular para conteúdo

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
---