A Engenharia de Software é uma área de engenharia e da computação, especialmente voltada à especificação, desenvolvimento, manutenção e criação de software, com a aplicação de tecnologias e práticas de gestão de projetos e outras disciplinas, digirida à organização, produtividade e qualidade.
É uma disciplina de engenharia que se ocupa de todos os aspetos da produção de software desde as fases iniciais da especificação do sistema até à manutenção do sistema após a sua utilização.
Utiliza teorias e métodos apropriados para resolver problemas tendo em conta os constrangimentos organizacionais e financeiros.
A engenharia toca em todos os aspetos da produção de software, não apenas processo técnico de desenvolvimento. Também a gestão de projetos e o desenvolvimento de ferramentas, métodos, etc. para apoiar a produção de software.