segunda-feira, 23 de novembro de 2009

ENGENHARIA DE SOFTWARE

O QUE É SOFTWARE?

segundo o dicionário aurélio:

• aquilo que pode ser executado por um
• equipamento, no caso o hardware;
• um produto comercializado que consiste em um sistema de rotinas e funções.

uma definição mais didática:

• instruções (programas de computador) que, quando executadas produzem a função e o desempenho desejados;
• estruturas de dados que possibilitam que os programas manipulem adequadamente a informação;
• documentos que descrevem a operação e o uso dos programas.

O QUE É ENGENHARIA?

Vejamos duas definções:

Engenharia é a atividade em que os conhecimentos científicos e técnicos e a experiência prática são aplicados para exploração dos recursos naturais, para o projeto, construção e operação de objetos úteis (Origem: Wikipédia, a enciclopédia livre).

Engenharia é a aplicação de métodos científicos ou empíricos à utilização dos recursos da natureza em benefício do ser humano (Dicionário Houaiss)

Essas definições não são suficientes para designar tudo aquilo que envolve engenharia. Para entender melhor o que é engenharia, propomos que você faça uma pesquisa para responder as seguintes questões:

• Qual a diferença entre o desenvolvimento de um produto de forma artesanal e o desenvolvimento seguindo os princípios de engenharia? Em outras palavras, qual a diferença entre o trabalho de um artesão e o de um engenheiro?

• Qual a diferença entre cozinhar e fazer engenharia de alimentos?

• O que as diferentes engenharias (civil, mecânica, elétrica/eletrônica, química, ambiental, etc.) têm em comum?

Uma engenharia não é uma atividade específica. Um engenheiro é aquele que tem o conhecimento científico e a experiência para desempenhar uma ou mais das diversas atividades da engenharia.

Além disso, a atividade de engenharia não pode prescindir da garantia da qualidade do produto, da conformidade às normas, e do planejamento e gerenciamento de custos e prazos.

Objetivos da Engenharia de Software

A engenharia de software tem por objetivos a aplicação de teoria, modelos, formalismos e técnicas e ferramentas da ciência da computação e áreas afins para a produção (ou desenvolvimento) sistemática de software.

Associado ao desenvolvimento, é preciso também aplicar métodos, técnicas e ferramentas para o gerenciamento do processo de produção. Isto envolve planejamento de custos e prazos, montagem da equipe e garantia de qualidade do produto e do processo.

Finalmente, a engenharia de software visa a produção da documentação formal do produto, do processo, dos critérios qualidade e dos manuais de usuários finais.

Definições de Engenharia de Software

Os autores apresentam diversas definições para engenharia de software. Vamos apresentar três que consideramos complementares.

• A engenharia de software é a disciplina envolvida com a produção e manutenção sistemática de software que são desenvolvidos com custos e prazos estimados.

• Disciplina que aborda a construção de software complexo - com muitas partes interconectadas e diferentes versões - por uma equipe de analistas, projetistas, programadores, gerentes, "testadores", etc.

• O estabelecimento e uso de princípios de engenharia para a produção economicamente viável de software de qualidade que funcione em máquinas reais.
A primeira destas definições enfatiza que a engenharia visa não apenas o desenvolvimento, mas também a manutenção do produto. Além disso, ela ressalta a importância da estimativa de custos e prazos de desenvolvimento.

A segunda definição enfatiza a complexidade do produto e do processo. O software é formado por diversos componentes interconectados e o seu desenvolvimento é realizado por uma equipe com diferentes funções e especialidades, cujo trabalho precisa ser gerenciado.

A terceira ressalta que o desenvolvimento de software deve seguir os princípios comuns a todas as engenharias e deve visar a qualidade.

Nenhum comentário:

Postar um comentário