计算机科学丛书 软件工程导论 原书第4版PDF电子书下载
- 电子书积分:10 积分如何计算积分?
- 作 者:(美)弗兰克·徐(Frank Tsui),(美)奥兰多·卡拉姆(Orlando Karam),(美)芭芭拉·博纳尔(Barbara Bernal)著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111607236
- 页数:236 页
第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
- 《市政工程基础》杨岚编著 2009
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《工程静力学》王科盛主编 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《化学反应工程》许志美主编 2019
- 《新编历史小丛书 祖逖北伐》何兹全著 2019
- 《国际经典影像诊断学丛书 消化影像诊断学 原著第3版》王振常,蒋涛,李宏军,杨正汉译;(美)迈克尔·P.费德勒 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019