技 术篇 3
第1章 软件工程概述 3
1.1软件及其特征 3
1.1.1软件的定义 3
1.1.2软件的特征 4
1.2软件危机 5
1.2.1软件危机的表现 5
1.2.2产生软件危机的原因 6
1.3软件工程 7
1.3.1软件工程的概念 7
1.3.2软件工程的基本原理 8
1.3.3软件工程的目标 9
1.4软件工程方法学 10
1.4.1结构化方法 10
1.4.2面向对象方法 11
1.4.3敏捷方法 13
1.5软件项目管理 14
1.5.1软件项目难于管理的原因 14
1.5.2软件项目管理的内容与知识体系 15
1.5.3软件项目管理的原则 16
思考题 19
第2章 软件开发过程模型 20
2.1软件生命周期 20
2.2软件过程 20
2.3软件开发过程 22
2.4软件开发过程模型 24
2.4.1瀑布模型 24
2.4.2 V模型 25
2.4.3原型模型 27
2.4.4螺旋模型 28
2.4.5增量模型 30
2.4.6 RAD模型 31
2.4.7软件包模型 33
2.4.8遗留系统维护模型 34
2.5软件开发过程模型选择 34
思考题 35
第3章 可行性研究 36
3.1可行性研究的含义 36
3.2可行性研究的内容 37
3.2.1技术可行性 37
3.2.2经济可行性 38
3.2.3社会可行性 39
3.3可行性研究的阶段 39
3.3.1机会研究 40
3.3.2初步可行性研究 41
3.3.3详细可行性研究 41
3.3.4项目评估决策 42
3.4成本/效益分析 42
3.4.1投资回收期 42
3.4.2投资收益率 45
3.5方案选择与决策 46
3.5.1确定型决策 46
3.5.2非确定型决策 47
3.6可行性研究报告的描述方法 49
3.6.1数据流图 49
3.6.2数据字典 52
思考题 54
第4章 需求分析 55
4.1需求分析概述 55
4.1.1需求与需求分析 55
4.1.2需求分析的特点 56
4.1.3需求分析的重要性 57
4.1.4需求分析的任务 58
4.2需求分析过程 58
4.2.1获取用户需求 58
4.2.2分析用户需求 59
4.2.3编写需求文档 60
4.2.4需求分析评审 60
4.3需求分析内容 61
4.4需求分析方法 62
4.4.1结构化方法 62
4.4.2面向对象方法 65
4.4.3原型方法 70
4.4.4用例建模 72
4.5需求分析变更 74
4.5.1需求变更的原因 75
4.5.2相应对策 75
4.6需求分析验证 76
4.6.1需求分析验证的方法 76
4.6.2需求分析验证的内容 77
4.7需求管理 77
4.7.1需求开发与需求管理的界限 77
4.7.2需求管理的主要活动 78
4.7.3需求管理的方法与手段 78
思考题 79
第5章 概要设计 80
5.1软件设计概述 80
5.2概要设计主要内容 81
5.2.1设计任务 81
5.2.2设计原则 81
5.2.3图形工具 84
5.2.4设计方法 85
5.2.5启发式设计策略 91
5.3接口设计 92
5.4概要设计与详细设计的衔接 93
思考题 94
第6章 详细设计 95
6.1设计任务 95
6.2结构程序设计 95
6.3表示工具 97
6.3.1流程图 97
6.3.2盒图 98
6.3.3问题分析图 99
6.3.4过程设计语言 100
6.3.5 IPO图 101
6.3.6判定表 102
6.3.7判定树 103
6.4面向数据结构的设计方法 103
6.4.1 Jackson系统开发方法 103
6.4.2 Warnier方法 106
6.5程序复杂性度量 106
思考题 108
第7章 软件实现 110
7.1输入设计 110
7.1.1设计原则 110
7.1.2输入方式 111
7.1.3输入格式 111
7.1.4输入校验 112
7.2输出设计 113
7.2.1设计内容 113
7.2.2报表方式输出 114
7.2.3图形方式输出 115
7.3屏幕界面设计 116
7.3.1设计规则 116
7.3.2设计要素 117
7.3.3设计内容 118
7.4程序设计语言 121
7.4.1语言分类 121
7.4.2语言特性 122
7.4.3语言选择 124
7.5编程风格 125
7.5.1源程序文档化 125
7.5.2标识符命名 127
7.5.3语句构造与程序书写 128
7.6软件调试 129
7.7程序效率 132
7.8程序安全性 133
7.8.1冗余程序设计 134
7.8.2防错程序设计 134
思考题 135
第8章 软件测试 136
8.1软件测试概述 136
8.1.1软件测试过程 136
8.1.2软件测试原则 137
8.2软件测试方法 138
8.2.1静态测试与动态测试 138
8.2.2黑盒测试与白盒测试 140
8.3测试用例设计技术 142
8.3.1黑盒测试用例设计 142
8.3.2白盒测试用例设计 144
8.4单元测试 145
8.4.1测试环境 146
8.4.2测试内容 146
8.5集成测试 148
8.5.1测试过程 148
8.5.2集成策略 149
8.6确认测试 151
8.6.1测试步骤 151
8.6.2测试内容 152
8.7系统测试 154
8.7.1特点与方法 154
8.7.2外部接口测试 155
8.7.3其他测试类型 155
思考题 156
第9章 软件维护 158
9.1软件维护概述 158
9.1.1软件维护的内容 158
9.1.2软件维护的分类 158
9.1.3软件维护的要求 159
9.2软件维护过程模型 161
9.2.1快速修改模型 161
9.2.2 Boehm模型 161
9.2.3 IEEE模型 162
9.2.4迭代增强模型 163
9.2.5维护模型分析 163
9.3软件维护技术 164
9.4软件维护过程 165
9.5软件维护控制 171
9.6软件维护组织管理 172
9.6.1组织模式 172
9.6.2人员管理 173
9.7软件再工程 174
9.7.1认识软件再工程 174
9.7.2软件再工程技术 175
思考题 176
管 理篇 179
第10章 进度计划管理 179
10.1软件项目进度计划概述 179
10.1.1进度计划的作用 179
10.1.2进度计划管理的过程 180
10.1.3进度计划管理注意事项 181
10.2进度计划编制方法 181
10.2.1甘特图法 181
10.2.2持续时间压缩法 184
10.3进度计划编制 186
10.3.1任务的并行性 186
10.3.2进度计划的表达形式 187
10.3.3进度计划编制过程 189
10.4进度计划控制 190
10.4.1进度计划控制的难点 190
10.4.2进度计划控制的手段 191
思考题 193
第11章质量管理 194
11.1软件质量与软件质量管理 194
11.1.1软件质量 194
11.1.2软件质量管理 195
11.2软件质量策划 196
11.3软件质量计划 196
11.4软件质量保证 198
11.4.1质量保证活动 199
11.4.2质量保证关键技术 200
11.5软件质量控制 201
11.5.1质量控制模型 202
11.5.2质量控制的方法与技术 203
11.6软件质量改进 204
11.7软件评审 205
11.7.1评审内容 206
11.7.2评审方法 207
11.8 ISO 9000质量管理体系 208
11.8.1 ISO 9000族标准的组成 208
11.8.2 ISO 9000在软件组织的实施 209
思考题 209
第12章 成本管理 211
12.1软件成本分析 211
12.1.1软件成本特点 211
12.1.2软件成本构成 211
12.1.3软件成本影响因素 213
12.2软件资源计划 214
12.3软件成本估算 216
12.3.1代码行法软件规模估算 216
12.3.2功能点分析法软件成本估算 217
12.4软件成本预算 221
12.5软件成本控制 222
12.5.1成本控制流程 222
12.5.2成本控制措施 223
12.5.3成本控制方法 224
思考题 226
第13章 配置管理 227
13.1配置管理概述 227
13.1.1配置管理需求分析 227
13.1.2配置管理的作用 228
13.2配置管理的相关概念 229
13.2.1软件配置项 229
13.2.2基线 231
13.2.3版本 232
13.2.4配置数据库 233
13.3配置管理的组织 233
13.4配置管理的主要活动 234
13.4.1配置标识 235
13.4.2版本控制 236
13.4.3变更控制 237
13.4.4状态报告 240
13.4.5配置审核 241
思考题 242
第14章 文档管理 243
14.1文档管理概述 243
14.1.1文档管理的概念 243
14.1.2文档与软件规模 243
14.2文档的分类与作用 244
14.2.1文档分类 244
14.2.2文档作用 245
14.3文档编制要求 246
14.4文档编制过程 248
14.5文档编制 252
14.5.1编制策略 252
14.5.2质量等级 253
14.5.3质量要求 254
14.5.4书写风格 255
思考题 257
第15章 人力资源管理 258
15.1软件项目人力资源的特征 258
15.2人力资源管理的主要内容 260
15.3人员的组织与分工 261
15.3.1项目组的组织形式 261
15.3.2各阶段人员需求 263
15.4人力资源计划 264
15.4.1人力资源计划理论基础 264
15.4.2人力资源计划实例 265
15.5项目经理 267
15.5.1项目经理的技能要求 267
15.5.2项目经理的素质与职责 268
15.6团队建设 269
15.6.1团队建设的重要性 269
15.6.2团队建设过程 270
15.6.3打造高效团队的策略 271
思考题 272
实 验篇 275
实验1可行性分析报告 275
实验2软件需求规格说明 277
实验3软件结构设计说明 279
实验4软件详细设计说明 281
实验5软件测试报告 283
实验6软件产品规格说明 285
实验7软件开发计划 287
实验8软件质量保证计划 289
实验9软件配置管理计划 291
实验10软件用户手册 293
参考文献 295