🎬 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
| Elemento | Papel na Explicação Técnica |
|---|---|
| Ator e Objetos | Os participantes da interação (Usuário, API, Database). |
| Linhas de Vida | Linhas pontilhadas verticais que indicam o tempo. |
| Mensagens | Setas de chamada (Call) e de retorno (Return). |
| Foco de Controle | Retâ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:
- Gargalos de Performance: Muitas setas indo para o banco de dados indicam que você precisa de um Cache (Redis).
- 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). 🧠🛡️