Pular para conteúdo

Aula 20 - Projeto Capstone: Especificação de Arquitetura UML Completa 🚀

Objetivo Pedagógico

Objetivo: Conceber e consolidar uma especificação arquitetural exaustiva de um sistema distribuído em UML 2.5: Diagrama de Casos de Uso com fronteiras de sistema, Diagrama de Classes de domínio, Diagrama de Sequência detalhado de autenticação e Diagrama de Implantação em nuvem.


📑 1. Fundamentos Teóricos & Análise Técnica

O Projeto Capstone de Modelagem UML une todas as visões arquiteturais em um documento canônico de engenharia de software (Software Architecture Document - SAD).

Uma especificação arquitetural completa atende ao modelo das 4+1 Visões de Philippe Kruchten: 1. Visão de Casos de Uso (+1): Define o escopo funcional e os atores externos com relacionamentos <<include>> (inclusão mandatória) e <<extend>> (extensão condicional). 2. Visão Lógica: Diagramas de Classes de domínio e modelos de componentes expondo a estrutura conceitual do software. 3. Visão de Processo: Diagramas de Sequência e Atividades mapeando concorrência, performance e fluxos de mensageria. 4. Visão de Desenvolvimento: Diagramas de pacotes e dependências de código. 5. Visão Física: Diagrama de Implantação documentando a topologia de servidores, gateways, balanceadores e bancos em nuvem.

📐 Arquitetura Conceitual & Diagrama de Fluxo

graph TD
    SAD["Documento de Arquitetura de Software (SAD 4+1)"] --> V1["Visão de Casos de Uso (+1): Escopo e Atores"]
    SAD --> V2["Visão Lógica: Classes e Domínio de Negócio"]
    SAD --> V3["Visão de Processo: Sequência e Comunicação"]
    SAD --> V4["Visão Física: Nós de Implantação e Infraestrutura Cloud"]
    style SAD fill:#e1f5fe,stroke:#01579b
    style V1 fill:#fff3e0,stroke:#e65100
    style V2 fill:#f3e5f5,stroke:#7b1fa2
    style V3 fill:#e8f5e9,stroke:#2e7d32
    style V4 fill:#e0f2f1,stroke:#00695c

🔍 Pilares e Diretrizes Técnicas

Nesta unidade, aprofundamos os seguintes conceitos fundamentais: - Comunicação Unívoca entre Equipes: Eliminação de ambiguidades entre equipes de produto, engenharia e operações. - Rastreabilidade Fim a Fim: Cada requisito de caso de uso mapeia diretamente para classes de domínio e nós de infraestrutura. - Governança e Tomada de Decisão (ADR): Suporte visual à documentação de Registros de Decisões Arquiteturais (Architectural Decision Records). - Facilitação de Auditorias de Conformidade: Evidência formal de conformidade arquitetural perante órgãos reguladores e clientes enterprise.


🛠️ 2. Implementação Prática em Engenharia de Software, UML 2.5 e Arquitetura de Sistemas

Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:

// capstone_use_case_architecture.mermaid (Diagrama de Casos de Uso do Ecossistema Corporativo)
graph LR
    subgraph Atores
        Cliente((Cliente Web/App))
        Operador((Operador de Suporte))
        SistemaBancario((Gateway Bancário))
    end

    subgraph Sistema ["Fronteira do Sistema: Portal de Serviços"]
        UC1[Autenticar Usuário]
        UC2[Realizar Compra]
        UC3[Processar Pagamento]
        UC4[Consultar Extrato]
        UC5[Estornar Transação]
    end

    Cliente --> UC1
    Cliente --> UC2
    Cliente --> UC4
    UC2 -.->|<<include>>| UC1
    UC2 -.->|<<include>>| UC3
    Operador --> UC5
    UC3 --> SistemaBancario
    UC5 --> SistemaBancario

💡 Análise Passo a Passo do Código

  1. Fronteira Delimitada do Sistema: Isola os casos de uso pertencentes ao escopo dos atores externos.
  2. Relacionamento <<include>> Obrigatório: Garante que a realização de compras exija autenticação e pagamento sem redundância de código.
  3. Múltiplos Atores Integrados: Ilustra papéis de usuários comuns, operadores privilegiados e sistemas terceiros conectados.

🎯 3. Próximos Passos & Sequência Didática