目录 1
第1章 基本概念 1
1.1 软件及其特点 1
1.2 软件分类与代码 2
1.3 系统及软件完整性 6
1.3.1 确定和应用软件完整性级别的过程 6
1.3.2 系统完整性级别的确定 8
1.3.3 软件完整性级别的确定 9
1.3.4 软件完整性需求确定 11
1.4 软件危机 12
1.5 软件工程 13
1.6 软件工程的基本原理 14
1.6.1 基本原理概述 14
1.6.2 计划管理 15
1.6.3 阶段评审 15
1.6.4 配置管理 16
1.6.5 方法与工具 17
1.6.6 文档编制 18
1.6.7 人员组织 19
1.6.8 过程的不断改进 21
1.7 标准和标准化 24
1.8 软件工程标准和标准化 26
1.9 软件工程标准分类 30
1.9.1 软件工程标准分类概述 30
1.9.2 标准划分 30
1.9.3 软件工程划分 31
1.9.4 分类表 32
1.9.5 任务功能与软件生存周期之间的关系 34
第2章 国内外软件工程标准概况 37
2.1 美国及美军软件工程标准概况 37
2.3 我国软件工程标准概况 40
2.2 欧洲及欧空局软件工程标准概况 40
第3章 软件生存周期过程 46
3.1 基本概念 46
3.2 软件生存周期过程概况 46
3.3 生存周期基本过程 50
3.3.1 获取过程 50
3.3.2 供应过程 52
3.3.3 开发过程 54
3.3.4 运作过程 58
3.3.5 维护过程 58
3.4 生存周期支持过程 60
3.4.1 文档编制过程 60
3.4.2 配置管理过程 61
3.4.3 质量保证过程 62
3.4.4 验证过程 63
3.4.5 确认过程 64
3.4.6 联合评审过程 65
3.4.7 审核过程 66
3.4.8 问题解决过程 66
3.5 生存周期组织过程 67
3.5.1 管理过程 67
3.5.2 基础设施过程 68
3.5.3 改进过程 68
3.5.4 培训过程 69
第4章 软件生存周期过程指南 70
4.1 基本概念 70
4.2 GB/T 8566的实施策略 72
4.2.1 实施策略概述 72
4.2.2 制定实施计划 72
4.2.3 剪裁GB/T 8566 72
4.2.6 方法的制度化 74
4.2.4 开展试验性项目 74
4.2.5 方法的定型 74
4.3 GB/T 8566在项目中应用的考虑因素 75
4.3.1 考虑因素概述 75
4.3.2 系统生存周期模型 75
4.3.3 组织的策略与规程 75
4.3.4 系统特性 76
4.3.5 软件特性 76
4.3.6 软件维护策略 76
4.3.7 项目的生存周期模型 76
4.3.8 参与方的多样性 76
4.3.9 软件类型 77
4.3.10 项目规模 77
4.3.11 项目关键性 77
4.4 GB/T 8566在组织中的应用 78
4.3.12 技术风险 78
4.5 GB/T 8566在系统生存周期模型中的应用 79
4.5.1 系统生存周期模型 79
4.5.2 软件生存周期模型 79
4.5.3 在系统生存周期模型中的应用示例 80
4.5.4 需求判定活动 80
4.5.5 概念探索和定义活动 80
4.5.6 论证和确认活动 81
4.5.7 工程实施/开发活动 82
4.5.8 生产/制造活动 82
4.5.9 提交试用/销售活动 82
4.5.10 运作活动 82
4.5.11 维护和支持活动 83
4.5.12 退役活动 83
4.6 生存周期过程的输出 83
5.2 瀑布模型 87
5.1 基本概念 87
第5章 软件生存周期模型及其选择原则 87
5.3 增量模型 89
5.4 进化模型 91
5.5 基于软件包的生存周期模型 92
5.6 遗留系统维护生存周期模型 94
5.7 软件生存周期模型选择原则 95
第6章 系统需求分析与结构设计 97
6.1 概述 97
6.2 系统需求分析与结构设计的要求 98
6.3 系统需求分析与结构设计的输入、输出和主要工作内容 99
6.4 可行性分析(研究)报告 99
6.5 运行概念说明 103
6.6 系统/子系统需求规格说明 107
6.7 接口需求规格说明 115
6.8 系统/子系统设计(结构设计)说明 119
6.9 接口设计说明 126
第7章 软件需求分析 130
7.1 概述 130
7.2 软件需求分析的要求 132
7.3 软件需求分析的输入、输出和主要工作内容 132
7.4 软件需求规格说明编制指南 133
7.5 软件需求规格说明 136
7.6 数据需求说明 145
7.7 软件开发计划 147
7.8 开发进度月报 158
第8章 软件设计 161
8.1 概述 161
8.2 软件设计的要求 165
8.3 软件设计的输入、输出和主要工作内容 166
8.4 软件(结构)设计说明 167
8.5 数据库(顶层)设计说明 173
第9章 软件实现 179
9.1 概述 179
9.1.1 编程 179
9.1.2 软件调试 183
9.1.3 单元测试 187
9.2 软件实现的要求 190
9.3 软件实现的输入、输出和主要工作内容 191
9.4 单元测试过程指南 191
9.4.1 单元测试过程、阶段和活动概述 191
9.4.2 制定计划活动的输入、输出和任务 193
9.4.3 确定测试特性活动的输入、输出和任务 193
9.4.4 细化计划活动的输入、输出和任务 194
9.4.5 设计测试集活动的输入、输出和任务 194
9.4.7 执行测试规程活动的输入、输出和任务 195
9.4.6 实现设计活动的输入、输出和任务 195
9.4.8 核对终止情况活动的输入、输出和任务 196
9.4.9 评价活动的输入、 197
输出和任务 197
9.5 软件产品规格说明 198
9.6 软件用户手册 200
9.7 计算机操作手册 204
9.8 计算机编程手册 207
第10章 软件测试 210
10.1 概述 210
10.1.1 软件测试的目的与原则 210
10.1.2 测试方法分类 211
10.1.3 静态测试 212
10.1.4 动态测试 213
10.1.5 组装测试 215
10.1.6 确认测试 218
10.1.7 系统联试 220
10.1.8 回归测试 222
10.2 软件测试工具 223
10.2.1 软件测试工具分类 223
10.2.2 静态分析程序 224
10.2.3 程序插装器 224
10.2.4 测试数据生成器 225
10.2.5 符号执行器 225
10.2.6 变异测试工具 225
10.3 软件测试的要求 226
10.4 软件测试的输入、输出和主要工作内容 227
10.5 计算机软件测试文件编制指南 229
10.6 软件测试计划 238
10.7 软件测试说明 243
10.8 软件测试报告 247
11.1 概述 251
第11章 软件验收和交付 251
11.2 软件验收和交付的要求 252
11.3 软件验收和交付的输入、输出和主要工作内容 252
11.4 软件安装计划 253
11.5 软件移交计划 256
11.6 软件版本说明 260
11.7 软件项目总结报告 261
11.8 项目总结报告表 264
第12章 软件维护 266
12.1 概述 266
12.2 软件维护的要求 267
12.3 软件维护的输入、输出和主要工作内容 269
12.4 软件维护过程 269
12.5 软件维护的控制 271
12.6 软件维护的改进 271
12.7 软件维护人员的管理 273
第13章 软件配置管理 275
13.1 基本概念 275
13.1.1 配置管理项 275
13.1.2 配置管理 275
13.1.3 基线 276
13.1.4 软件库 276
13.2 配置管理的要求 277
13.3 配置管理组织与职责 278
13.4 配置标识 278
13.5 配置控制 279
13.5.1 访问控制 279
13.5.2 版本控制 280
13.5.3 更改控制 280
13.7 配置审计 281
13.6 配置状态记录与报告 281
13.8 软件配置管理计划 282
13.9 产品发布清单 288
13.10 配置变更申请表 289
13.11 配置问题报告单 289
13.12 配置变更和问题登录表 289
13.13 配置状态统计报告 290
13.14 配置审核报告 293
第14章 软件质量保证 294
14.1 概述 294
14.2 软件质量保证的要求 295
14.3 软件质量保证计划 296
14.4 问题报告单 301
14.5 B类问题解决记录 302
14.6 设计变更报告单 303
14.7 计划修订申请单 303
14.8 项目月报表 305
14.9 设计评审报告 306
14.10 设计评审人员名单 307
第15章 软件文档编制与管理 308
15.1 概述 308
15.2 软件文档编制与管理的要求 310
15.3 软件文档编制规程 311
15.4 文档编制策略 316
15.5 文档编制标准和指南 317
15.6 文档评审 318
第16章 软件工具和环境 320
16.1 基本概念 320
16.2 软件支持环境 322
16.2.1 一般要求 322
16.2.2 软件开发支持环境 323
16.2.3 软件开发支持环境的实施 324
16.2.4 在软件生存期支持机构中建立软件支持能力 326
16.3 CASE工具的评价与选择指南 327
16.3.1 评价与选择过程 327
16.3.2 启动过程 328
16.3.3 构造过程 330
16.3.4 评价过程 331
16.3.5 选择过程 333
16.3.6 工具的特性 334
16.4 CASE工具的采用指南 342
16.4.1 成功采用的关键因素 342
16.4.2 CASE采用过程 342
16.4.3 准备过程 344
16.4.4 评价与选择过程 345
16.4.5 试验项目过程 345
16.4.6 过渡过程 347
参考文献 349