第一章 软件工程概述 1
1.1 软件工程的概念 1
1.2 软件生命周期 4
1.3 软件开发模型 7
1.4 小结 15
第二章 可行性研究 18
2.1 可行性研究的任务 18
2.2 可行性研究的步骤 19
2.3 可行性研究的CASE工具(即数据流图和数据字典) 20
2.4 成本/效益分析 28
2.5 可行性研究报告 30
2.6 小结 32
第三章 需求分析 34
3.1 需求分析的任务 34
3.2 需求分析的步骤 37
3.3 需求分析的方法和原则 39
3.4 需求分析的管理 51
3.5 需求分析报告书写规范 53
3.6 小结 58
第四章 总体设计 60
4.1 总体设计的任务 60
4.2 总体设计的过程 61
4.3 总体设计的原理 62
4.4 总体设计的方法 66
4.5 小结 70
第五章 详细设计 73
5.1 详细设计的概念 73
5.2 结构程序设计的方法和工具 73
5.3 面向数据结构的设计方法 84
5.4 详细设计规格说明与复审 93
5.5 界面设计 94
5.6 软件体系结构 99
5.7 小结 109
第六章 软件编码 111
6.1 软件编码的语言工具 111
6.2 程序设计语言的特点与选择 112
6.3 编码风格 113
6.4 软件效率 117
6.5 程序复杂度的概念及度量方法 118
6.6 小结 120
第七章 软件测试 122
7.1 软件测试的基本概念 122
7.2 软件测试的步骤 124
7.3 软件测试的方法 130
7.4 软件的调试 136
7.5 小结 138
第八章 软件维护 139
8.1 软件维护的概念 139
8.2 软件维护的特点 142
8.3 软件维护的工作流程 143
8.4 软件的可维护性 147
8.5 软件再工程 152
8.6 小结 155
第九章 面向对象的软件工程 158
9.1 传统软件开发与面向对象方法 158
9.2 面向对象基础知识 159
9.3 面向对象分析(OOA) 163
9.4 面向对象设计(OOD) 167
9.5 面向对象程序设计(OOP) 169
9.6 统一建模语言UML 198
9.7 面向对象系统的技术度量 207
9.8 小结 209
第十章 软件项目管理 211
10.1 软件项目管理的概念 211
10.2 软件项目规划与估算 216
10.3 软件项目风险管理 230
10.4 软件项目的组织 236
10.5 软件配置管理 242
10.6 小结 248