🛠️ Atividades

🏆 Atividade 20: Projeto Final Avançado (Fase 2)

Parabéns! Você alcançou a reta final da disciplina de Engenharia de Software (Projetos II)! 🎓🚀

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

  1. 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).
  2. 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).
  3. 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:

  1. Reúnam-se para revisar todos os artefatos práticos produzidos individualmente ou coletivamente nas Atividades 11 a 19.
  2. 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).
  3. Criem o arquivo unificado Dossie_Engenharia_Fase_2.md na pasta final de entregas.
  4. 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:

  1. Salve o documento completo com o nome Dossie_Engenharia_Fase_2.md na pasta es-atv-20-projeto-final/ na raiz do seu repositório Git público do grupo.
  2. Certifique-se de realizar o commit final com uma mensagem profissional (Ex: docs: consolidação do dossiê de engenharia fase 2).
  3. 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

Importante:Reflexão Profissional e de Carreira: Ao final deste ciclo, qual o real valor de um Engenheiro de Software moderno que sabe modelar requisitos e processos de negócio (UML), arquitetar código limpo e desacoplado (MVC/Spring Boot), testar de forma automatizada (CI/CD) e orquestrar infraestrutura em nuvem de forma resiliente (Docker)? Como esse conjunto integrado de competências se traduz em vantagens competitivas em relação a um programador tradicional que apenas digita código bruto sem compreender arquitetura ou DevOps? (Resposta: O engenheiro completo ("T-Shaped") consegue enxergar a visão holística do produto. Ele não se limita a escrever linhas de código vulneráveis e isoladas; ele projeta sistemas seguros, escaláveis e altamente portáveis. Isso reduz custos operacionais drásticos para a empresa, elimina falhas críticas pós-deploys em produção e acelera a inovação operacional medida cientificamente pela DORA. Profissionais com essa visão de ponta a ponta são extremamente disputados por grandes corporações globais, assumindo papéis de liderança técnica como Tech Leads, Arquitetos de Software e CTOs). 🏆📈🧠

📊 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.
Copyright © 2026