图书介绍
超越传统的软件开发 极限编程的幻象与真实PDF|Epub|txt|kindle电子书版本网盘下载
![超越传统的软件开发 极限编程的幻象与真实](https://www.shukui.net/cover/51/30849173.jpg)
- 雷剑文,陈振冲,李明树著 著
- 出版社: 北京:电子工业出版社
- ISBN:712100657X
- 出版时间:2005
- 标注页数:356页
- 文件大小:46MB
- 文件页数:372页
- 主题词:
PDF下载
下载说明
超越传统的软件开发 极限编程的幻象与真实PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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 魔术数字2821
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 Scrum82
3.3.1 橄榄球的团队精神83
3.3.2 简史83
3.3.3 Scrum的开发方式84
3.3.4 Scrum实践85
3.4 极限编程和Scrum88
3.4.1 极限编程和Scrum的比较89
3.4.2 xP@Scrum91
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 Jester217
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