Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🎬 CAPÍTULO 14: DIAGRAMA DE SEQUÊNCIA

Enquanto o Diagrama de Classes mostra a "foto" parada do sistema, o Diagrama de Sequência mostra o "filme". Ele foca na ordem temporal das mensagens trocadas entre objetos para realizar um processo específico. 🛡️🧩


🎯 Objetivo do Capítulo

Dominar a modelagem dinâmica da UML, compreendendo como atores, controladores, serviços e bancos de dados interagem ao longo do tempo para entregar uma funcionalidade.


🏢 O Cenário Corporativo (TecProExpress)

Na TecProExpress, o time de Frontend reclama que a tela de Login está demorando muito. O desenvolvedor backend diz que é culpa do banco, o DBA diz que é culpa da rede.

"Seu desafio é desenhar o Diagrama de Sequência do Login. Você deve cronometrar visualmente onde a mensagem está passando. Quando o usuário clica em 'Entrar', quem recebe a mensagem primeiro? Quem valida o Token? Quem consulta o banco? Esse diagrama revelará o gargalo do sistema."


🧠 Elementos da Linha do Tempo

ElementoPapel na Explicação Técnica
Ator e ObjetosOs participantes da interação (Usuário, API, Database).
Linhas de VidaLinhas pontilhadas verticais que indicam o tempo.
MensagensSetas de chamada (Call) e de retorno (Return).
Foco de ControleRetângulos que indicam que o objeto está executando uma lógica.

📊 Exemplo Prático: Fluxo de Autenticação JWT

Visualize como a TecProExpress valida o acesso seguro dos seus motoristas:

sequenceDiagram
    actor U as "Motorista App"
    participant API as "Gateway / Controller"
    participant S as "AuthService (Java)"
    participant B as "PostgreSQL"
    
    U->>+API: 1: POST /login (user, pass)
    API->>+S: 1.1: validateCredentials()
    S->>+B: 1.1.1: SELECT hash_password FROM users...
    B-->>-S: 1.1.2: hash_result
    S-->>-API: 1.2: Token JWT Gerado
    API-->>-U: 2: 200 OK (JWT Token)

🔍 Detalhamento: A Importância do Detalhe

Cada Caso de Uso desenhado no Capítulo 11 deve ser detalhado por um Diagrama de Sequência. Isso permite que o Arquiteto preveja:

  1. Gargalos de Performance: Muitas setas indo para o banco de dados indicam que você precisa de um Cache (Redis).
  2. Falhas de Segurança: Se o Ator fala direto com o Banco de Dados sem passar por um Service, você descobriu uma vulnerabilidade grave.

[!TIP] Dica Arquitetural: O Diagrama de Sequência é o melhor amigo do desenvolvedor na hora de escrever os testes de integração. Ele diz exatamente qual resposta esperar de cada camada do sistema. 🚀


💡 Checkpoint de Lógica

[!IMPORTANT] Reflexão Profissional: Se o tempo flui de cima para baixo no diagrama, o que acontece se você desenhar uma resposta vindo antes da chamada? (Resposta: O diagrama está logicamente errado. Nada pode ser devolvido sem ser solicitado. O tempo é implacável na engenharia). 🧠🛡️