1.1 软件工程的产生 1
第1章 绪论 1
1.2 软件生存周期理论 8
1.3 瀑布模型 16
1.4 开发工具 18
本章小结 19
思考题 20
第2章 软件定义 21
2.1 可行性研究 21
2.2 成本效益分析 25
2.3 需求定义 27
本章小结 31
2.4 初步拟定项目计划 31
思考题 32
第3章 需求分析 33
3.1 需求分析概述 33
3.2 结构化分析方法 36
3.3 数据流图的绘制 40
3.4 编制数据字典 43
3.5 加工逻辑的分析与表达 45
3.6 原型技术 50
3.7 需求验证与评审 50
本章小结 51
思考题 51
4.1 软件设计概述 52
第4章 软件设计 52
4.2 软件设计的概念与原理 54
4.3 软件结构设计原则 62
4.4 结构化设计方法 66
4.5 系统包装 72
4.6 软件详细设计概述 74
4.7 软件详细设计表示法 76
本章小结 80
思考题 80
第5章 编程与测试 82
5.1 开发工具的选择 82
5.2 程序设计风格 87
5.3 软件测试的概念 91
5.4 软件测试的方法 92
5.5 测试用例设计 93
5.6 测试过程 102
5.7 调试 108
本章小结 110
思考题 111
第6章 软件维护 112
6.1 软件维护的内容 112
6.2 软件维护的特点 113
6.3 软件维护的实施 114
6.4 软件的可维护性 118
本章小结 121
思考题 122
7.1 软件工程方法论 123
第7章 面向对象的方法学引论 123
7.2 软件工程的新途径 126
7.3 面向对象的基本概念 129
7.4 几种主要面向对象方法的比较 132
7.5 统一建模语言UML 134
本章小结 143
思考题 143
第8章 面向对象的需求获取 145
8.1 用例图 145
8.2 活动图 149
8.3 状态图 151
8.4 获取需求的主要活动 154
本章小结 159
8.5 获取需求的阶段性成果 159
思考题 160
第9章 基于UML的面向对象分析过程 161
9.1 分析建模 161
9.2 对象交互 162
9.3 类图 166
9.4 包 175
9.5 分析阶段的活动 177
9.6 分析阶段的阶段性成果 181
本章小结 181
思考题 182
10.1 什么是面向对象的设计 183
第10章 面向对象的设计 183
10.2 面向对象的设计原则 185
10.3 配置图 188
10.4 中间件 189
10.5 基于UML的面向对象设计过程 190
10.6 面向对象的设计结果 200
10.7 设计人员 202
本章小结 202
思考题 203
第11章 面向对象的实现 204
11.1 选择编程语言 204
11.2 程序设计风格 208
11.4 实现阶段的工作流程 210
11.3 实现阶段的人员分工 210
11.5 实现阶段的阶段性成果 212
本章小结 213
思考题 214
第12章 面向对象的测试 215
12.1 面向对象测试的特点 215
12.2 面向对象的测试策略 216
12.3 测试阶段的阶段性成果 217
12.4 测试人员的职责分工 218
12.5 测试步骤 219
本章小结 221
思考题 222
参考文献 223