⚙️ Engenharia de Software

Cap 01: Introdução e Natureza do Software

Seja muito bem-vindo ao módulo estratégico de Engenharia de Software da TecProExpress. 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. 🛡️🧩

🎯 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.

UnidadeTemática PrincipalFoco Prático (Stack Principal)
I. FundamentosModelos de Processos e ÁgilCiclo de Entrega Corporativo
II. RequisitosElicitação e Histórias de UsuárioValidações com Jakarta Bean Validation
III. ModelagemObjetos e Casos de Uso (UML)Injeção de dependências (Spring DI)
IV. DiagramasSequência e AtividadesFluxo REST e Mapeamento de Classes
V. QualidadeSCM 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ísticaImpacto na Engenharia
Engenharia, não ManufaturaO custo está no design e na arquitetura, não na "produção" de cópias.
Não se DesgastaO software não quebra fisicamente; ele degrada por falta de manutenção ou bugs lógicos.
Complexidade CrescenteToda 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.

Atenção:Dica de Performance Corporativa: "Software não se fabrica, se projeta." O sucesso de um projeto corporativo reside na clareza da arquitetura original. Sem isso, refatorar um monólito engessado é um pesadelo técnico e 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

Importante:Reflexão Profissional: Quando você estuda Spring Boot, você está se preparando para atuar nos eixos de APIs Cloud que alimentarão tanto WebApps (React/Angular) quanto Mobile (Flutter/Kotlin). Você está pronto para ser o motor dessa engrenagem? 🚀

🧪 Quiz do Capítulo

Testou os seus conhecimentos? Responda as questões abaixo para validar o que você aprendeu neste capítulo:

Copyright © 2026