🏢 Conceitos Básicos e Aplicações de Software
O software pode ser definido como um segmento de instruções processadas pelo computador para executar tarefas específicas. Mais do que apenas código, os softwares comandam o funcionamento do hardware, fornecendo a lógica necessária para sua operação.
[!NOTE] 📗 Definição Profissional: "Software de computador é o produto que profissionais de software desenvolvem e ao qual dão suporte no longo prazo. Abrange programas executáveis em um computador de qualquer porte ou arquitetura..." (Pressman e Maxim, 2016).
📊 Características Fundamentais do Software
Diferente de produtos físicos (hardware), o software, especialmente no contexto de aplicações robustas em Java, possui três características peculiares que definem como ele deve ser desenhado e gerenciado:
| Característica | Descrição / Impacto no Ecossistema Atual |
|---|---|
| Engenharia, não Manufatura | Diferente de uma linha de montagem, os custos do software estão no design e na arquitetura. Em Spring Boot, por exemplo, definir bem os Beans custa esforço intelectual, não material. |
| O software não se desgasta | Hardware falha por poeira ou calor. O software falha por Bugs lógicos, acoplamento excessivo ou requisitos mal definidos durante seu ciclo de vida. |
| Construção sob Encomenda | Embora busquemos reutilizar componentes (como bibliotecas do Spring Data ou Spring Security), toda regra de negócio corporativa exige alto grau de personalização. |
"Software é tanto um produto quanto um veículo que distribui um produto." — Fonte: Pressman e Maxim (2016, p. 3).