💻 MÓDULO: ENGENHARIA DE SOFTWARE
Seja muito bem-vindo ao módulo estratégico de Engenharia de Software. Aqui, você aprenderá as bases técnicas para transformar a "arte" de programar em uma disciplina de engenharia rigorosa, focada em desenvolvimento moderno com foco prático no ecossistema corporativo utilizando Java 17 e Spring Boot 3.5.
📊 Mapa de Conhecimento do Módulo
Explore os quatro grandes pilares que regem a engenharia moderna de sistemas e o seu ciclo de vida.
flowchart TD
subgraph SG_CICLO ["CICLO DE VIDA DO SOFTWARE"]
direction TB
F[🌳 FUNDAMENTOS] --> R[📋 REQUISITOS]
R --> M[📐 MODELAGEM UML & SPRING]
M --> G["🛡️ GERENCIAMENTO & QUALIDADE"]
end
subgraph SG_PILARES ["PILARES TÉCNICOS"]
direction LR
T1["⚡ AGILIDADE"] --- T2["📊 DIAGRAMAS"]
T2 --- T3["🧪 TESTES (JUNIT 5)"]
end
[!TIP] 💡 O Manto da Engenharia: Softwares não se fabricam, se projetam. O sucesso de um sistema complexo reside na robustez da sua arquitetura original e na clareza de sua documentação técnica. O domínio teórico-prático como Engenheiro de Software vai muito além de codificar: é planejar com base na qualidade e na manutenção inteligente.
📗 Plano de Ensino Detalhado
Este curso foi desenhado em uma sequência lógica, perfeitamente integrada à realidade exigida pelo mercado atual de desenvolvimento corporativo. Ao longo das Unidades, uniremos os conceitos fundamentais de Engenharia de Software aos artefatos concretos exigidos no design de bibliotecas e APIs modernas.
| Unidade | Temática Principal | Foco Prático (Stack Principal) |
|---|---|---|
| I. Fundamentos | Modelos de Processos, Ciclo de Vida e Ágil (Scrum/XP) | Contextualização de Projetos Corporativos e Ciclo de Entrega |
| II. Engenharia de Requisitos | Elicitação, Funcionais vs Não Funcionais, Histórias de Usuário | Validações com Jakarta Bean Validation (@Valid, etc.) no Contexto de APIs |
| III. Modelagem UML: Orientação a Objetos | Objetos, Classes, Casos de Uso (UML) e Atores | Engenharia O.O. moderna: Casos de Uso e injeção de dependências (Spring DI) |
| IV. Diagramas Estruturais e Dinâmicos | Diagramas de Sequência, Máquina de Estados e Atividades | Anatomia de Sistemas: do Fluxo REST ao Mapeamento de Classes e Interfaces |
| V. Gerenciamento, Qualidade e Evolução | SCM (Gestão de Configuração), Testes (TDD/BDD) e Evolução | Automação e Qualidade de Código com JUnit 5 e Mockito |
[!IMPORTANT] 📗 Atenção Estudante: O estudo deve seguir cronologicamente. Ao fim de cada Unidade (nos arquivos de "Considerações Finais"), você encontrará uma rigorosa bateria com Lista de Exercícios Objetivos e Desafios Práticos, desenhada para testar não apenas a base teórica, mas a sua habilidade em resolver problemas através da codificação.