conceito básico de engenharia de software
Conceitos Básicos
De acordo com Sommerville (2004, p.5) a engenharia de software é uma disciplina da engenharia que se ocupa de todos os aspectos da produção de software, desde os estágios iniciais de especificação até a manutenção do sistema em ambiente de produção.
Mesmo quando existem restrições, impedimentos ou algo que atrapalhe o andamento, a engenharia de software sempre procura aplicar a melhor solução para o problema abordado. Sommerville (2004, p.5) deixa isso bem detalhado quando afirma:
Disciplina da engenharia: os engenheiros fazem os produtos funcionarem. Eles aplicam teorias, métodos e ferramentas nas situações apropriadas, de modo seletivo; e sempre procuram descobrir soluções para os problemas, mesmo quando não existem teorias aplicáveis e métodos de apoio. Os engenheiros também reconhecem que precisam trabalhar de acordo com as restrições organizacionais e financeiras e, assim, procuram soluções que estejam dentro dessas restrições. (SOMMERVILLE, 2004, págs. 5 e 6).
De acordo com Pressman (2006, p. 17), a engenharia de software é uma tecnologia dividida em camadas (processo, métodos e ferramentas), vide figura 1, onde qualquer abordagem da engenharia deve se apoiar num compromisso organizacional com a qualidade. Esse três elementos possibilitam ao gerente do projeto o controle do processo de desenvolvimento de software e oferece ao profissional uma base para a construção de um software com qualidade.
Figura 1: Engenharia de Software em camadas.
Fonte: Pressman 2006 p.17.
De acordo com Pressman (2006, p.17), o alicerce da engenharia de software é a camada de processo. O processo de engenharia de é o adesivo que mantém unidas as camadas de tecnologia e permite o desenvolvimento racional e oportuno de software de computador.
Segundo Sommerville (2004, p.15) os métodos são os meios organizados de produzir software. Eles incluem sugestões sobre o processo a ser seguido, as notações a serem