您的浏览历史

敏捷软件开发:原则、模式与实践



精彩评论
市场价 : ¥59.00
会员价 : ¥45.43

基本信息
【评  价】 (共 256 条) 参与评论
【原 书 名】 Agile Software Development: Principles, Patterns, and Practices
【原出版社】 Pearson Education
【作  者】Robert C. Martin [同作者作品]
【译  者】 邓辉[同译者作品]
【丛 书 名】 软件工程实践丛书
【出 版 社】 清华大学出版社     【书 号】 7302071977
【上架时间】 2003-9-12
【出版日期】 2003 年9月 【开 本】 16开 【页 码】 500     【版 次】1-1
【所属分类】 计算机 > 软件工程及软件方法学 > 综合
编辑推荐

荣获美国《软件开发》第13届震憾(Jolt)大奖! 中文版一面世,短时间内重印7次,是软件工程领域一座重要的丰碑!



【内容简介】

 <a href="http://www.china-pub.com/computers/common/info.asp?id=12307" target="_blank"><font color="#FF6600">查看《敏捷软件开发》(英文版)</font></a>
 <a href="http://www.china-pub.com/computers/ebook10000-15000/13569/kanwu.zip"><font color="#FF6600">本书重印版已勘误的地方</font></a>


 <span class="www">样章试读:<a href="http://www.china-pub.com/computers/ebook10000-15000/13569/agile01.zip" target="_blank">第1章</a> <a href="http://www.china-pub.com/computers/ebook10000-15000/13569/agile02.zip" target="_blank">第2章</a> <a href="http://www.china-pub.com/computers/ebook10000-15000/13569/agile03.zip" target="_blank">第3章</a></span> <a href="http://www.china-pub.com/computers/subject/huodong/qhmjrj.htm#b">名家大师的评语</a><font color="#FF6600"><b> </b></font><a href="http://www.china-pub.com/computers/subject/huodong/qhmjrj.htm#e" target="_blank">《软件之美》(Martin为中文版作序)</a><font color="#FF6600"><b>
</b></font><a href="http://www.china-pub.com/computers/subject/huodong/qhmjrj.htm" target="_blank">相关专题</a><font color="#FF6600"><b>



2003年6月荣获美国《软件开发》第13届震憾(Jolt)大奖!</b></font>

在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。
  

<b><font color="#FF6600">特色内容:</font></b>

●讲述在预算和时间要求下,软件开发人员和项目经理如何使用敏捷开发完成项目。   

●使用真实案例讲解如何用极限编程来设计、测试、量构和结对编程  

●包含了极具价值的可多次使用的C++和JAVA源代码。  

●重点讲述了如何使用UML和设计模式解决面向客户系统

【编辑推荐】

·第13届软件开发震撼大奖获奖作品
  ·国际软件工程和开发大师最新力作
  ·众多名家一致推荐的敏捷开发指南
  ·软件工程发展史上的里程碑性巨著
  享誉全球的软件开发专家和软件工程大师Robert C.Martin向您介绍如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,讲述了在预算和时间要求下软件开发人员和项目经理如何使用敏捷开发完成项目:使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;包含了极具价值的可重用的C++和Java源代码;还重点讲述了如何使用UML和设计模式解决面向客户系统的问题。本书于2003年荣获第13届软件开发图书震撼大奖,适于用作高校计算机专业本科生、研究生和软件学院的软件工程和软件开发相关课程的教材或参考书,也适于软件开发和管理人员提高自身水平学习之用。

【目录信息】


第一部分 敏捷开发
第1章 敏捷联盟
1.1 敏捷联盟
1.2 原则
1.3 结论
参考文献

第2章 极限编程概述
2.1 极限编程实践
2.2 结论
参考文献

第3章 计划
3.1 初始探索
3.2 发布计划
3.3 迭代计划
3.4 任务计划
3.5 迭代
<< 查看详细目录

【译者序】

Review of Agile Software Development: Principles, Patterns, and Practices
我看过很多有关软件开发方面的书籍,包括过程控制方面的、设计方面的以及最佳实践方面。确实也从其中学到了不少东西。但是,在具体的软件开发实践中,却没有取得期望的效果。经过一段时间的反思,我隐约觉得,应该还有某个存在于过程方法、设计原则以及最佳实践之外的东西来有机地把这三者结合起来,才能发挥这三者的最大效用。这种东西不是可以形式化的条条框框,而是活跃于人的大脑中的某种思维方法。看完了Robert Martin的Agile Software Development之后,我有一种豁然开朗的感觉。本书把这种思维方法阐述的再.. << 查看译者序

