A Engenharia de software é uma área ampla e trata todos os aspectos da criação de um software: Criação, gestão, análise, desenvolvimento e manutenção.
De acordo com o SWEBOK versão 2004 as áreas de conhecimento são:
- Requisitos de software
- Projeto de software
- Desenvolvimento
- Testes
- Manutenção
- Gerência da configuração
- Gerência de engenharia
- Processos de Engenharia de Software
- Ferramentas case e Métodos de Engenharia de Software
- Qualidade de software
Conforme Pressman, a Engenharia de Software (ES) é uma tecnologia em camadas. Sendo base de todas essas camadas o foco na qualidade do software desenvolvido.
Podemos dizer que a engenharia tem como base 3 pilares:
- Processos
- Métodos
- Ferramentas
Como podemos perceber a Engenharia de software é uma área de amplitude horizontal que engloba varias verticais.