软件工程是不是教会不怎么会写程序的人开发软件?
编者的回答为肯定。但更确切来说,二者是包括但不等同的关系。
概括地说,软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件。因此,软件工程不仅教会不怎么会写程序的人开发软件,还授予人们软件维护的框架知识。
软件工程更多的是教会人们进行需求分析,将现实世界客观对象抽象过程建立模型,将现实问题如何转化为机器所能解决框架系统,通过系统性规范性可度量的途径应用于软件开发运行维护过程,也就是把工程应用于软件。因此软件工程教会不止开发而且包括后期维护。
软件工程是一个庞大的学科,所研究的问题是更加广泛普遍,应着眼于整个软件行业发展上的宏观问题,而非局限于具体某个软件程序的开发。
而对于一个复杂系统的开发,需要一套规范的是管理方法去管理这个开发的过程,而软件工程就是关于怎样管理开发维护过程的学科。