超越传统的软件开发 极限编程的幻象与真实PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:雷剑文,陈振冲,李明树著
- 出 版 社:北京:电子工业出版社
- 出版年份:2005
- ISBN:712100657X
- 页数:356 页
第1章 软件和模型 1
第一部分 旅程前的准备 2
1.1 冒险的成功 2
1.1.1 瀑布模型的特点 3
1.1.2 可接受的失败 4
1.1.3 与工程项目的比较 5
1.1.4 项目失败的实例 5
1.2 能力成熟度模型 7
1.2.1 第一级——初始级 8
1.2.2 第二级——可重复级 9
1.2.3 第三级——定义级 9
1.2.4 第四级——管理级 10
1.2.5 第五级——优化级 11
1.2.6 关键过程域 11
1.3 即时上市达成即时上市的方法 15
1.4 足够好的软件 18
1.5 优秀的程序员 20
1.5.1 程序员的差异 20
1.5.2 魔术数字28 21
1.5.3 真正的才能 23
1.6 编程心理学 23
1.6.1 不同的诠释 24
1.6.2 编码≠软件项目 24
1.7 不要从经验学习 25
1.7.1 信念 25
1.7.2 从经验中学习 26
1.7.3 经验与实验 28
1.8 总结 28
思考与练习 29
参考文献 32
第2章 极限编程 35
2.1 极限编程的诞生 35
2.2 快速改变的软件需求 37
2.3 角色 42
2.3.1 权利和责任 43
2.3.2 单元测试和验收测试 45
2.3.3 客户 45
2.3.4 程序员 46
2.4 价值 47
2.5 原则 48
2.6 活动 49
2.7 12个实践 51
2.7.1 小版本 52
2.7.2 规划游戏 53
2.7 3 现场客户 54
2.7.4 隐喻 55
2.7.5 简单设计 55
2.7.6 重构 56
2.7.8 持续集成 57
2.7.7 测试驱动开发 57
2.7.9 结对编程 58
2.7.10 代码共有 59
2.7.11 编码标准 60
2.7.12 每周40小时工作制 60
2.8 极限编程实践的追溯 61
2.9 软件过程改进 63
2.10 总结 66
思考与练习 69
参考文献 72
第3章 敏捷软件开发 74
3.1 敏捷软件开发 74
3.1.1 敏捷宣言 76
3.1.2 敏捷开发的原则 77
3.2 软件方法 78
3.2.1 控制元素 78
3.2.2 方法的设计 79
3.2.3 轻量级和重量级方法 81
3.3 Scrum 82
3.3.1 橄榄球的团队精神 83
3.3.2 简史 83
3.3.3 Scrum的开发方式 84
3.3.4 Scrum实践 85
3.4 极限编程和Scrum 88
3.4.1 极限编程和Scrum的比较 89
3.4.2 xP@Scrum 91
3.5 总结 92
思考与练习 92
参考文献 93
第二部分 幻象和真实 95
4.1 科学和艺术 96
4.1.1 结对编程的方法 96
第4章 结对编程 96
4.1.2 经济上的争议 98
4.1.3 管理上的疑问 100
4.2 无工资世界和真实世界 101
4.2.1 无工资世界 102
4.2.2 真实世界 105
4.3 结对编程的效率 105
4.3.1 Nosek的实验 105
4.3.2 Williams的实验 106
4.3.3 Nawrocki的实验 107
4.3.4 结对编程效率的矛盾 109
4.4 结对编程的普查 110
4.4.1 百分比分析 110
4.4.2 比例问题 113
4.4.3 开放式评论 115
4.5 结对编程的扩展 117
4.5.1 结对学习 118
4.5.2 结对程序员的组合 119
4.5.3 分布式结对编程 121
4.5.4 三结编程 123
4.6 总结 123
思考与练习 124
参考文献 125
第5章 群动力 127
5.1 群体动力学与结对编程 127
5.2 群体的特性 128
5.2.1 互动 129
5.2.2 结构 129
5.2.3 凝聚力 129
5.2.4 社会认同 129
5.2.5 目标 130
5.3 群体的生命周期 131
5.4.1 系统理论 132
5.4 群体动力学 132
5.5 工作性质 134
5.5.1 累积性工作 136
5.5.2 补偿性工作 136
5.5.3 分离性工作 137
5.5.4 联合性工作 138
5.5.5 自由决定性工作 139
5.6 两个脑袋 139
5.7 群体生产力下降 140
5.7.1 评价忧虑 143
5.7.2 社会两难 143
5.7.3 生产力假象 144
5.8 头脑风暴 144
5.9 总结 147
思考与练习 148
参考文献 149
6.1 结对编程的争议 151
6.1.1 不可重复的实验 151
第6章 重复编程 151
6.1.2 三结编程、四结编程、五结编程,等等 153
6.1.3 编程不是什么大不了的工作 154
6.2 经济和生产力 155
6.3 重复编程 156
6.3.1 重复的编写程序 158
6.3.2 效率差异 160
6.3.3 挑战 163
6.3.4 一加一等于三 164
6.3.5 三结编程的效率 166
6.4 程序算法 167
6.4.1 不想输的实验 168
6.4.2 实验结果 169
6.5 生命游戏 170
6.5.1 轮转式的实验 170
6.5.2 先输后赢的结果 171
6.6 编程认知模型 172
6.6.1 “定义” 173
6.6.2 “表示” 174
6.6.3 “模型” 174
6.6.4 “模式” 175
6.6.5 “算法” 175
6.6.6 “编码” 175
6.6.7 认知模型的运用 176
6.6.8 演绎和算法 179
6.7 总结 180
思考与练习 181
参考文献 184
第7章 重构 186
7.1 重做和重构 186
7.1.1 优化 187
7.1.2 修改 189
7.2 重构理论 191
7.2.1 重构和极限编程 193
7.2.2 可读性和可维护性 193
7.3 坏气味 195
7.3.1 重复 196
7.3.2 过大 196
7.3.3 功能 196
7.3.4 依赖 196
7.3.5 设计 197
7.3.6 注释 197
7.4 重构技巧 197
7.4.1 提取 198
7.4.2 内联化 198
7.4.3 重命名 199
7.4.4 移动 200
7.4.5 替换算法 201
7.5 总结 202
思考与练习 203
参考文献 204
第8章 测试驱动开发 205
8.1 逆流瀑布 205
8.1.1 设计—编码—测试 206
8.1.2 测试—编码—设计 207
8.2 测试和编码 208
8.2.1 测试 209
8.2.2 编码 210
8.2.3 测试驱动开发 211
8.2.4 测试驱动开发和其他极限编程实践 213
8.2.5 科学方法 214
8.3 测试驱动开发的工具 215
8.3.1 XUnit系列 216
8.3.2 代码覆盖 216
8.3.3 Jester 217
8.3.5 重构浏览器 218
8.3.4 模仿对象 218
8.3.6 测试数据 219
8.4 软件缺陷评估 219
8.4.1 传统方法 221
8.4.2 减少缺陷 221
8.5 测试驱动开发在中国软件业中的应用 222
8.5.1 对缺乏经验的编程组的TDD指引 223
8.5.2 项目计划 223
8.5.3 项页目进度跟踪 224
8.5.4 质量保证 224
8.5.5 纪律 225
8.5.6 回溯 225
8.5.7 推销员问题 226
8.6 极限编程和测试驱动开发 227
8.6.1 极限编程成熟度模型 228
8.6.2 测试驱动开发演化模型 231
总结 232
思考与练习 233
参考文献 233
第三部分 旅程结束,回到工作 235
第9章 极限编程的实施 236
9.1 环境和工序 236
9.1.1 工效学 237
9.1.2 每天的工作程序 238
9.1.3 标准 239
9.2 实施 240
9.2.1 故事卡 241
9.2.2 探棒 243
9.2.3 故事的优先次序 244
9.2.4 分开故事 244
9.2.5 选取结队伙伴 245
9.2.6 迭代 246
9.2.8 集成 247
9.2.7 编程 247
9.3 模板应用实例 248
9.3.1 迭代准备 249
9.3.2 第一迭代 251
9.3.3 第二迭代 257
9.3.4 第三迭代和第一次发布 260
9.4 总结 262
参考文献 263
第10章 极限编程的评语 264
10.1 不愉快的经验 264
10.1.1 假结对编程 264
10.1.2 硬性极限编程 265
10.1.3 梦想里的现场客户 266
10.1.4 曲解失败为成功 266
10.1.5 现实中的极限编程 266
10.2 Humphrey的评语 266
10.3.1 大型软件开发 269
10.3 反极限编程 269
10.3.2 做和道 270
10.3.3 小教派 271
10.4 解破幻象 273
10.4.1 格列佛游记 274
10.4.2 主观和客观 275
10.4.3 太极软件开发 276
10.5 总结 278
参考文献 279
思考与练习 279
附录A 测试驱动开发的形式化描述 281
附录B JUnit及BubbleSort实例 284
附录C 重构浏览器RefactorlT概览 298
附录D 重构实例 304
附录E Jester安装和应用 314
附录F Jcoverage安装和应用 324
附录G Jester和Jcoverage实例比较 328
附录H 参考答案 355
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《花样民游 幼儿园民间传统游戏的创新与指导》刘娟 2019
- 《中国传统京剧故事绘本 追韩信》成都市京剧研究院,四川众木文化著;小狐仙动漫绘 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《中国人的传统节日》陈玉新主编 2019
- 《强度理论与数值极限分析》郑颖人,孔亮,阿比尔的著 2020
- 《主题公园开发与管理》梁增贤编著 2019
- 《评弹与江南社会研究丛书 梅与竹 中国传统苏州评弹》李东鹏译;(美国)马克·本德尔 2019
- 《云南少数民族传统舞蹈》葛树蓉,吴世平著 2018
- 《白雪公主分面包 分数》(韩)车宝金文 2016
- 《基础笔译》李明主编;李思伊,李明编者 2020
- 《贵州大数据发展与建设》张梅,文静华,刘振 2019
- 《数学教师的专业教育和发展 中小学数学教育论著译丛》鲁哈马·埃文,(德)博拉·勒文贝格·鲍尔,李士錡,黄兴 2015
- 《会变魔法的蛋糕侠 热的传递》金贤珠文 2015
- 《小蜜蜂玛雅出逃记 时间》(韩)郑明肃文 2016
- 《大数据建模方法》张平文,戴文渊,黄晶编著 2019
- 《无人机测绘技术基础》吴献文主编 2019
- 《知识产权与商业》罗德尼?D.莱德(Rodney?D.Ryder),阿什文?马德范(AshwinMadhavan 2019
- 《小熊的舞台》(塞尔维亚)尼克莱塔·诺瓦克文 2017
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017