🏆 Cap 20: Projeto Integrador: do Requisito ao Documento de Arquitetura (SAD)
Guia Extra: Engenharia de Software e Modelagem UML • Bloco 5: Do Modelo ao Código e à Evolução
🗺️ Mapa Conceitual do Projeto Integrador
flowchart TD
subgraph STAGE1["Etapa 1: Visão, Processo e Requisitos"]
E1A["Visão de Produto & Stakeholders"]
E1B["Modelo de Processo (Scrum/XP/Kanban)"]
E1C["Requisitos SMART (RF, RNF, RD) & Backlog INVEST"]
end
subgraph STAGE2["Etapa 2: Negócio e Comportamento"]
E2A["Diagrama de Casos de Uso (Cockburn)"]
E2B["Modelagem BPMN 2.0 (AS-IS e TO-BE)"]
E2C["Diagrama de Atividades com Swimlanes"]
end
subgraph STAGE3["Etapa 3: Domínio e Estrutura Estática"]
E3A["DDD Estratégico (Bounded Context) & CRC"]
E3B["Diagrama de Classes (Composição & OCL)"]
E3C["Diagrama de Pacotes & Métrica D de Martin"]
end
subgraph STAGE4["Etapa 4: Dinâmica, Nuvem e Decisões"]
E4A["Diagrama de Sequência & Máquina de Estados"]
E4B["Modelo C4 (Níveis 1 e 2) & Implantação"]
E4C["ADRs (Nygard) & Cenários de Qualidade ATAM"]
end
STAGE1 --> STAGE2
STAGE2 --> STAGE3
STAGE3 --> STAGE4
STAGE4 --> SAD["📘 Documento de Arquitetura de Software (SAD / arc42 Consolidado)"]
style STAGE1 fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
style STAGE2 fill:#ede7f6,stroke:#512da8,stroke-width:2px
style STAGE3 fill:#fff3e0,stroke:#e65100,stroke-width:2px
style STAGE4 fill:#fce4ec,stroke:#c2185b,stroke-width:2px
style SAD fill:#e8f5e9,stroke:#2e7d32,stroke-width:3px
🎯 1. O Desafio: A Síntese da Engenharia de Software
O objetivo culminante deste guia é a confecção autônoma de um Documento de Arquitetura de Software (SAD — Software Architecture Document) completo, aderente ao padrão internacional arc42 e apoiado pelo modelo conceitual das visões 4+1 de Philippe Kruchten.
O estudante ou equipe deve escolher um dos quatro domínios canônicos para modelar do zero (ou submeter um tema corporativo equivalente à validação do instrutor):
| Domínio de Aplicação | Desafio de Domínio Central | Tensões Arquiteturais e Requisitos Críticos |
|---|---|---|
| 1. Gestão Hospitalar Veterinária | Prontuário eletrônico unificado, controle de posologia farmacêutica e internação de animais. | Integridade transacional estrita; rastreabilidade de substâncias controladas; histórico temporal imutável. |
| 2. Coleta Seletiva Municipal | Logística reversa inteligente, agendamento de descarte de volumosos e otimização de rotas de caminhões. | Alta disponibilidade móvel em campo; tolerância a conexões intermitentes; geolocalização em tempo real. |
| 3. Sistema de Micromobilidade (Bicicletas) | Estações inteligentes de travamento, cobrança por tempo de uso fracionado e manutenção preventiva de frota. | Concorrência massiva na devolução/retirada; prevenção de fraudes de GPS; baixa latência de liberação física. |
| 4. Gestão de Congressos Científicos | Submissão double-blind, comitê avaliador distribuído, controle de conflitos de interesse e certificados digitais. | Sigilo e integridade de dados; picos extremos de tráfego na data limite de submissão (deadline effect). |
🧱 2. Roteiro Executivo em Quatro Etapas
A construção do artefato arquitetural ocorre de forma iterativa e incremental ao longo de quatro entregas sincronizadas:
Etapa 1: Visão do Produto, Processo e Engenharia de Requisitos
- Justificativa do Modelo de Processo selecionado (Scrum, Kanban ou OpenUP) com base na incerteza e volatilidade do domínio.
- Especificação de 12 requisitos numerados hierárquicos: Requisitos Funcionais (RF), Requisitos Não Funcionais (RNF conforme ISO/IEC 25010) e Regras de Negócio (RN).
- Backlog do Produto contendo 10 User Stories estruturadas sob os princípios INVEST e acompanhadas de critérios de aceitação em sintaxe BDD (Dado-Quando-Então).
- Matriz de Rastreabilidade Bidirecional em Markdown ligando necessidades a itens do backlog.
Etapa 2: Modelagem de Negócio e Comportamento Operacional
- Diagrama de Casos de Uso com fronteira do sistema explícita e uso semanticamente correto de
«include»e«extend». - 2 Especificações Textuais de Casos de Uso no padrão formal de Alistair Cockburn (nível do mar).
- Diagrama BPMN 2.0 modelando o fluxo de negócio em piscinas (pools) e raias (lanes), comparando o fluxo manual (AS-IS) ao automatizado (TO-BE).
- Diagrama de Atividades UML com nós de bifurcação (fork), junção (join) e objetos trafegando entre partições.
Etapa 3: Domínio de Negócio e Arquitetura Estrutural
- Glossário de Linguagem Ubíqua e delimitação de Bounded Contexts no modelo de domínio estratégico DDD.
- Cartões CRC (Class-Responsibility-Collaborator) para as três entidades mais complexas do núcleo de domínio.
- Diagrama de Classes de Projeto contendo tipagem forte, visibilidade (
+,-,#), multiplicidade nos dois lados das associações, herança ou padrão de papéis, composição forte e pelo menos duas restrições invariantes formais em OCL (Object Constraint Language). - Diagrama de Pacotes validando a ausência de ciclos acíclicos (ADP) e calculando a distância da Sequência Principal ($D = |A + I - 1|$).
Etapa 4: Dinâmica de Execução, Topologia Física e Governança
- 2 Diagramas de Sequência completos utilizando fragmentos combinados (
alt,opt,loop). - Máquina de Estados comportamental do ciclo de vida da entidade central do sistema, contendo ações
entry/do/exit, guardas e pseudoestados. - Diagramas do Modelo C4: Nível 1 (Contexto do Sistema) e Nível 2 (Contêineres de Software).
- Diagrama de Implantação especificando nós de nuvem, ambientes de execução e protocolos de conectividade.
- 3 Registros de Decisão de Arquitetura (ADR) completos no padrão Michael Nygard.
- Esquema DDL SQL gerado para o banco relacional, incluindo chaves primárias, estrangeiras e restrições de integridade em cascata.
📘 3. Estrutura Canônica do SAD (Template arc42)
O documento final consolidado deve organizar-se rigorosamente segundo as 12 seções canônicas do framework arc42:
docs/arc42-sad.md
├── 1. Introdução e Metas de Negócio
├── 2. Restrições Arquiteturais
├── 3. Contexto e Escopo (C4 Nível 1)
├── 4. Estratégia de Solução & Estilo Arquitetural
├── 5. Visão de Blocos de Construção (C4 Nível 2 e Diagrama de Classes)
├── 6. Visão de Tempo de Execução (Sequência e Atividades)
├── 7. Visão de Implantação (Topologia de Nuvem e Nós)
├── 8. Conceitos Transversais (Segurança, Transações, Observabilidade)
├── 9. Decisões Arquiteturais (Catálogo de ADRs)
├── 10. Requisitos de Qualidade (Cenários ATAM de Latência, Resiliência e Vazão)
├── 11. Riscos Técnicos e Plano de Mitigação de Débito
└── 12. Glossário da Linguagem Ubíqua
⚖️ 4. Rubrica de Avaliação da Engenharia de Software
A avaliação do projeto integrador reflete a maturidade profissional do aluno na resolução de problemas complexos de software:
| Dimensão Avaliada | Peso | Indicadores de Excelência Técnica |
|---|---|---|
| Coerência Semântica Horizontal | 30% | Rastreabilidade total: As classes fornecem os métodos invocados nos diagramas de sequência; o esquema SQL reflete com exatidão as multiplicidades e composições; as transições da máquina de estados suportam os fluxos dos casos de uso. |
| Verificabilidade e Engenharia de Requisitos | 20% | Requisitos funcionais e não funcionais sem termos ambíguos; critérios de aceitação executáveis em Gherkin; cenários de qualidade mensuráveis via métricas objetivas (p99, MTBF, throughput). |
| Rigor Notacional e Sintático (OMG / BPMN) | 20% | Notação UML 2.5 e BPMN 2.0 executada com precisão (diferenciação nítida entre agregação e composição, visibilidade formal, semântica correta de gateways e eventos). |
| Profundidade das Decisões e ADRs | 15% | As decisões não são meras justificativas superficiais; explicitam forças conflitantes, alternativas tecnológicas descartadas e contrapartidas assumidas (trade-offs). |
| Maturidade Docs-as-Code e Versionamento | 15% | Todos os diagramas implementados em código textual (Mermaid/PlantUML), repositório limpo, commits semânticos (Conventional Commits) e histórico de baseline preservado no Git. |