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