图书介绍
计算机科学丛书 软件工程导论 原书第4版pdf电子书版本下载
- (美)弗兰克·徐(Frank Tsui),(美)奥兰多·卡拉姆(Orlando Karam),(美)芭芭拉·博纳尔(Barbara Bernal)著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111607236
- 出版时间:2018
- 标注页数:236页
- 文件大小:41MB
- 文件页数:250页
- 主题词:软件工程-高等学校-教材
PDF下载
下载说明
计算机科学丛书 软件工程导论 原书第4版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 创建一个程序 1
1.1 一个简单的问题 1
1.1.1 决策 1
1.1.2 功能需求 2
1.1.3 非功能需求 3
1.1.4 设计约束 3
1.1.5 设计决策 4
1.2 测试 4
1.3 估算工作量 5
1.4 实现 6
1.4.1 关于实现的几个要点 6
1.4.2 基本设计 7
1.4.3 使用JUnit进行单元测试 8
1.4.4 StringSorter的实现 8
1.4.5 用户界面 12
1.5 总结 14
1.6 复习题 14
1.7 练习题 15
1.8 参考文献和建议阅读 15
第2章 构建一个系统 16
2.1 构建一个系统的特征 16
2.1.1 规模和复杂度 16
2.1.2 开发和支持的技术考虑 17
2.1.3 开发和支持的非技术考虑 19
2.2 系统构建示例 20
2.2.1 薪资管理系统需求 21
2.2.2 设计薪资管理系统 22
2.2.3 薪资管理系统编码和单元测试 23
2.2.4 薪资管理系统的集成和功能测试 24
2.2.5 发布薪资管理系统 24
2.2.6 支持和维护 25
2.3 协调工作 25
2.3.1 过程 25
2.3.2 产品 26
2.3.3 人员 26
2.4 总结 26
2.5 复习题 27
2.6 练习题 27
2.7 参考文献和建议阅读 27
第3章 工程化软件 28
3.1 软件失败的示例和特点 28
3.1.1 项目失败 28
3.1.2 软件产品失效 29
3.1.3 协调和其他关注点 30
3.2 软件工程 30
3.2.1 什么是软件工程 30
3.2.2 软件工程的定义 31
3.2.3 软件工程与软件的相关性 31
3.3 软件工程职业与道德规范 32
3.3.1 软件工程道德准则 32
3.3.2 职业行为 33
3.4 软件工程的原则 34
3.4.1 早期由Davis提出的软件工程原则 34
3.4.2 更现代的Royce原则 35
3.4.3 Wasserman提出的软件工程基础概念 36
3.5 总结 37
3.6 复习题 37
3.7 练习题 37
3.8 参考文献和建议阅读 38
第4章 软件过程模型 39
4.1 软件过程 39
4.1.1 软件过程模型的目标 39
4.1.2 “最简单”的过程模型 40
4.2 传统过程模型 40
4.2.1 瀑布模型 40
4.2.2 主程序员制团队方法 41
4.2.3 增量模型 41
4.2.4 螺旋模型 43
4.3 一个更加现代的过程 44
4.3.1 Rational统一过程框架的一般基础 44
4.3.2 RUP的阶段 44
4.4 进入和退出标准 46
4.4.1 进入标准 47
4.4.2 退出标准 47
4.5 过程评估模型 48
4.5.1 SEI的能力成熟度模型 48
4.5.2 SEI的能力成熟度集成模型 50
4.6 过程定义和通信 55
4.7 总结 55
4.8 复习题 56
4.9 练习题 56
4.10 参考文献和建议阅读 56
第5章 新兴过程方法 58
5.1 什么是敏捷过程 58
5.2 为什么使用敏捷过程 59
5.3 一些过程方法 59
5.3.1 极限编程 60
5.3.2 水晶系列方法 63
5.3.3 敏捷统一过程 65
5.3.4 Scrum 66
5.3.5 看板方法:一个新增的敏捷方法 67
5.3.6 开源软件开发 68
5.3.7 过程总结 69
5.4 过程的选择 70
5.4.1 每一种过程更适用的项目和环境 70
5.4.2 敏捷过程的主要风险和缺点 71
5.4.3 敏捷过程的主要优点 71
5.5 总结 71
5.6 复习题 71
5.7 练习题 72
5.8 参考文献和建议阅读 72
第6章 需求工程 73
6.1 需求处理 73
6.1.1 需求处理的准备 73
6.1.2 需求工程过程 74
6.2 需求获取与收集 75
6.2.1 获取高层次的需求 76
6.2.2 获取详细的需求 77
6.3 需求分析 79
6.3.1 通过业务流进行需求分析和聚类 79
6.3.2 通过面向对象用例进行需求分析和聚类 80
6.3.3 通过面向视点的需求定义进行需求分析和聚类 82
6.3.4 需求分析与排序 82
6.3.5 需求可追踪性 84
6.4 需求定义、原型化和审查 84
6.5 需求规约与需求协商 87
6.6 总结 88
6.7 复习题 88
6.8 练习题 89
6.9 参考文献和建议阅读 89
第7章 设计:架构与方法论 91
7.1 设计简介 91
7.2 架构设计 92
7.2.1 什么是软件架构 92
7.2.2 视图与视角 92
7.2.3 元架构知识:风格、模式、策略和参考架构 93
7.2.4 基于网络的Web参考架构——REST 97
7.3 详细设计 98
7.3.1 功能分解 98
7.3.2 关系型数据库设计 100
7.3.3 大数据设计 103
7.3.4 面向对象设计和UML 104
7.3.5 用户界面设计 108
7.3.6 进一步的设计问题 112
7.4 HTML-Script-SQL设计示例 112
7.5 总结 114
7.6 复习题 115
7.7 练习题 115
7.8 参考文献和建议阅读 115
第8章 设计的特征与度量 117
8.1 设计描述 117
8.2 设计属性的传统特征 117
8.2.1 Halstead复杂度度量 118
8.2.2 McCabe圈复杂度 118
8.2.3 Henry-Kafura信息流 119
8.2.4 高层次复杂度度量 120
8.3 “好”的设计属性 120
8.3.1 内聚 121
8.3.2 耦合 123
8.4 面向对象设计度量 125
8.4.1 面向方面的编程 127
8.4.2 Demeter法则 127
8.5 用户界面设计 127
8.5.1 好的UI的特征 127
8.5.2 易用性的评估与测试 128
8.6 总结 129
8.7 复习题 129
8.8 练习题 130
8.9 参考文献和建议阅读 130
第9章 实现 133
9.1 实现简介 133
9.2 好的实现的特征 133
9.2.1 编程风格和代码规范 134
9.2.2 注释 136
9.3 实现的实践 137
9.3.1 调试 137
9.3.2 断言和防御性编程 138
9.3.3 性能优化 138
9.3.4 重构 139
9.3.5 代码重用 140
9.4 云开发 140
9.4.1 基础设施即服务 141
9.4.2 平台即服务 142
9.4.3 云应用服务 142
9.4.4 面向开发者的云服务 143
9.4.5 云的优缺点 143
9.5 总结 143
9.6 复习题 144
9.7 练习题 144
9.8 参考文献和建议阅读 144
第10章 测试和质量保证 146
10.1 测试和质量保证简介 146
10.2 测试 147
10.3 测试技术 148
10.3.1 等价类划分 151
10.3.2 边界值分析 151
10.3.3 路径分析 152
10.3.4 条件组合 156
10.3.5 自动化单元测试和测试驱动开发 156
10.3.6 测试驱动开发示例 157
10.4 何时停止测试 160
10.5 检查和审查 161
10.6 形式化方法 162
10.7 静态分析 163
10.8 总结 164
10.9 复习题 164
10.10 练习题 165
10.11 参考文献和建议阅读 165
第11章 配置管理、集成和构建 167
11.1 软件配置管理 167
11.2 策略、过程和软件制品 167
11.2.1 业务策略对配置管理的影响 169
11.2.2 过程对配置管理的影响 170
11.3 配置管理框架 171
11.3.1 命名模型 171
11.3.2 存储和访问模型 172
11.4 构建与集成 174
11.5 配置管理工具 175
11.6 管理配置管理框架 177
11.7 总结 177
11.8 复习题 178
11.9 练习题 178
11.10 参考文献和建议阅读 178
第12章 软件支持和维护 180
12.1 客户支持 180
12.1.1 用户问题到达速率 180
12.1.2 客户接口和来电管理 182
12.1.3 技术问题/修复 183
12.1.4 交付及安装补丁 184
12.2 产品维护升级和发布周期 186
12.3 变更控制 187
12.4 总结 188
12.5 复习题 188
12.6 练习题 188
12.7 参考文献和建议阅读 189
第13章 软件项目管理 190
13.1 项目管理 190
13.1.1 项目管理的必要性 190
13.1.2 项目管理过程 190
13.1.3 项目管理的规划阶段 191
13.1.4 项目管理的组织阶段 193
13.1.5 项目管理的监测阶段 194
13.1.6 项目管理的调整阶段 196
13.2 项目管理技术 197
13.2.1 项目工作量估算 197
13.2.2 工作分解结构 203
13.2.3 使用挣值跟踪项目状态 205
13.2.4 测度项目属性和GQM 207
13.3 总结 208
13.4 复习题 209
13.5 练习题 209
13.6 参考文献和建议阅读 210
第14章 结语及当代软件工程的若干问题 212
14.1 安全和软件工程 213
14.2 逆向工程和软件混淆 213
14.3 软件确认和验证的方法及工具 214
14.4 参考文献和建议阅读 215
附录A 软件开发计划概要 217
附录B 软件需求规约概要 218
附录C 软件设计概要 222
附录D 测试计划概要 224
术语 225
索引 227