本书全面系统地讲述了软件工程学的概念、原理和典型的方法学,并介绍了软件项目的管理技术。本书正文共13章,第1章是概述,第2章至第8章顺序讲述软件生命周期各阶段的任务、过程、结构化方法和工具,第9章至第12章分别讲述面向对象方法学引论、面向对象分析、面向对象设计和面向对象实现,第13章介绍软件项目管理。正文后有两个附录,分别讲述了用面向对象的方法和结构化方法开发两个软件的过程,对读者深入理解软件工程学很有帮助,也是上机实习的好材料。\r\n 本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供有一定实际经验的软件工作人员和需要开发应用软件的广大计算机用户阅读参考。
第一版前言\r\n修订版(第二版)前言\r\n第三版前言\r\n第四版前言\r\n第1章 软件工程学概述\r\n 1.1 软件危机\r\n 1.2 软件工程\r\n 1.3 软件生命周期\r\n 1.4 软件过程\r\n 1.5 小结\r\n 习题1 \r\n第2章 可行性研究\r\n 2.1 可行性研究的任务\r\n 2.2 可行性研究过程\r\n 2.3 系统流程图\r\n 2.4 数据流图\r\n 2.5 数据字典\r\n 2.6 成本/效益分析\r\n 2.7 小结\r\n 习题2\r\n第3章 需求分析\r\n 3.1 需求分析的任务\r\n 3.2 与用户沟通获取需求的方法\r\n 3.3 分析建模与规格说明\r\n 3.4 实体-联系图\r\n 3.5 数据规范化\r\n 3.6 状态转换图\r\n 3.7 其他图形工具\r\n 3.8 验证软件需求\r\n 3.9 小结\r\n 习题3\r\n第4章 形式化说明技术\r\n 4.1 概述\r\n 4.2 有穷状态机\r\n 4.3 Petri网\r\n 4.4 Z语言\r\n 4.5 小结\r\n 习题4 \r\n第5章 总体设计\r\n 5.1 设计过程\r\n 5.2 设计原理\r\n 5.3 启发规则\r\n 5.4 描绘软件结构的图形工具\r\n 5.5 面向数据流的设计方法\r\n 5.6 小结\r\n 习题5\r\n第6章 详细设计\r\n 6.1 结构程序设计\r\n 6.2 人机界面设计\r\n 6.3 过程设计的工具\r\n 6.4 面向数据结构的设计方法\r\n 6.5 程序复杂程度的定量度量\r\n 6.6 小结\r\n 习题6\r\n第7章 实现\r\n 7.1 编码\r\n 7.2 软件测试基础\r\n 7.3 单元测试\r\n 7.4 集成测试\r\n 7.5 确认测试\r\n 7.6 白盒测试技术\r\n 7.7 黑盒测试技术\r\n 7.8 调试\r\n 7.9.1 基本概念\r\n 7.10 小结\r\n 习题7\r\n第8章 维护\r\n 8.1 软件维护的定义\r\n 8.2 软件维护的特点\r\n 8.3 软件维护过程\r\n 8.4 软件的可维护性\r\n 8.5 预防性维护\r\n 8.6 软件再工程过程\r\n 8.7 小结\r\n 习题8\r\n第9章 面向对象方法学引论\r\n第10章 面向对象分析\r\n第11章 面向对象设计\r\n第12章 面向对象实现\r\n第13章 软件项目管理\r\n附录\r\n 附录A C++类库管理系统的分析与设计\r\n 附录B 一个汉字行编辑程序的设计\r\n参考文献
光阴荏苒, 本书第三版已经出版5年多了. 在此期间软件工程又有了很大发展, 为了跟踪学科发展方向, 更好地为广大读者服务, 编者对原书内容作了认真修改, 写出了第四版.
在保持原书的结构和篇幅基本不变的前提下, 第四版主要对原书内容作了下述修改:
(1)删掉了一些较陈旧的或较次要的内容. 删掉的内容主要有:Warnier程序设计方法, 程序设计语言概述, 程序设计途径, 日立预测法, 自动测试工具, COCOMO模型, 估算成本的标准值法, 软件管理工具.
(2)增加了一些较新颖的或较重要的内容. 增加的内容主要有:软件过程, 与用户沟通获取需求的方法, 形式化说明技术, 逐步求精, 人机界面设计, 回归测试, 控制结构测试, 预防性维护与软件再工程, 面向对象测试策略及设计测试用例的方法, COCOM02模型, 能力成熟度模型(CMM).
(3)用统一建模语言(UML)的概念与符号重新改写了讲述面向对象方法学的第9. 10. 11. 12章和附录A.
此外, 还对书中许多具体内容作了修改或更新, 对文字叙述作了进一步的加工和润色.
我的学生张劲松和张展新参与了附录A所述的C++类库管理系统的设计和实现工作, 张雯和张杰为本书出版做了许多具体工作. 谨在此向他们表示感谢!