Engenharia de software

 

 

Engenharia de software é um nome chique para uma atividade que, na verdade, é o segredo de um software bem feito.

Tecnicamente falando, o engenheiro de software faz o levantamento e a análise de requisitos, a modelagem, os testes e o controle da qualidade do software. Ele pode ou não também fazer o desenvolvimento; isso vai depender de como é estruturada a hierarquia da empresa em que ele trabalha.

Numa tradução bem livre, isso significa que os usuários e envolvidos no software (como gerência, por exemplo) vão descrever suas necessidades e a partir delas o engenheiro de software vai descrever o software que será feito.

Na prática, o que acontece é assim.

Um dia, um usuário (ou gerente, ou chefe) sente a necessidade de um software; essa necessidade ainda está na forma de sentimento; quer dizer, é como se ele estivesse visualizando uma fotografia de uma paisagem, ou uma cena de um filme, ou até experimentando uma sensação, um desejo de bem estar.

O que o engenheiro de software tem que fazer é tentar desenhar uma paisagem ou montar a cena de um filme que ele não está vendo. Como se não fosse complicado o suficiente, o usuário sempre parte do princípio de que o que ele quer é óbvio, então ele nunca começa pelas regras do negócio. Regras de negócio é algo que ele está careca de saber; para ele, é óbvio; é como descrever a cor do sol, ou o sabor do açúcar. E o que ele espera que o software faça, ou como ele espera que o software funcione, também é óbvio - para ele.

De um lado, uma fotografia; de outro, um papel em branco. No meio, o software - cuja única chance de nascer bem feito está em ser bem desenhado.