Инженерия программирования (англ. software engineering, в терминах автоматизированных систем – разработка программного обеспечения) – инженерное дело, творческая техническая деятельность. Инженерия опирается на специфические методы и методики, в том числе эвристические. Инженерия изучает различные методы и инструментальные средства с точки зрения определенных целей, то есть имеет очевидную практическую направленность. Основная идея инженерии программирования в том, что разработка программного обеспечения является формальным процессом, который можно изучать, выражать в методиках и совершенствовать. Главное различие между технологией программирования и программной инженерией заключается в способе рассмотрения и систематизации материала. В технологии программирования акцент делается на изучении процессов разработки программ (технологических процессов) в порядке их прохождения – методы и инструментальные средства разработки программ используются в этих процессах (их применение и образуют технологические процессы). В программной инженерии изучаются, прежде всего, методы и инструментальные средства разработки программ с точки зрения достижения определенных целей – они могут использоваться в разных технологических процессах (и в разных технологиях программирования). Как эти методы и средства образуют технологические процессы – вопрос второстепенный.
[Камаев В. А., Костерин В. В. Основные термины и определения. Технологии программирования. Факультет электроники и вычислительной техники (ФЭВТ) (ВолгГТУ). (Электронный ресурс). Режим доступа: http:// fevt.ru /, свободный.]