计算机科学丛书 软件工程导论 原书第4版PDF格式文档图书下载
- 购买点数:10 点
- 作 者:(美)弗兰克·徐(Frank Tsui) (美)奥兰多·卡拉姆(Orlando Karam) (美)芭芭拉·博纳尔(Barbara Bernal)著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111607236
- 标注页数:236 页
- PDF页数:250 页
第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
- 《计算机科学丛书 软件工程导论 原书第4版》(美)弗兰克·徐(Frank Tsui),(美)奥兰多·卡拉姆(Orlando Karam),(美)芭芭拉·博纳尔(Barbara Bernal)著 2018
- 《计算机科学与工程导论》张全伙编 1994
- 《计算机科学丛书 计算机科学导论 第3版》(美)贝赫鲁兹·佛罗赞著;刘艺,刘哲雨等译 2015
- 《计算机科学丛书 程序设计导论 Python语言实践》(美)罗伯特·塞奇威克(Robert.Sed)著;江红,余青松译 2016
- 《计算机科学与工程导论 基于IoT和机器人的可视化编程实践方法 第2版》陈以农,陈文智,韩德强著 2017
- 《计算机科学丛书 MATLAB程序设计导论》于俊伟,刘楠译;(美)尤金尼·E.米哈伊 2019
- 《物联网工程导论》詹青龙,刘建卿主编 2012
- 《管理科学与工程经典教材 运筹学导论 提高篇 第9版 英文版》哈姆迪·A·塔哈(HAMDYA.TAHA)著 2014
- 《计算机工程设计导论》罗四维编著 2008
- 《科学与工程计算技术丛书 MATLAB科学计算》温正编著 2017
- 《生命如此特别 芭芭拉·史翠珊》(美)汤姆·圣彼得罗著;李媛媛译 2008
- 《魔术长笛合奏曲集 2》芭芭拉·吉丝勒·哈泽 2014
- 《我是一个幸运的女人 芭芭拉·布什回忆录》(美)芭芭拉·布什(Barbara Bush)著;林丽宽等译 2000
- 《芭芭拉家教记录 第2版》[美)芭芭拉·科洛罗索著 2008
- 《供应链管理最佳实践》(美)戴夫·纳尔逊(Dave Nelson)等著;刘祥亚等译 2003
- 《堂娜芭芭拉》(委内瑞拉)加列戈斯(R.Gallwgos)著;白婴,王相译 1979
- 《芭芭拉·布什传》唐尼·拉德克利夫著;潘慕平译 1991
- 《芭芭拉·麦克林托克经典绘本 狡猾的狐狸 3-12岁》(美)吉姆·艾尔斯沃斯著;(美)芭芭拉·麦克林托克绘 2017
- 《芭芭拉·麦克林托克经典绘本 金发姑娘和三只熊 3-12岁》(美)吉姆·艾尔斯沃斯著;(美)芭芭拉·麦克林托克绘 2017
- 《试镜人生 芭芭拉 纵横美国半世纪的新闻第一夫人回忆录》(美)芭芭拉·沃尔特斯著 2010
- 《北京志 工业卷 机械工业志 农机工业志》北京市地方志编纂委员会编 2001
- 《机械工业和机械图书的出版发行 机械工业出版社发行培训教材》陈慧毅,杨少晨编 1988
- 《冷冲模设计》赵孟栋主编 2006
- 《机械工业出版社》慕拉维叶夫著;孔庆复译 1959
- 《北京市立高级工业职业学校机械科毕业学生韩丕纯分数表/韩丕纯毕业证书》 1949
- 《中等职业教育机电类规划教材 机械工业出版社精品教材 机械设计基础 第2版》机械职业教育基础课教学指导委员会机械设计学科组组编;柴鹏飞主编 2006
- 《集知播识春秋录 机械工业出版社 1952-1988.机械科学技术情报研究所 1958-1988》机械科技情报研究所,机械工业出版社编 1988
- 《电线电缆》上海市电缆研究所编 1975
- 《FoxBASE+ 三周通》文忠等编著 1995
- 《FoxBASE+实验指导书》李爱华,王建诚编 1994