Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

⏳ História da Engenharia de Software

A Engenharia de Software é definida como o "estabelecimento e o emprego de sólidos princípios de engenharia para obter software de maneira econômica, que seja confiável e funcione de forma eficiente" (Bauer, 1969).

Fundamentalmente, baseia-se em métodos sistemáticos para o desenvolvimento de soluções computacionais. A ausência desses princípios leva ao que conhecemos como "Código Espaguete", algo terrível em ecossistemas corporativos modernos.


📊 Evolução Histórica (Do Cascata ao Cloud-Native)

timeline
    title Marcos da Engenharia de Software
    1968 : Conferência da OTAN (Nascimento do Termo)
    1970 : Crise do Software (Falta de métodos)
    1990 : Orientação a Objetos : Ascensão do Java e padrões UML
    2000 : Manifesto Ágil : Scrum, XP
    2010 : Cloud & Microservices : Spring Boot e DevOps

⚖️ Por que a Engenharia de Software é Vital?

Sommerville (2011) destaca motivos fundamentais para a aplicação rigorosa da disciplina, especialmente quando desenvolvemos arquiteturas em camadas (como os típicos Controllers, Services e Repositories em Java):

NecessidadeDescrição / Impacto Prático
Dependência SocialA sociedade moderna depende de softwares em bancos e infraestruturas vitais. A falha de uma API de pagamentos por falta de tratamento de exceções (ex: @ExceptionHandler global) gera colapso.
Custo-BenefícioO maior custo de um sistema reside na sua Manutenção e Evolução. Desenvolver uma API mal estruturada é comprovadamente mais caro do que planejar adequadamente utilizando Design Patterns.

[!CAUTION] 💡 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.