🏆 Atividade 20: Projeto Final Avançado (Fase 2)
Durante este semestre desafiador, você não apenas aprendeu os conceitos teóricos clássicos, mas os aplicou de forma prática e corporativa: desde o levantamento inicial de escopo e diagramação de casos de uso até a estruturação de códigos robustos em Java 17 / Spring Boot, criação de testes unitários com JUnit, design de APIs documentadas com Swagger, automação via GitHub Actions, conteinerização com Docker e gestão operacional orientada a métricas DORA.
Hoje, é o dia de consolidar essa vasta jornada prática em um único documento de nível executivo industrial: o Dossiê de Engenharia de Software Avançado - Fase 2.
🎯 Objetivo da Aula
Ao final desta atividade, você será capaz de:
- Consolidar artefatos de engenharia diversos em uma documentação técnica unificada e coerente de mercado.
- Modelar a visão integradora de sistemas modernos cobrindo Processos, Arquitetura e DevOps.
- Escrever resumos executivos profissionais focados em tomadas de decisões de negócios e viabilidade técnica.
- Apresentar e defender o projeto técnico simulando o papel de um Arquiteto de Software ou CTO.
🏢 O Cenário Prático (Seu Desafio)
Na TecProExpress, a transformação digital foi um sucesso estrondoso. Graças ao trabalho árduo da equipe de engenharia, a empresa saiu do caos operacional e agora opera com pipelines automáticos, deploys seguros e isolados, e métricas claras de desempenho.
Os investidores e diretores da TecProExpress convocaram uma reunião geral do comitê executivo. Eles querem ver o resultado consolidado e a maturidade técnica da nova arquitetura de rotas de ponta a ponta antes de liberarem a verba milionária de expansão internacional do produto!
"Seu desafio como Chief Technology Officer (CTO) ou Arquiteto Líder da TecProExpress é estruturar e apresentar o Dossiê de Engenharia de Software Avançado. Você reunirá todos os artefatos desenvolvidos individualmente ou em grupo ao longo das últimas 10 semanas em uma documentação indestrutível e demonstrará a robustez operacional do seu projeto."
🧠 Fundamentos: A Visão Integradora Moderna
A engenharia moderna de software não enxerga a infraestrutura ou o processo de negócios como silos separados. O sucesso industrial depende da integração simétrica de três pilares centrais:
📊 O Mapa de Engenharia de Software Integrada
- Engenharia de Processos: Modela o comportamento e as regras de negócio sob a notação UML padrão de mercado (Diagramas de Atividades e Transições de Estado).
- Engenharia de Software: Define a separação estrutural de responsabilidades lógicas no código (Spring Boot, Thymeleaf e HTMX) e expõe as interfaces de comunicação claras e documentadas (Endpoints HTTP REST e Swagger).
- Engenharia de Operações (DevOps): Automatiza a esteira de validações de qualidade e isola as dependências de infraestrutura, garantindo portabilidade absoluta (GitHub Actions CI/CD e contêineres Docker).
📖 Roteiro de Consolidação: Estrutura do Dossiê Final
A entrega final do seu projeto de Engenharia de Software deve seguir rigidamente a estrutura formal de um Dossiê Técnico de mercado. O seu documento final deve conter as seguintes seções estruturadas:
📑 Estrutura Sugerida do Dossiê Técnico
# DOSSIÊ DE ENGENHARIA DE SOFTWARE AVANÇADO: [NOME DO SEU PROJETO]
## 1. Introdução e Resumo Executivo
* Apresentação curta do problema de negócio e os objetivos principais do sistema.
## 2. Engenharia de Processos UML (Atividades 11 e 12)
* O Diagrama de Atividades atualizado com as raias de responsabilidades paralelas.
* O Diagrama de Transição de Estados da principal entidade de negócio (ex: Entrega, Pedido).
## 3. Arquitetura de Software e APIs REST (Atividades 13 e 14)
* Visão geral da arquitetura de classes e pastas (Padrões e MVC Spring Boot).
* O contrato OpenAPI/Swagger detalhado em formato YAML/JSON dos endpoints do sistema.
## 4. Gerência de Configuração e DevOps (Atividades 15 e 16)
* O gráfico GitFlow (`gitGraph`) simulando o fluxo de trabalho colaborativo seguro.
* O arquivo de configuração do pipeline de CI (`ci.yml`) do GitHub Actions.
## 5. Containerização e Segurança (Atividades 17 e 18)
* Os arquivos `Dockerfile` e `docker-compose.yml` criados para subir a infraestrutura.
* A Matriz de Ameaças de Segurança (STRIDE) e um exemplo prático de correção de vulnerabilidade.
## 6. Métricas Operacionais e de Desempenho (Atividade 19)
* O cálculo de velocidade estimada da equipe (Story Points e Fibonacci).
* O diagnóstico simulado dos 4 indicadores DORA das práticas DevOps do grupo.
## 7. Conclusões e Aprendizados
* Breve parágrafo auto-avaliativo sobre os aprendizados práticos do grupo durante a disciplina.
🛠️ Prática Obrigatória: A Consolidação do Dossiê de Engenharia
Cenário: Organizando o repositório e a apresentação final do produto de software.
Como equipe de engenharia do projeto semestral de vocês:
- Reúnam-se para revisar todos os artefatos práticos produzidos individualmente ou coletivamente nas Atividades 11 a 19.
- Corrijam qualquer imperfeição ou feedback técnico anterior (ex: ajustar a sintaxe de um diagrama Mermaid, corrigir um endpoint Swagger com verbo HTTP incorreto ou consertar uma credencial vulnerável no docker-compose).
- Criem o arquivo unificado
Dossie_Engenharia_Fase_2.mdna pasta final de entregas. - Garantam que todos os diagramas Mermaid do documento final renderizem perfeitamente, usando aspas duplas nos nós contendo caracteres especiais ou parênteses, evitando bugs visuais.
📤 Instruções de Entrega (Microsoft Teams e GitHub)
Após estruturar o seu Dossiê Técnico Final Avançado:
- Salve o documento completo com o nome
Dossie_Engenharia_Fase_2.mdna pastaes-atv-20-projeto-final/na raiz do seu repositório Git público do grupo. - Certifique-se de realizar o commit final com uma mensagem profissional (Ex:
docs: consolidação do dossiê de engenharia fase 2). - Submeta o link do repositório final e a cópia em PDF do dossiê no Microsoft Teams para avaliação e agendamento da apresentação oral presencial para o professor e convidados.
💡 Checkpoint de Lógica
📊 Rubrica Formativa de Avaliação
| Critério de Avaliação | Insuficiente (0% - 40%) | Regular (41% - 70%) | Excelente (71% - 100%) |
|---|---|---|---|
| Consolidação do Dossiê de Engenharia Fase II | Faltam mais de 3 seções do dossiê ou com artefatos quebrados/desalinhados. | Consolida o documento de 7 seções mas sem padronização nos diagramas Mermaid. | Dossiê técnico profissional completo (`Dossie_Engenharia_Fase_2.md`) integrando UML, Arquitetura, Swagger, GitFlow, CI/CD, Docker, STRIDE e DORA. |
| Qualidade da Apresentação Oral & Portfólio | Apresentação informal sem demonstração técnica da arquitetura. | Apresenta o sistema mas sem demonstrar o funcionamento do pipeline ou Docker. | Apresentação executiva impecável demonstrando visão holística de produto, arquitetura de software e DevOps de ponta a ponta. |
| Entrega do Repositório Final | Entrega com arquivos avulsos fora do repositório público. | Entrega no GitHub mas sem a versão PDF anexada no Teams. | Submete `Dossie_Engenharia_Fase_2.md` na pasta `es-atv-20-projeto-final/` com links válidos e PDF submetido no Teams. |
📈 Atividade 19: Métricas de Software, Estimativas e DORA
Bem-vindo a mais uma etapa indispensável da sua formação em Engenharia de Software! Nas últimas semanas, focamos intensamente em aspectos técnicos: codificação, arquitetura, testes, infraestrutura e segurança. Hoje, assumiremos o papel de Gestores de TI e Líderes Técnicos (Tech Leads) para responder a uma das perguntas mais desafiadoras feitas pelos diretores de qualquer empresa: "Quando o sistema estará pronto e quão eficiente é a nossa equipe de engenharia?" ⏰💼
🖼️ Galeria de Projetos Integradores
Exemplos completos de projetos integradores desenvolvidos como exercício de aplicação prática de Engenharia de Software e Banco de Dados, com documentação final e diagramas de casos de uso.