书籍详情
软件工程过程:原理、方法与工具
作者:张剑波 著
出版社:电子工业出版社
出版时间:2019-08-01
ISBN:9787121366611
定价:¥49.80
购买这本书可以去
内容简介
本书以IEEE计算机协会2014年2月发布的SWEBOK V3为蓝本,以软件工程过程、模型和方法为主线,围绕其中8个主要的软件工程实践活动,详细介绍了在软件工程领域被广泛接受的知识域。全书分10章,主要内容包括:软件工程过程、软件工程模型与方法、软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件项目管理、软件质量等。本书是高等学校软件工程及计算机相关专业的研究生、高年级本科生教材,也适合软件工程专业人员及希望未来从事软件工程工作的其他专业人员阅读。
作者简介
张剑波,副教授,地图制图学与地理信息工程专业博士,从1997年至今一直在中国地质大学(武汉)信息工程学院任教。教学方面,主讲课程包括《软件工程概论》、《数据结构与算法》等专业基础课程,主持和参与多项省级和校级教学研究项目。主要著作出版情况:软件测试:原理、方法与管理,科学出版社,2015;软件体系结构与设计实用教程,科学出版社,2016。
目录
目 录
第1章 软件工程过程 1
1.1 软件过程定义 1
1.1.1 软件过程管理 2
1.1.2 软件过程框架 2
1.2 软件生命周期 5
1.2.1 软件过程分类 6
1.2.2 软件生命周期模型 8
1.2.3 软件过程适应 18
1.2.4 实践考虑 18
1.3 软件过程评估与改进 18
1.3.1 软件过程评估与改进模型 19
1.3.2 软件过程评估方法 19
1.3.3 连续式和阶段式软件过程评估 19
1.4 软件过程工具 32
习题1 33
第2章 软件工程模型与方法 34
2.1 建模 34
2.1.1 建模的原则 34
2.1.2 模型的性质与表达 35
2.1.3 语法、语义和语用 35
2.1.4 前置条件、后置条件和不变量 36
2.2 模型的类型 36
2.3 模型分析 37
2.4 软件工程方法 38
2.4.1 启发式方法 38
2.4.2 形式化方法 39
2.4.3 原型方法 39
2.4.4 敏捷方法 40
习题2 40
第3章 软件需求 41
3.1 基本概念 41
3.1.1 软件需求定义 41
3.1.2 软件需求层次 42
3.1.3 软件需求分类 43
3.1.4 需求工程 45
3.1.5 启动步骤 46
3.2 需求获取 48
3.2.1 软件需求来源 49
3.2.2 需求获取技术 50
3.3 软件需求分析 54
3.3.1 分析模型概述 55
3.3.2 建立分析模型 57
3.3.3 分析技术 59
3.3.4 架构设计 60
3.3.5 需求协商 61
3.4 软件需求规格说明 61
3.4.1 意义 62
3.4.2 分类 62
3.4.3 描述方法 63
3.5 软件需求确认 65
3.5.1 软件需求评审 65
3.5.2 原型法 67
3.5.3 软件需求测试 68
3.5.4 验收测试 68
3.6 软件需求管理 69
3.6.1 需求基线 70
3.6.2 需求跟踪 72
3.6.3 需求变更 74
3.7 软件需求工具 76
习题3 77
第4章 软件设计 78
4.1 软件设计基础 78
4.1.1 软件设计过程 81
4.1.2 软件设计原则 82
4.2 软件架构设计 86
4.2.1 软件架构风格 87
4.2.2 软件架构设计方法 88
4.2.3 软件架构设计步骤 92
4.3 用户界面设计 95
4.3.1 通用用户界面设计原则 96
4.3.2 用户交互模式设计 98
4.3.3 用户界面设计流程 99
4.3.4 用户界面设计方法 100
4.4 软件设计质量 102
4.4.1 软件设计质量的意义 102
4.4.2 软件设计质量的评估 104
4.5 软件设计符号 105
4.5.1 结构描述 106
4.5.2 行为描述 115
4.6 软件设计策略和方法 124
4.7 软件设计工具 125
习题4 126
第5章 软件构造 127
5.1 软件构造基础 127
5.1.1 复杂性最小化 127
5.1.2 多维视角的软件构造 127
5.2 软件构造过程 128
5.2.1 生命周期模型 128
5.2.2 构造语言 129
5.2.3 开发者测试 131
5.2.4 重构 132
5.3 软件构造管理 133
5.3.1 变更管理 133
5.3.2 版本控制 133
5.4 软件构造技术 134
5.5 软件构造工具 136
习题5 137
第6章 软件测试 138
6.1 软件测试基础 139
6.1.1 软件测试目的 139
6.1.2 软件测试定义 139
6.2 软件测试级别 140
6.2.1 测试阶段级别 140
6.2.2 测试对象级别 144
6.3 软件测试技术 147
6.3.1 静态测试 147
6.3.2 动态测试 150
6.3.3 白盒测试 150
6.3.4 黑盒测试 153
6.3.5 自动化测试 158
6.4 软件测试过程 159
6.4.1 测试计划阶段 160
6.4.2 测试设计阶段 163
6.4.3 测试执行阶段 165
6.4.4 测试监控阶段 166
6.4.5 测试结束阶段 167
6.5 软件测试工具 168
6.5.1 静态分析工具 168
6.5.2 黑盒测试工具 168
6.5.3 单元测试工具 169
6.5.4 负载测试工具 169
习题6 170
第7章 软件维护 171
7.1 软件维护基本概念 171
7.1.1 软件维护定义 172
7.1.2 软件维护特点 172
7.1.3 软件维护目的 173
7.1.4 软件维护组织 173
7.2 软件维护关键问题 174
7.2.1 软件维护技术问题 174
7.2.2 软件维护管理问题 175
7.2.3 软件维护成本预算 176
7.2.4 软件的可维护性 177
7.3 软件维护过程 179
7.3.1 软件维护过程概述 179
7.3.2 软件维护活动 180
7.4 软件维护技术 181
7.4.1 程序理解 181
7.4.2 再工程 182
7.4.3 逆向工程 184
7.4.4 迁移 185
7.4.5 退役 186
7.5 软件维护工具 186
习题7 187
第8章 软件配置管理 188
8.1 软件配置管理的过程管理 189
8.1.1 软件配置管理的组织背景 189
8.1.2 软件配置管理涉及的人员 189
8.1.3 软件配置管理计划 190
8.1.4 软件配置管理的监管 191
8.2 软件配置标识 192
8.2.1 被管控项目的识别 192
8.2.2 软件库 199
8.3 软件配置控制 201
8.3.1 软件变更请求 201
8.3.2 跟踪并控制变更 202
8.3.3 软件配置偏差和弃用 203
8.4 软件配置状态统计 203
8.5 软件配置审计 204
8.5.1 配置库审计 205
8.5.2 基线审计 205
8.6 软件构建和发布管理 206
8.6.1 软件构建 206
8.6.2 软件发布 207
8.7 软件配置管理工具 208
习题8 208
第9章 软件项目管理 209
9.1 软件项目管理概述 210
9.1.1 项目与软件项目 210
9.1.2 项目管理 210
9.1.3 软件生命周期与项目管理 211
9.2 软件项目启动 212
9.2.1 软件项目启动任务 212
9.2.2 软件项目可行性分析 214
9.2.3 制订项目任务书 215
9.3 软件项目计划 216
9.3.1 软件范围计划 217
9.3.2 项目进度计划 217
9.3.3 项目成本计划 222
9.3.4 项目风险计划 228
9.3.5 项目合同计划 231
9.3.6 人员与沟通计划 232
9.4 软件项目执行控制 235
9.4.1 软件项目控制方法 235
9.4.2 软件项目控制过程 236
9.5 软件项目收尾 237
9.5.1 软件项目收尾概述 237
9.5.2 软件项目收尾过程 237
9.5.3 软件项目验收 238
9.6 软件项目管理工具 238
习题9 239
第10章 软件质量 240
10.1 软件质量概述 241
10.1.1 软件质量概念 241
10.1.2 软件质量成本 242
10.1.3 软件质量模型 242
10.2 软件质量管理过程 245
10.2.1 软件质量计划 245
10.2.2 软件质量保证 246
10.2.3 软件质量控制 248
10.2.4 软件过程改进 249
10.3 软件质量度量 249
10.3.1 软件质量度量概述 250
10.3.2 软件项目质量度量 251
10.3.3 软件产品质量度量 252
10.3.4 软件过程质量度量 253
10.3.5 软件缺陷度量 255
10.4 软件质量工具 256
习题10 256
参考文献 257
第1章 软件工程过程 1
1.1 软件过程定义 1
1.1.1 软件过程管理 2
1.1.2 软件过程框架 2
1.2 软件生命周期 5
1.2.1 软件过程分类 6
1.2.2 软件生命周期模型 8
1.2.3 软件过程适应 18
1.2.4 实践考虑 18
1.3 软件过程评估与改进 18
1.3.1 软件过程评估与改进模型 19
1.3.2 软件过程评估方法 19
1.3.3 连续式和阶段式软件过程评估 19
1.4 软件过程工具 32
习题1 33
第2章 软件工程模型与方法 34
2.1 建模 34
2.1.1 建模的原则 34
2.1.2 模型的性质与表达 35
2.1.3 语法、语义和语用 35
2.1.4 前置条件、后置条件和不变量 36
2.2 模型的类型 36
2.3 模型分析 37
2.4 软件工程方法 38
2.4.1 启发式方法 38
2.4.2 形式化方法 39
2.4.3 原型方法 39
2.4.4 敏捷方法 40
习题2 40
第3章 软件需求 41
3.1 基本概念 41
3.1.1 软件需求定义 41
3.1.2 软件需求层次 42
3.1.3 软件需求分类 43
3.1.4 需求工程 45
3.1.5 启动步骤 46
3.2 需求获取 48
3.2.1 软件需求来源 49
3.2.2 需求获取技术 50
3.3 软件需求分析 54
3.3.1 分析模型概述 55
3.3.2 建立分析模型 57
3.3.3 分析技术 59
3.3.4 架构设计 60
3.3.5 需求协商 61
3.4 软件需求规格说明 61
3.4.1 意义 62
3.4.2 分类 62
3.4.3 描述方法 63
3.5 软件需求确认 65
3.5.1 软件需求评审 65
3.5.2 原型法 67
3.5.3 软件需求测试 68
3.5.4 验收测试 68
3.6 软件需求管理 69
3.6.1 需求基线 70
3.6.2 需求跟踪 72
3.6.3 需求变更 74
3.7 软件需求工具 76
习题3 77
第4章 软件设计 78
4.1 软件设计基础 78
4.1.1 软件设计过程 81
4.1.2 软件设计原则 82
4.2 软件架构设计 86
4.2.1 软件架构风格 87
4.2.2 软件架构设计方法 88
4.2.3 软件架构设计步骤 92
4.3 用户界面设计 95
4.3.1 通用用户界面设计原则 96
4.3.2 用户交互模式设计 98
4.3.3 用户界面设计流程 99
4.3.4 用户界面设计方法 100
4.4 软件设计质量 102
4.4.1 软件设计质量的意义 102
4.4.2 软件设计质量的评估 104
4.5 软件设计符号 105
4.5.1 结构描述 106
4.5.2 行为描述 115
4.6 软件设计策略和方法 124
4.7 软件设计工具 125
习题4 126
第5章 软件构造 127
5.1 软件构造基础 127
5.1.1 复杂性最小化 127
5.1.2 多维视角的软件构造 127
5.2 软件构造过程 128
5.2.1 生命周期模型 128
5.2.2 构造语言 129
5.2.3 开发者测试 131
5.2.4 重构 132
5.3 软件构造管理 133
5.3.1 变更管理 133
5.3.2 版本控制 133
5.4 软件构造技术 134
5.5 软件构造工具 136
习题5 137
第6章 软件测试 138
6.1 软件测试基础 139
6.1.1 软件测试目的 139
6.1.2 软件测试定义 139
6.2 软件测试级别 140
6.2.1 测试阶段级别 140
6.2.2 测试对象级别 144
6.3 软件测试技术 147
6.3.1 静态测试 147
6.3.2 动态测试 150
6.3.3 白盒测试 150
6.3.4 黑盒测试 153
6.3.5 自动化测试 158
6.4 软件测试过程 159
6.4.1 测试计划阶段 160
6.4.2 测试设计阶段 163
6.4.3 测试执行阶段 165
6.4.4 测试监控阶段 166
6.4.5 测试结束阶段 167
6.5 软件测试工具 168
6.5.1 静态分析工具 168
6.5.2 黑盒测试工具 168
6.5.3 单元测试工具 169
6.5.4 负载测试工具 169
习题6 170
第7章 软件维护 171
7.1 软件维护基本概念 171
7.1.1 软件维护定义 172
7.1.2 软件维护特点 172
7.1.3 软件维护目的 173
7.1.4 软件维护组织 173
7.2 软件维护关键问题 174
7.2.1 软件维护技术问题 174
7.2.2 软件维护管理问题 175
7.2.3 软件维护成本预算 176
7.2.4 软件的可维护性 177
7.3 软件维护过程 179
7.3.1 软件维护过程概述 179
7.3.2 软件维护活动 180
7.4 软件维护技术 181
7.4.1 程序理解 181
7.4.2 再工程 182
7.4.3 逆向工程 184
7.4.4 迁移 185
7.4.5 退役 186
7.5 软件维护工具 186
习题7 187
第8章 软件配置管理 188
8.1 软件配置管理的过程管理 189
8.1.1 软件配置管理的组织背景 189
8.1.2 软件配置管理涉及的人员 189
8.1.3 软件配置管理计划 190
8.1.4 软件配置管理的监管 191
8.2 软件配置标识 192
8.2.1 被管控项目的识别 192
8.2.2 软件库 199
8.3 软件配置控制 201
8.3.1 软件变更请求 201
8.3.2 跟踪并控制变更 202
8.3.3 软件配置偏差和弃用 203
8.4 软件配置状态统计 203
8.5 软件配置审计 204
8.5.1 配置库审计 205
8.5.2 基线审计 205
8.6 软件构建和发布管理 206
8.6.1 软件构建 206
8.6.2 软件发布 207
8.7 软件配置管理工具 208
习题8 208
第9章 软件项目管理 209
9.1 软件项目管理概述 210
9.1.1 项目与软件项目 210
9.1.2 项目管理 210
9.1.3 软件生命周期与项目管理 211
9.2 软件项目启动 212
9.2.1 软件项目启动任务 212
9.2.2 软件项目可行性分析 214
9.2.3 制订项目任务书 215
9.3 软件项目计划 216
9.3.1 软件范围计划 217
9.3.2 项目进度计划 217
9.3.3 项目成本计划 222
9.3.4 项目风险计划 228
9.3.5 项目合同计划 231
9.3.6 人员与沟通计划 232
9.4 软件项目执行控制 235
9.4.1 软件项目控制方法 235
9.4.2 软件项目控制过程 236
9.5 软件项目收尾 237
9.5.1 软件项目收尾概述 237
9.5.2 软件项目收尾过程 237
9.5.3 软件项目验收 238
9.6 软件项目管理工具 238
习题9 239
第10章 软件质量 240
10.1 软件质量概述 241
10.1.1 软件质量概念 241
10.1.2 软件质量成本 242
10.1.3 软件质量模型 242
10.2 软件质量管理过程 245
10.2.1 软件质量计划 245
10.2.2 软件质量保证 246
10.2.3 软件质量控制 248
10.2.4 软件过程改进 249
10.3 软件质量度量 249
10.3.1 软件质量度量概述 250
10.3.2 软件项目质量度量 251
10.3.3 软件产品质量度量 252
10.3.4 软件过程质量度量 253
10.3.5 软件缺陷度量 255
10.4 软件质量工具 256
习题10 256
参考文献 257
猜您喜欢