注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学超越传统的软件开发:极限编程的幻象与真实

超越传统的软件开发:极限编程的幻象与真实

超越传统的软件开发:极限编程的幻象与真实

定 价:¥39.00

作 者: 雷剑文,陈振冲,李明树著
出版社: 电子工业出版社
丛编项:
标 签: 极限编程

ISBN: 9787121006579 出版时间: 2005-01-01 包装: 胶版纸
开本: 24cm 页数: 356 字数:  

内容简介

  本书特色:本书从软件工程理论,软件开发实验,编程心理学等多千方面,深入剖析了极限编程的原理和实质。全书以分析对极限编程的种种误解为主线,以编程实验数据为基础,用科学的方法阐释了极限编程的内涵。全书分为三大部分,共10章。本书不仅对极限编程做了客观而深刻的剖析,而且其实验方法和分析方法具有极大的借鉴价值。在本书中,作者在融会各种学科的知识,以及引用几十部软件工程和计算机科学经典著作的基础上,旁征博引地对软件开发方法和实践进行了深入的探讨;同时,作者独辟蹊径,通过丰富的联想,用许多生动有趣的例子来注解软件开发的内涵与要点,因此,读者在读到下面的内容时不要惊讶:*罗密欧与朱丽叶的温情对白*编程中的橄榄球技巧*大人国与小人国是不可能存在的*最先进的前掠翼战斗机X-29居然不实用*软件开发中也有太极功夫……本书适合各个层次的编程爱好者、软件开发人员阅读,也可作为高等院校计算机相关专业特别是软件学院的教学用书。本书从软件工程理论、软件开发实验、编程心理学等多个方面,深入剖析了极限编程的原理和实质。全书以分析对极限编程的种种误解为主线,以编程实验数据为基础,用科学的方法阐述了极限编程的内涵,以解破幻象,还极限编程以真面目。全书分为三大部分,共10章。本书不仅对极限编程做了客观而深刻的剖析,而且其实验方法和分析方法具有极大的借鉴价值。作者通过融会各种学科的知识,旁征博引地对开发软件开发方法和实践进行了深入的研讨,这是值得读者精读本书的另一大特色。本书适合各类软件开发人员、编程爱好者和高等院校计算机相关专业的师生阅读。

作者简介

暂缺《超越传统的软件开发:极限编程的幻象与真实》作者简介

图书目录

