极限编程实践
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 纽柯克,麦克廷 编 袁国忠 译
出 版 社: 人民邮电出版社
出版时间: 2002-6-1字数: 260千版次: 第1版第1次页数: 176印刷时间: 2002/06/01开本:印次:纸张: 胶版纸I S B N : 9787115103826包装: 平装内容简介
极限编程(XP)是一种经历过实践考验的轻量级软件开发方法学,本书以一个基于Web的软件项目为例,全面介绍了XP项目的整个运作过程。
本书共分15章,第1章至第3章概述了书中所用到的XP实践和法则。第4章至第15章则以真实的开发项目为例,依次详细介绍了XP项目的整个运作过程。内容包括XP项目的第一个开发阶段——探索;第一个版本的规划;第一次迭代计划;执行第一次迭代计划(第7章至第13章);第二次、第三次迭代和发行等。第15章总结了从该XP项目的实践得到的经验及教训。
本书语言轻松活泼,实用性与可读性较强,适合于软件开发人员、软件项目管理人员、客户以及任何与软件开发有关的读者阅读参考
目录
第 1 章 真 相1
1.1 第一个解决方案2
1.2 变化3
1.3 是什么错了4
第 2 章 积极求胜5
2.1 极限编程(XP)5
2.2 本书的结构6
第 3 章 什么是XP9
3.1 介绍9
3.2 探索10
3.3 探究11
3.4 发行计划11
3.5 迭代计划12
3.6 开发13
第 4 章 探 索15
4.1 一个故事的故事15
4.2 一些约束的故事16
4.3 体系结构19
4.4 花费昂贵的故事19
4.5 组合故事20
4.6 注册故事23
4.7 现有用户24
4.8 旧版的转换25
4.9 通知26
4.10 注册页的外观27
4.11 杂项27
4.12 结论28
4.13 故事摘要29
第 5 章 计 划31
5.1 按优先顺序对故事进行排列32
5.2 结构重要性33
5.3 发布和迭代周期33
5.4 速度33
5.5 计划第一个版本34
5.6 结论36
第 6 章 第一次迭代计划37
6.1 将故事分解为任务38
6.2 承担任务44
6.3 估算任务44
6.4 结论48
第 7 章 开始第一次迭代51
7.1 计划是一回事,现实是另一回事51
7.2 开始迭代52
7.2.1 结构52
7.2.2 测试隔离66
7.2.3 两次单击按钮66
7.2.4 糟糕67
7.2.5 结束67
7.3 结论68
7.4 跟踪69
第 8 章 任务6.3:登录71
8.1 受保护的页71
8.1.1 我们没有编写测试74
8.1.2 登录75
8.1.3 关闭未打开的数据库76
8.1.4 测试意识79
8.2 Cookie79
8.3 跟踪85
第 9 章 重构引起的混乱87
9.1 重构LoginServlet93
9.2 结论100
9.2.1 第二个实例为一般性付出了代价100
9.2.2 这值得吗100
9.2.3 没有自动测试的重构是令人痛苦的101
9.2.4 如果更早地做前置设计,会减少重构吗101
9.3 跟踪101
第 10 章 逆向工作103
10.1 TestNoUser103
10.1.1 欺骗104
10.1.2 逆向工作106
10.1.3 但是我们还没有处理完毕106
10.2 TestGoodEmail107
10.3 TestBadEmail110
10.4 实现模拟对象116
10.4.1 Mailer116
10.4.2 PasswordReminderDatabase118
10.5 ForgotPassword Servlet119
10.6 结论121
10.7 跟踪121
第 11 章 结构推敲123
11.1 重构测试127
11.2 再次重构Database129
11.3 结构变革138
11.4 注册Servlet138
11.5 结论142
11.6 跟踪143
第 12 章 第一次迭代-摘要145
12.1 Cookie的悲哀145
12.2 HTML/JSP任务148
12.3 我们认为已经完成了任务149
第 13 章 指 导151
13.1 有趣的误解154
13.2 是什么错了158
第 14 章 完成版本161
14.1 你就不能减少两个小时161
14.2 任务计划163
14.3 迭代163
14.3.1 更改过程163
14.3.2 总结第二次迭代165
14.4 学到的经验165
14.5 第三次迭代165
14.6 发行167
14.6.1 版本:最初版本和当前版本167
14.6.2 根据技术风险指定优先级169
14.6.3 如果这不是一个XP项目,会出现什么情况170
第 15 章 结 论171
15.1 将此次经验应用于更大型的项目中171
15.1.1 短周期172
15.1.2 频繁的沟通172
15.1.3 反馈173
15.2 学到的经验173
15.3 最终结论175
附录A 第一次迭代—源代码177