软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。 软件工程包括两方面内容:软件开发技术和软件项目管理。 软件开发技术包括软件开发方法学、软件工具和软件工程环境。 软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划等。 软件工程是六十年代末为了解决软件危机而出现的一门学科,一般来讲它包含开发技术与管理技术。而软件过程是随作软件工程的开展,特别是近年来系ISO900系列与CMM方法的实践而逐渐时髦的一个概念。
它基于质量是做出来的,而非检查出来的现代质量理论。在规范化的软件生产中,离开了软件过程是不可思议的。
区别在于“工程”和“过程”的不同,软件工程是指将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件过程。
工程着重应用,软件工程一定是软件过程的一个“产出”,一个个性化的实例!工程也是由过程组成的。