A Engenharia de Software (ES) é uma área da
computação voltada à especificação,
desenvolvimento, manutenção e criação de
software, com a aplicação de tecnologias e
práticas de gerência de projetos e outras
disciplinas, visando organização, produtividade
e qualidade. Atualmente essas tecnologias e
práticas englobam linguagens de programação,
banco de dados, ferramentas, plataformas,
bibliotecas, padrões de projeto de software,
processo de software, qualidade de software.
Além disso, a ES deve oferecer mecanismos
para se planejar e gerenciar o processo de
desenvolvimento de um sistema computacional
de qualidade e que atenda às necessidades de
um requisitante de software. Os principais
fundamentos científicos para a ES envolvem o
uso de modelos abstratos e precisos que
permitem ao engenheiro especificar, além de: