Engenharia de Software é uma área da computação voltada à especificação,
desenvolvimento e manutenção de sistemas de
software, com 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, processos e a questão da
qualidade de software.
Os fundamentos
científicos para a engenharia de software envolvem o uso de
modelos abstratos e precisos que permitem ao engenheiro especificar, projetar, implementar e manter sistemas de software, avaliando e garantindo suas qualidades. Além disso, a engenharia de software deve oferecer mecanismos para se planejar e gerenciar o processo de
desenvolvimento de um
sistema computacional.