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

✅ Gabarito Comentado (Unidade IV)

Confira as soluções arquiteturais sugeridas para as atividades técnicas de modelagem estrutural e dinâmica.


🏗️ 1. Modelagem de Classes: Pedido e Itens

classDiagram
    class Pedido {
        +Integer id
        +Date data
        +Double valorTotal
        +fecharPedido()
        +cancelar()
    }
    class ItemPedido {
        +Integer quantidade
        +Double precoUnitario
        +calcularSubtotal()
    }
    Pedido "1" -- "1..*" ItemPedido : Contém

⏳ 2. Diagrama de Sequência: Fluxo de Checkout

sequenceDiagram
    actor U as Usuário
    participant C as OrderController
    participant S as OrderService
    participant P as PaymentGateway

    U->>C: 1: Click "Comprar"
    C->>S: 1.1: processCheckout(pedidoId)
    S->>P: 2: validatePayment(cardDetails)
    P-->>S: Approval Status
    S-->>C: Transaction Result
    C-->>U: Success/Failure UI

🔄 3. Máquina de Estados: Ticket de Suporte

stateDiagram-v2
    [*] --> Aberto
    Aberto --> EmAtendimento : Pegar Ticket
    EmAtendimento --> Resolvido : Aplicar Correção
    Resolvido --> Fechado : Confirmado pelo Usuário
    Resolvido --> EmAtendimento : Reaberto (Reprovado)
    Fechado --> [*]
    
    style Aberto fill:#fffde7,stroke:#fbc02d
    style EmAtendimento fill:#e1f5fe,stroke:#01579b
    style Resolvido fill:#f1f8e9,stroke:#558b2f

[!IMPORTANT] 💡 Nota do Arquiteto: Lembre-se que o diagrama é uma ferramenta de comunicação. Se ele estiver complexo demais para explicar aos desenvolvedores, simplifique-o sem perder a precisão da regra de negócio.