Engenharia de software
Engenharia de software é a criação e a utilização de sólidos princípios de engenharia, a fim de obter softwares econômicos que sejam confiáveis e que trabalhem de forma eficientemente em máquinas reais. (PRESSMAN, 2006). Pode ser definida como uma aplicação de uma abordagem sistemática, disciplinada e quantificável, para o desenvolvimento, operação e manutenção do software; isto é, a aplicação da engenharia ao software. (PRESSMAN, 2006).
2.1.1 Conceitos
A engenharia de software é uma tecnologia em camadas. Conforme a Figura 1, qualquer abordagem de engenharia (inclusive a engenharia de software) deve-se, apoiar num compromisso organizacional com a qualidade, gestão de qualidade total e Seis Sigmas(Six Sigmas) (PRESSMAN, 2006). As filosofias análogas levam à cultura de um processo contínuo de aperfeiçoamento, e é essa cultura que em última análise, leva ao desenvolvimento de abordagens cada vez mais efetivas para engenharia de software. A base em que se apóia é o foco na qualidade.(PRESSMAN, 2006) O alicerce da engenharia de software é a camada de processo. O processo de engenharia de software é o adesivo que mantém unidas as camadas de tecnologias e permite o desenvolvimento racional e oportuno de softwares de computador. O processo define um arcabouço que deve ser estabelecido para a efetiva utilização da tecnologia de engenharia de software. Os processos de software formam a base para o controle gerencial de projetos de software e estabelece o contexto no qual os métodos técnicos são aplicados, os produtos de trabalhos (modelos, documentos, dados, relatórios, formulários etc.) são produzidos, os marcos são estabelecidos, a qualidade é assegurada e as modificações são adequadamente geridas.(PRESSMAN, 2006)
Figura 1 - Engenharia de Software em Camadas Os métodos de engenharia de software fornecem a técnica de “como fazer” para construir softwares. Eles abrangem um amplo conjunto de tarefas que