instruções que, quando executadas, produzem a função e o desempenho desejados,
estruturas de dados que permitam que as informações relativas ao problema a resolver
sejam manipuladas adequadamente e a documentação necessária para um melhor
entendimento da sua operação e uso".
Entretanto, no contexto da Engenharia de Software, o software deve ser visto como
um produto a ser "vendido". É importante dar esta ênfase, diferenciando os "programas"
que são concebidos num contexto mais restrito, onde o usuário ou "cliente" é o próprio
autor. No caso destes programas, a documentação associada é pequena ou (na maior parte
das vezes) inexistente e a preocupação com a existência de erros de execução não é um
fator maior, considerando que o principal usuário é o próprio autor do programa, este não
terá dificuldades, em princípio, na detecção e correção de um eventual "bug". Além do
aspecto da correção, outras boas características não são também objeto de preocupação
como a portabilidade, a flexibilidade e a possibilidade de reutilização.
Um produto de software (ou software, como vamos chamar ao longo do curso), por
outro lado, é sistematicamente destinado ao uso por pessoas outras que os seus
programadores. Os eventuais usuários podem, ainda, ter formações e experiências
diferentes, o que significa que uma grande preocupação no que diz respeito ao
desenvolvimento do produto deve ser a sua interface, reforçada com uma documentação
rica em informações para que todos os recursos oferecidos possam ser explorados de
forma eficiente. Ainda, os produtos de software devem passar normalmente por uma
exaustiva bateria de testes, dado que os usuários não estarão interessados (e nem terão
capacidade) de detectar e corrigir os eventuais erros de execução.
Resumindo, um programa desenvolvido para resolver um dado problema e um
produto de software destinado à resolução do mesmo problema são duas coisas totalmente
diferentes. É óbvio que o esforço e o conseqüente custo associado ao desenvolvimento de
um produto serão muito superiores.
Nenhum comentário:
Postar um comentário