概述
本章概括介绍软件工程的历史发展和基本原理,讨论IEEE和ACM最新提出的软件工程知识体系和软件工程职业道德规范。
书中讲了软件工程是为了解决开发成本效益和软件质量的问题而产生的,而软件是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。软件分为通用软件和定制软件。软件的特性有四点:复杂的、不可见的、不断变化的、是定制的而不是通过已有构件组装而成的。软件的发展有四个阶段:20世纪50-60年代、20世纪70年代、20世纪80年代、20世纪90年代至今。软件的发展面临着软件危机。软件工程是将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即将工程化应用到软件上。软件工程以关注软件质量为目标,由过程、方法和工具三个要素组成。计算机辅助软件工程是一组工具和方法的集合,CASE系统可以分为工具、工作台和环境3个层次。SWEBOK项目的目的是为软件工程学科的边界提供一致确认的特征,为支持该学科的知识体系提供指导。在SWEBOK中软件工程知识体系被划分为10个知识域:软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量。每一个软件工程从业人员都应该遵守软件工程职业道德规范。