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 SoftwareA 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 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.
Veja o material apresentado em aula ( arquivo em PDF).
Para saber mais:
- James D. Herbsleb. Beyond computer science. Proceedings of the 27th international conference on Software engineering 2005, Pages: 23 - 27.
- Boehm, B. "A view of 20th and 21st century software engineering", Proceeding of the 28th international conference on Software engineering 2006, Shanghai, China May 20 - 28, 2006.
- Brooks, Jr., Frederick P. No Silver Bullet - Essence and Accidents of Software Engineering, in The Mythical Man-Month.Essays on Software Engineering, Twentieth Anniversary Edition, Reading, MA: Addison-Wesley1995
- Finkelstein, A. Kramer, J. "Software engineering: a roadmap", in Finkelstein, A. (ed.) The Future of Software Engineering, ACM Press, 2002
- Shaw, M. Software Engineering Education: a roadmap.in Finkelstein, A. (ed.) The Future of Software Engineering, ACM Press, 2002
- Shaw, M. What Makes Good Research in Software Engineering. ETAPS, Grenoble, 2002.
Comentários
Também estou escrevendo textos sobre engenharia de software no meu site:
www.analistasi.com.br
http://portal.mec.gov.br/dmdocuments/convergencia_denominacao.pdf
Obs.: Tenho 14 anos a já desenvolvi vários softwares.
Desde já agradeço a atenção e colaboração, Obrigado!