Você está na página 1de 5

Engenharia de Software

Introdução

Antes de avançarmos qualquer comentário sobre a Engenharia de Software é importante comentar


alguns conceitos sobre software e o seu desenvolvimento.

Softaware

Considera-se software ao conjunto de programas de computador e a documentação associada. O


software pode ser desenvolvido para um cliente específico ou para um mercado geral.

Na literatura existem várias definições para o termo software, mas o mais importante é perceber
que não se trata apenas de linhas de código escritas por um programador para executar em um
computador e realizar uma tarefa específica, pois, este abrange também a sua documentação tal
como: manuais de utilizador, especificações, planos de testes unitários entre outros.

Desenvolvimento de software

É o acto de elaborar e implementar um sistema computacional, isto é, transformar a necessidade


de um utilizador ou de um mercado em um produto software.

O desenvolvimento de software relaciona-se com a aplicação dos processos da Engenharia de


Software combinados com a pesquisa das necessidades do produto.

Engenharia de Software

É a disciplina da Engenharia relacionada com todos aspectos da produção de software, desde os


estágios iniciais de especificação do sistema até a sua manutenção, depois de entrar em operação.

É possível encontrar outras definições como a que diz:


Trata-se de uma área do conhecimento da informática voltada para a especificação,
desenvolvimento e manutenção de sistemas de software aplicando tecnologias e práticas da ciência
de computação.

Surgimento da Engenharia de Software

Nos anos 40, quando se iniciou a evolução dos sistemas computacionais, grande parte dos esforços
e consequentes custos eram concentrados no desenvolvimento de harware, devido as limitações e
dificuldades encontradas na época.

Nos anos 50, quando a tecnologia de hardware foi sendo dominada, as preocupações voltaram-se
ao desenvolvimento de sistemas operacionais e daí, surgiram as primeiras realizações destes das
chamadas linguagens de programação de alto nível como o FORTRAN e COBOL e os respectivos
compiladores.

A tendência da época foi de poupar o utilizador de um computador de conhecer profundamente


questões relacionadas ao funcionamento interno da máquina, permitindo que este pudesse
concentrar seus esforços na solução de problemas computacionais em lugar de se preocupar com
problemas relacionados com hardware.

Com o surgimento dos sistemas operativos com características de multi-programação nos anos 60,
a utilidade e a eficácia dos sistemas computacionais cresceu consideravelmente. O que contribuiu
de forma bastante significativa para a queda dos preços do hardware.

Com este crescimento, veio a necessidade de desenvolver sistemas de software grandes para
substituir os pequenos aplicativos utilizados na época.

Desta necessidade nasceu um grande problema, porque os desenvolvedores não tinham


experiência suficiente para tais sistemas e nem os métodos utilizados na época eram adequados. O
que ficou caracterizado como “a crise do software”.

Mas por outro lado, foi esta crise que permitiu o nascimento do termo ”engenharia de software”
criado por um grupo de estudos da OTAN(NATO Software Engineering Conference) em 1967.

É verdade que actualmente tem-se verificado uma constante queda no preço dos equipamentos,
mas os custos de desenvolvimento constituem uma grande percentagem nos custos de
implementação de um sistema computacional, isto é devido ao facto de o seu desenvolvimento
envolver um grande número de pessoas e em prazos relactivamente longos.

A nível industrial:

Com o crescimento aumento dos de software (em relação aos de hardware) no custo total de um
sistema computacional, o processo de desenvolvimento de software tornou-se um item de
fundamental importância na produção de tais sistemas.

A nível industrial, algumas questões que caracterizam as preocupações com o processo de


desenvolvimento são colocadas frequentemente, das quais podem-se destacar as seguintes:

 Porquê o software demora tanto a ser concluído?

 Porquê os custos de produção têm sido tão elevados?

 Porquê não é possível detectar todos os erros antes que o software seja entregue ao cliente?

 Porquê é tão difícil medir o progresso durante o processo de desenvolvimento de software?

Estas são algumas das questões que a Engenharia de Software pode ajudar a resolver. Enquanto
não for possível responder definitivamente às questões acima, é possível descrever alguns
problemas que as originam. Um deles consiste no facto de o desenvolvimento ser efectuado na
base alguns princípios que na maioria dos casos não constituem realidade, conhecido como Mitos
de Software.

Mitos de software

Mito 1: se a equipa dispõe de um manual repleto de padrões e procedimentos de desenvolvimento


de software, então a equipa está apta a bem encaminhar o desenvolvimento.

Realidade 1: isto não constitui realidade pois, é necessário aplicar efectivamente os


conhecimentos apresentados no manual, e é necessário que o que consta no manual reflita a
moderna prática de desenvolvimento de software.
Mito 2: a obtenção de computadores de última geração implica que a equipa tem a sua disposição
ferramentas de desenvolvimento de software de última geração.

Realidade 2: isto também nem sempre constitui verdade, pois, ter a sua disposição o último
modelo de computador pode ser bastante confortável para o desenvolvedor, mas isto não garante
em momento nenhum a qualidade de software desenvolvido. É bom ter em mente que deve ser
dada prioridade a ferramentas para automação do desenvolvimento.

Mito 3: se o desenvolvimento de software estiver atrasado, basta aumentar o tamanho da equipa


para honrar o prazo de desenvolvimento.

Realidade 3: isto também dificilmente vai ocorrer na realidade pois, acrescentar pessoas em um
projecto atrasado vai torna-lo ainda mais atrasado porque a introdução de novas pessoas numa
equipa em fase de condução de um projecto vai requerer uma etapa de treinamento dos novos
elementos da equipa. Para isto, serão utilizados elementos que estão envolvidos directamente no
desenvolvimento, o que vai consequentemente, implicar em maiores atrasos.

Mito 4: uma descrição breve e geral dos requisitos de software é o suficiente para iniciar o seu
projecto… maiores detalhes podem ser definidos posteriormente.

Realidade 4: este é um dos problemas que pode conduzir ao fracasso. O cliente deve procurar
definir o mais precisamente possível todos requisitos importantes.

Mito 5: os requisitos mudam continuamente durante o desenvolvimento, mas isto não é problema,
pois o software é flexível e pode aceitar facilmente alterações.

Realidade 5: é verdade que o software é flexível, entretanto, não existe software, por mais flexível
que seja, que suporte alterações significativas sem que aumente os seus custos de desenvolvimento.

Mito 6: após edição do programa e sua colocação em funcionamento, o trabalho está terminado.
Realidade 6: o que ocorre na realidade é completamente diferente disto. Segundo dados obtidos a
partir de experiências anteriores, 50% a 70% do esforço de desenvolvimento de um software é
despendido após a sua entrega ao cliente.

Mito 7: enquanto o programa não entrar em funcionamento é impossível avaliar a sua qualidade.

Realidade 7: na realidade, a preocupação com garantia de qualidade do software deve fazer parte
de todas as etapas de desenvolvimento, sendo que o fim de cada uma destas etapas, os documentos
devem ser revisados observando critérios de qualidade.

Mito 8: o produto a ser entregue no fim do projecto é o programa funcionando.

Realidade 8: o programa em funcionamento é um dos componentes do software, além do


programa, um bom projecto deve ser caracterizado pela produção de um conjunto importante de
documentos.

Você também pode gostar