第一部分  旅程前的准备第1章  软件和模型 21.1  冒险的成功 21.1.1  瀑布模型的特点 31.1.2  可接受的失败 41.1.3  与工程项目的比较 51.1.4  项目失败的实例 51.2  能力成熟度模型 71.2.1  第一级——初始级 81.2.2  第二级——可重复级 91.2.3  第三级——定义级 91.2.4  第四级——管理级 101.2.5  第五级——优化级 111.2.6  关键过程域 111.3  即时上市 13达成即时上市的方法 151.4  足够好的软件 181.5  优秀的程序员 201.5.1  程序员的差异 201.5.2  魔术数字28 211.5.3  真正的才能 231.6  编程心理学 231.6.1  不同的诠释 241.6.2  编码软件项目 241.7  不要从经验学习 251.7.1  信念 251.7.2  从经验中学习 261.7.3  经验与实验 281.8  总结 28思考与练习 29参考文献 32第2章  极限编程 352.1  极限编程的诞生 352.2  快速改变的软件需求 372.3  角色 422.3.1  权利和责任 432.3.2  单元测试和验收测试 452.3.3  客户 452.3.4  程序员 462.4  价值 472.5  原则 482.6  活动 492.7  12个实践 512.7.1  小版本 522.7.2  规划游戏 532.7.3  现场客户 542.7.4  隐喻 552.7.5  简单设计 552.7.6  重构 562.7.7  测试驱动开发 572.7.8  持续集成 572.7.9  结对编程 582.7.10  代码共有 592.7.11  编码标准 602.7.12  每周40小时工作制 602.8  极限编程实践的追溯 612.9  软件过程改进 632.10  总结 66思考与练习 69参考文献 72第3章  敏捷软件开发 743.1  敏捷软件开发 743.1.1  敏捷宣言 763.1.2  敏捷开发的原则 773.2  软件方法 783.2.1  控制元素 783.2.2  方法的设计 793.2.3  轻量级和重量级方法 813.3  Scrum 823.3.1  橄榄球的团队精神 833.3.2  简史 833.3.3  Scrum的开发方式 843.3.4  Scrum实践 853.4  极限编程和Scrum 883.4.1  极限编程和Scrum的比较 893.4.2  xP@Scrum 913.5  总结 92思考与练习 92参考文献 93第二部分  幻象和真实第4章  结对编程 964.1  科学和艺术 964.1.1  结对编程的方法 964.1.2  经济上的争议 984.1.3  管理上的疑问 1004.2  无工资世界和真实世界 1014.2.1  无工资世界 1024.2.2  真实世界 1054.3  结对编程的效率 1054.3.1  Nosek的实验 1054.3.2  Williams的实验 1064.3.3  Nawrocki的实验 1074.3.4  结对编程效率的矛盾 1094.4  结对编程的普查 1104.4.1  百分比分析 1104.4.2  比例问题 1134.4.3  开放式评论 1154.5  结对编程的扩展 1174.5.1  结对学习 1184.5.2  结对程序员的组合 1194.5.3  分布式结对编程 1214.5.4  三结编程 1234.6  总结 123思考与练习 124参考文献 125第5章  群动力 1275.1  群体动力学与结对编程 1275.2  群体的特性 1285.2.1  互动 1295.2.2  结构 1295.2.3  凝聚力 1295.2.4  社会认同 1295.2.5  目标 1305.3  群体的生命周期 1315.4  群体动力学 1325.4.1  系统理论 1325.5  工作性质 1345.5.1  累积性工作 1365.5.2  补偿性工作 1365.5.3  分离性工作 1375.5.4  联合性工作 1385.5.5  自由决定性工作 1395.6  两个脑袋 1395.7  群体生产力下降 1405.7.1  评价忧虑 1435.7.2  社会两难 1435.7.3  生产力假象 1445.8  头脑风暴 1445.9  总结 147思考与练习 148参考文献 149第6章  重复编程 1516.1  结对编程的争议 1516.1.1  不可重复的实验 1516.1.2  三结编程、四结编程、五结编程,等等 1536.1.3  编程不是什么大不了的工作 1546.2  经济和生产力 1556.3  重复编程 1566.3.1  重复的编写程序 1586.3.2  效率差异 1606.3.3  挑战 1636.3.4  一加一等于三 1646.3.5  三结编程的效率 1666.4  程序算法 1676.4.1  不想输的实验 1686.4.2  实验结果 1696.5  生命游戏 1706.5.1  轮转式的实验 1706.5.2  先输后赢的结果 1716.6  编程认知模型 1726.6.1  “定义” 1736.6.2  “表示” 1746.6.3  “模型” 1746.6.4  “模式” 1756.6.5  “算法” 1756.6.6  “编码” 1756.6.7  认知模型的运用 1766.6.8  演绎和算法 1796.7  总结 180思考与练习 181参考文献 184第7章  重构 1867.1  重做和重构 1867.1.1  优化 1877.1.2  修改 1897.2  重构理论 1917.2.1  重构和极限编程 1937.2.2  可读性和可维护性 1937.3  坏气味 1957.3.1  重复 1967.3.2  过大 1967.3.3  功能 1967.3.4  依赖 1967.3.5  设计 1977.3.6  注释 1977.4  重构技巧 1977.4.1  提取 1987.4.2  内联化 1987.4.3  重命名 1997.4.4  移动 2007.4.5  替换算法 2017.5  总结 202思考与练习 203参考文献 204第8章  测试驱动开发 2058.1  逆流瀑布 2058.1.1  设计-编码-测试 2068.1.2  测试-编码-设计 2078.2  测试和编码 2088.2.1  测试 2098.2.2  编码 2108.2.3  测试驱动开发 2118.2.4  测试驱动开发和其他极限编程实践 2138.2.5  科学方法 2148.3  测试驱动开发的工具 2158.3.1  XUnit系列 2168.3.2  代码覆盖 2168.3.3  Jester 2178.3.4  模仿对象 2188.3.5  重构浏览器 2188.3.6  测试数据 2198.4  软件缺陷评估 2198.4.1  传统方法 2218.4.2  减少缺陷 2218.5  测试驱动开发在中国软件业中的应用 2228.5.1  对缺乏经验的编程组的TDD指引 2238.5.2  项目计划 2238.5.3  项目进度跟踪 2248.5.4  质量保证 2248.5.5  纪律 2258.5.6  回溯 2258.5.7  推销员问题 2268.6  极限编程和测试驱动开发 2278.6.1  极限编程成熟度模型 2288.6.2  测试驱动开发演化模型 231总结 232思考与练习 233参考文献 233第三部分  旅程结束,回到工作第9章  极限编程的实施 2369.1  环境和工序 2369.1.1  工效学 2379.1.2  每天的工作程序 2389.1.3  标准 2399.2  实施 2409.2.1  故事卡 2419.2.2  探棒 2439.2.3  故事的优先次序 2449.2.4  分开故事 2449.2.5  选取结队伙伴 2459.2.6  迭代 2469.2.7  编程 2479.2.8  集成 2479.3  模板应用实例 2489.3.1  迭代准备 2499.3.2  第一迭代 2519.3.3  第二迭代 2579.3.4  第三迭代和第一次发布 2609.4  总结 262参考文献 263第10章  极限编程的评语 26410.1  不愉快的经验 26410.1.1  假结对编程 26410.1.2  硬性极限编程 26510.1.3  梦想里的现场客户 26610.1.4  曲解失败为成功 26610.1.5  现实中的极限编程 26610.2  Humphrey的评语 26610.3  反极限编程 26910.3.1  大型软件开发 26910.3.2  做和道 27010.3.3  小教派 27110.4  解破幻象 27310.4.1  格列佛游记 27410.4.2  主观和客观 27510.4.3  太极软件开发 27610.5  总结 278思考与练习 279参考文献 279附录A  测试驱动开发的形式化描述 281附录B  JUnit及BubbleSort实例 284附录C  重构浏览器RefactorIT概览 298附录D  重构实例 304附录E  Jester安装和应用 314附录F  Jcoverage安装和应用 324附录G  Jester和Jcoverage实例比较 328附录H  参考答案 355

本目录推荐