O que é Software?
Antes de abordarmos a definição de Engenharia de Software, é importante compreender o que significa Software, conforme definido por alguns dos autores da área.
1️⃣ PRESSMAN e MAXIM (2021, p. 53) apresentam a seguinte definição:
Software consiste em: (1) instruções (programas de computador) que, quando executadas, fornecem características, funções e desempenho desejados; (2) estruturas de dados que possibilitam aos programas manipular informações adequadamente; e (3) informação descritiva, tanto na forma impressa quanto na virtual, descrevendo a operação e o uso dos programas.
2️⃣ HIRAMA (2012, p. 16), em suas Questões mais frequentes (FAQ), questiona:
Software é somente programa de computador? Em certo sentido, sim. Mas não é tudo. Na Engenharia de Software consideram-se “softwares” os artefatos resultantes das atividades de levantamento de requisitos, análise de requisitos, projeto, codificação, testes e outras dentro do seu ciclo de vida. Assim, são considerados também todos os modelos e documentos produzidos.
3️⃣ SOMMERVILLE (2019, p. 5) nos diz:
Muitas pessoas acham que software é apenas mais um sinônimo para programa de computador. No entanto, quando falamos sobre engenharia de software, não estamos falando apenas dos programas em si. mas também de toda a documentação, bibliotecas. websites de apoio e dados de configuração associados — elementos necessários para que esses programas sejam úteis.
A partir das abordagens apresentadas, conclui-se que o software não se limita a programas de computador. Ele envolve uma combinação de componentes que incluem:
- Programas que executam tarefas específicas.
- Estruturas de dados que permitem o armazenamento, organização e processamento eficiente das informações.
- Documentação e demais artefatos que complementam e garantem a utilidade e a eficácia dos programas.
Portanto, software é um conjunto de programas que, quando executados, fornecem a funcionalidade e desempenho desejados (SOMMERVILLE, 2012), incluindo a documentação que descreve sua operação e uso, além das estruturas de dados que permitem aos programas manipularem adequadamente os dados (PRESSMAN; MAXIM, 2021).
Sob a perspectiva da engenharia de software, o software também engloba todos os artefatos e documentação produzidos ao longo de seu ciclo de vida de desenvolvimento (HIRAMA, 2012).