【前言】

七年等待换来的经典
本书审校:孟岩
  Robert C. Martin的经典著作Agile Software Development中文版面世,这是计算机技术出版领域的一件大喜事。即使在今天技术图书市场非常繁荣的局面下,这本书的问世也仍然是值得广大开发者格外留意和关注的事件。这不仅是因为它刚刚荣获2002年度Jolt震撼大奖,更因为这本书本身的价值和独特魅力。
  Robert Cecil Martin是软件开发领域里响当当的名字。1970年代,他还是个年轻小伙子的时候就是一位有名的UNIX黑客。经过长期的开发实践后,他成了软件开发领域中的知名专家。1990年代初,Rational软件公司首席科学家Grady Booch邀请他加盟,目.. << 查看前言
评论交流 共有256人开贴评论  684人参与评论  255人参与打分 查看
207人
 81%
用户平均打分
我要写评论 help如何参与评论和打分
30人
 11%
12人
 4%
0人
 0%
6人
 2%

wlc083
一级评论员
评价等级:  
发表于:2004-7-28 17:23:00
我来说说跑题的话。看到大家对软件工程的狂热,真是佩服。我身边大多数学CS(master level)的人也都搞软件,且绝大多数是商用软件,他们此也很狂热,并且属于bob大叔这样的”实践者”, 本书的读者大体可以划这一类吧。

我不愿成为这样的人,这样的人只是机器的附庸,最后基本一事无成。我也希望CS的兄弟们不要完全成为这样的人,整日沁淫其中。沉醉其中的人估计有两附安慰剂,一是社会需求这样的“软件人才”;二是好像这个不用数学也不要什么先验知识,仿佛搞得懂上手快,说明自己还不笨。这两包药真是要不得。第二包药不言自明是催眠药。第一包药就不好说了,只有问问国家劳动就业中心才知道(或许谁都不知道),我只知道软件人才供需比是要么是1:20要么是20:1,天知道!还听说打字也归为软件人才,开始奇怪,后来明白从“工具人化”的角度上看这也是有道理的。与打字员类似,只会写应用软件的人只是作为面向需求而覆盖在系统软件和计算机上的“人体中间件”而无他。所谓“开发高手”本质上与每分钟输入200个以上汉字的“高打”没什么两样。两者都挺难、不是科学、不要数学、需要“天赋”。然而,由于计算机比打字机复杂,故现代的“工具人化”对应用软件开发人员要求稍高于后者。并且这两种“人体中间件”有共同的两大尴尬。首先他们搞不懂问题空间是什么,第二搞不懂工具是如何工作的。审计署的打字员会不会成为李金华的接班人?您公司的前台有没有人知道五笔输入法是什么语言写的?(死鬼,电脑买来就装好了!)。嗨,哪个软件开发高手在发飚,不服气?!给我实现一个MPEG4 Encoder和Decoder,看不懂MPEG4规范?那是学EE的人搞的. 好,一个EE过来给你讲,才将到最简单的DCT你就晕,EE毛了拿起C到角落自己hacking去了…又来,总参听说您是开发高手,想让您协助开发一个雷达系统软件,不懂雷达?没关系有雷达专家嘛,您不是软件专家吗?欣然。需求是这样的,总参说,我们要开发一个软件自适应卡尔曼滤波器…慢慢慢…是什么曼滤波器?卡尔曼。完全不懂还是听说过?!…我接触到的一个总工抱怨说,现在的CS连看都看不懂滤波器,主要是数学基础太差。我当时无语。至于开发高手搞不搞得懂计算机这个工具,搞不搞得懂系统软件,还是留给s/he扪心自问罢。反正激光打印机绝非打字员发明的,也没有一个打字员写得出五笔输入法…

是充当“工具人化”的人件,还是工具的主宰,甚至人化工具的主宰?是当打字员,或是作家,或是打字机工程师?请选择,趁年轻!
回复 ( 65条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得36支)  扔鸡蛋 (得58个)

shuijingtiantang
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-4-10 0:42:00
很經典的書,原來看過英文版本的。是一本內容豐富而且有價值的書。
前幾天朋友托我買一本,我接到的時候印刷品質還是很好的。推薦給對設計模式、敏捷軟體開發、工程品質分析等內容有興趣的人。尤其是裏面講到的6大原則,對於鑒別那些用面向過程思想套上面向對象殼子的山寨版代碼超級有用。
您觉得呢? 送鲜花 (得1支)  扔鸡蛋 (得0个)

lptt

二级评论员
评价等级:  
发表于:2006-7-25 19:39:00
--------不说不舒服(一个大三学生)
wlc083 这段话是我这20多年看过的最爽的一段话 给那群整天抱着这个模式那个模式的人看简直是太合适了(虽然这对他们来说还是不管什么用)仔细想想,半辈子拉自己究竟学拉些什么."毕竟不是每个程序员都能成为熟知底层熟悉硬件的高手"还有"开发软件不需要太深的数学基础"这两句话随时都能成为有些人挡箭牌,这要求的数学真的很深吗。卡尔曼滤波器上过大学的工科的你不会,说的过去吗。MPEG4规范要是想找,到处都能找到(看不看那就是自己的事拉)。整天抱着这个模式,那个架构的人干到老顶多年薪5位数。能深入底层起码比你多一位数吧(我知道的一个做BIOS的年薪7位数)。 Martin大叔的编程的真正水平我不知道,但他的口才绝对世界一流(没有口才做基础,想推销自己的东西可能吗),只对大学生(大学生还是快干点实在的事情吧),不对在职者;对事不对人。
回复 ( 5条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得2支)  扔鸡蛋 (得9个)

charon

五级评论员
评价等级:  
发表于:2003-12-10 22:04:00
A
保龄球的那个例子中,最后版本的adjustCurrentFrame函数把
firstThrowInFrame = true这个语句给重构掉了,而使得这个变量除了在初始化的时候被赋值为true,之后一旦被搞成false,不会再成为true.而实际上,每个打满2球的frame都必须把这个值赋回true.
是我理解错了还是原文有错?我看的是英文版,跑到中文版(正好公开了这一章的电子版)一看,也是这样。
我没有跑这个程序,但是直觉上这是一个错误。
在这种情况下,由于第一个非strick的Frame之后firstThrowInFrame就被赋值成了false,所以之后的每一击都会使adjustCurrentFrame满足第一个条件分支,从而递增itsCurrentFrame,使得这个值始终大于等于实际的Frame(直到10为止)。这是一个逻辑错误。
仔细看了一下测试用例,发现测试没有报出这个隐错的原因在于java把整数都初始化成0了,所以每次调用g.score()的时候,即便使用的是大于实际值的itsCurrentFrame,因为多加的那些值是0,所以不会对结果产生影响。

B
这个错误是因为最后一个重构动作引入的,解决这个错误的办法很简单,一个是在第一个条件分支添加firstThrowInFrame=true这个语句,这样在逻辑上是正确的;或者是去掉firstThrowInFrame和itsCurrentFrame这两个变量和相应的语句,并修改score()函数为
public int score(){
return scoreForFrame(10);
}
直接利用java对数组初始化的特性。

C
这个错误使我对TDD产生了怀疑,以Uncle Bob和Bob Koss两人各自20多年的开发经验尚且会在重构中迷失方向(认为只要使得测试用例工作就算成功,而没有考虑到逻辑上的一致性;或者说没有构造足够的测试用例来保障逻辑一致),那我们这些人呢?TDD究竟能在多大程度上提升质量?难道测试用例通过,逻辑就一定正确?

本来给这本书打5星的,由于这个原因,只打3星。
回复 ( 11条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得5支)  扔鸡蛋 (得7个)

liuty2006

三级评论员
评价等级:  
发表于:2003-10-17 19:30:00
很一般的书.只是一些模式的堆砌,讲解也不充分.
为什么那末多人在吹.....
买书要相信自己的眼睛...
经验---在书店站着看五页,如果可以看下来再买不迟.

回复 ( 17条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得6支)  扔鸡蛋 (得10个)
我要写评论
查看所有评论交流(共256条)