Cap 01: Introdução e Natureza do Software
🎯 Objetivo do Módulo
Ao final desta jornada, você não será apenas um programador, mas um arquiteto capaz de planejar, modelar e garantir a qualidade de sistemas complexos que sustentam grandes corporações.
🏢 O Cenário Corporativo (TecProExpress)
Imagine que você acaba de ser contratado como Engenheiro de Software Pleno na TecProExpress. A empresa possui um sistema legado de 15 anos que está "morrendo" (lento e difícil de manter) e precisa ser migrado para uma arquitetura de Microsserviços na nuvem.
"Seu desafio não é apenas escrever código novo, mas entender o ciclo de vida desse software, extrair os requisitos do negócio e garantir que a nova versão seja sustentável pelos próximos 20 anos."
📊 Mapa de Conhecimento do Módulo
Explore os quatro grandes pilares que regem a engenharia moderna de sistemas na TecProExpress.
📗 Cronograma de Excelência
Este curso foi desenhado em uma sequência lógica, integrada à realidade do mercado de desenvolvimento corporativo.
| Unidade | Temática Principal | Foco Prático (Stack Principal) |
|---|---|---|
| I. Fundamentos | Modelos de Processos e Ágil | Ciclo de Entrega Corporativo |
| II. Requisitos | Elicitação e Histórias de Usuário | Validações com Jakarta Bean Validation |
| III. Modelagem | Objetos e Casos de Uso (UML) | Injeção de dependências (Spring DI) |
| IV. Diagramas | Sequência e Atividades | Fluxo REST e Mapeamento de Classes |
| V. Qualidade | SCM e Testes (TDD/BDD) | Automação com JUnit 5 e Mockito |
🧠 Fundamentos: O que é Software?
Software de computador é o produto que profissionais desenvolvem e ao qual dão suporte no longo prazo. Diferente de produtos físicos, o software possui características únicas:
| Característica | Impacto na Engenharia |
|---|---|
| Engenharia, não Manufatura | O custo está no design e na arquitetura, não na "produção" de cópias. |
| Não se Desgasta | O software não quebra fisicamente; ele degrada por falta de manutenção ou bugs lógicos. |
| Complexidade Crescente | Toda regra de negócio nova aumenta a chance de "Código Espaguete" se não houver padrão. |
📊 Evolução Histórica (Do Cascata ao Cloud-Native)
🔍 Detalhamento Técnico: Por que a Engenharia é Vital?
Sommerville (2011) destaca que a sociedade moderna depende de softwares para infraestruturas vitais. A falha de uma API de pagamentos por falta de tratamento de exceções (ex: @ExceptionHandler) pode causar colapso financeiro.
🏺 O Desafio dos Sistemas Legados (Legacy)
Na TecProExpress, você encontrará sistemas antigos (Java EE, Cobol) que sustentam o faturamento. Eles são chamados de "sistemas de herança".
- 🛠️ Arquiteturas Rígidas: Difíceis de integrar com APIs REST.
- 🍝 Código Espaguete: Funções acopladas que violam o SOLID.
- ❌ Falta de Testes: Ausência de cobertura de JUnit.
🔄 A Natureza Mutante
A engenharia moderna na TecProExpress é tracionada por:
💡 Checkpoint de Lógica
🧪 Quiz do Capítulo
Testou os seus conhecimentos? Responda as questões abaixo para validar o que você aprendeu neste capítulo: