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

上传:scottenHu 浏览: 13 推荐: 0 文件:PDF 大小:24.87MB 上传时间:2019-05-13 07:01:04 版权申诉
敏捷软件开发:原则、模式与实践HD.pdf高清版,绝对的好书软件工程实践丛书敏捷软件开发原则、模式与实践(美) Robert C. Martin著邓辉译孟岩审清华大学出版社北京内容简介享誉全球的软件开发专家和软件工程大师 Robert c. Martin向您介绍如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,讲述了在預算和时间要求下软件开发人员和项目经理如何使用敏捷开发完成项目;使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;包含了极具价值的可重用的C++和Java源代码;还重点讲述了如何使用UML和设计模式解决亩向客户系统的问题。本书于2003年荣获第13届软件开发图书震憾大奖,适于用作高校计算机专业本科生、研究生和软件学院的软件工程和软件开发相关课程的教材或参考书,也适于软件开发和管理人员提高自身水平学习之用Simplified Chinese edition copyright C 2003 by PEARSON EDUCATION ASIA LIMITED andTSINGHUA UNIVERSITY PRESS.Original English language title from Proprietor,'s edition of the WorkOriginal English language title: Agile Software Deveiopment: Principles, Patterns, and Practices,1st Edition by Robert C. Martin, Copyright C 2003E|SBN:0-13597444-5All Rights ReservedPublished by arrangement with the original publisher, Pearson Education, Inc, publishing asPearson Education, IncThis edition is authorized for sale only in the People s Republic of China(excluding the SpecialAdministrative Region of Hong Kong and Macao)本书中文简体翻译版由 Pearson Education授权给清华大学出版社在中国境内(不包括中国香港澳门特别行政区)出版发行。北京市版权局著作权合同登记号图字:01-2002-5761本书封面贴有 Pearson education(培生教育出版集团)激光防伪标签,无标签者不得销售。图书在版编目(GIP)数据敏捷软件开发:原则、模式与实践/〔美)马丁著;邓辉译,孟岩审.一北京:清华大学出版社,2003(软件工程实践丛书)书名原文: Agile Software Development: Principles, Pattens, and PracticesISBN7-302-07197-7.敏…Ⅱ.①马…②邓…③孟…Ⅲ钦件开发Ⅳ.TP3152中国版本图书馆CIP数据核字(2003)第078273号出版者:清华大学出版社地址:北京清华大学学研大厦http://www.tup.comcn邮编:100084社总机:010-62770175客户服务:010-62776969文稿编辑:尤晓东封面设计:付剑飞印刷者:北京国马印刷厂发行者:新华书店总店北京发行所开本:185×260印张:31.25插页:2字数:942千字版次:2003年9月第1版2003年9月第1次印刷书号:ISRN7-302-07197-7/TP·5239印数:1~5000定价:59.00元敏捷软件开发宣言我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也具有价值,但我们认为左项具有更大的价值Kent Beckames renningRobert c. martinMike beedleJim highsmithSteve mellorArie van bennekum Andrew huntKen schwaberalistair cockburnRon jeffriesJeff SutherlandWard Cunningham Jon KernDave thomasMartin FowlerBrian marick敏捷宣言遵循的原则我们遵循以下原则:我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。●即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势●经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好●在整个项目开发期间,业务人员和开发人员必须天天都在起工作●围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作●在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。●工作的软件是首要的进度度量标准。●敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度不断地关注优秀的技能和妤的设计会增强敏捷能力。简单—使未完成的工作最大化的艺术—是根本的●最好的构架、需求和设计出自于自组织的团队。●毎隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。面向对象设计的原贝SRP单一职责原则就一个类而言,应该仅有一个引起它变化的原因OCP开放一封闭原则软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。LSP Liskov替换原则子类型必须能够替换掉它们的基类型DP依赖倒置原则抽象不应该依赖于细节。细节应该依赖于抽象lsP接口隔离原则不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构REP重用发布等价原则重用的粒度就是发布的粒度CCP共同封闭原则包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响CRP共同重用原则个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么就要重用包中的所有类ADP无环依赖原则在包的依赖关系图中不允许存在环。SDP稳定依赖原则朝着稳定的方向进行依赖SAP稳定抽象原则包的抽象程度应该和其稳定程度一致极限编程实践完整团队和P项目的所有参与者(开发人员、业务分析师、测试人员等等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西计划游戏计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。客户测试作为选择每个所期望的特性的一部分,客户定义出自动验收测试来表明该特性可以工作简单设计团队保持设计恰妤和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复表达出了编写者想表达的所有东西,并且包含尽可能少的代码。结对编程所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的测试驱动开发程序员以非常短的循环周期工作,他们先增加一个失败的测试,然后使之通过改进设计随时改进糟糕的代码。保持代码尽可能的干净、具有表达力。持续集成团队总是使系统完整地被集成集体代码所有权任何结对的程序员都可以在任何时候改进任何代码编码标准系统中所有的代码看起来就好像是被单独一个一一非常值得胜任的一一人编写的隐喻团队提出一个程序工作原理的公共景像可持续的速度团队只有持久才有获胜的布望。他们以能够长期维持的速度努力工作。他们保存精力,他们把项日看作是马拉松长跑,而不是全速短跑中文版序:软件之美除了我的家庭,软件是我的挚爱。通过它,我可以创造出美的东西。软件之美在于它的功能,在于它的内部结构,还在于团队创建它的过程。对用户来说,通过直观、简单的界面呈现出恰当特性的程序就是美的。对软件设计者来说,被简单、直观地分割,并具有最小内部耦合的内部结构就是美的。对开发人员和管理者来说,每周都会取得重大进展,并且生产出无缺陷代码的具有活力的团队就是美的。美存在于所有这些层次之中,它们都是本书内容的一部分。软件开发人员如何学到创造美的知识呢?在本书中,我讲授了一些原则、模式以及实践,它们可以帮助软件开发人员在追求美的程序、设计以及团队的道路上迈出第一步。其中,我们探索了基本的设计原则,软件设计结构的通用模式以及有助于团队融为一个有机整体的一系列实践。由于本书是关于软件开发的,所以包含了许多代码。仔细研究这些代码是学习本书所教授的原则、模式以及实践的最有效方法人们需要软件——需要许多的软件。50年前,软件还只是运行在少量大型、昂贵的机器之上。30年前,软件可以运行在大多数公司和工业环境之中。现在,移动电话、手表、电器、汽车、玩具以及工具中都运行有软件,并且对更新、更好软件的需求永远不会停止。随着人类文明的发展和壮大,随着发展中国家不断构建它们的基础设施,随着发达国家努力追求更高的效率,就需要越来越多的软件。如果在所有这些软件之中,都没有美存在,这将会是一个很大的遗憾。我们知道软件可能会是丑陋的。我们知道软件可能会难以使用、不可靠并且是粗制滥造的:我们知道有一些软件系统,其混乱、粗糙的内部结构使得对它们的更改既昂贵又困难:我们还见过那些通过笨拙、难以使用的界面展现其特性的软件系统;我们同样也见过那些易崩溃且行为不当的软件系统。这些都是丑陋的系统。糟糕的是,作为一种职业,软件开发人员所创建出来的美的东西却往往少于丑的东西。如果你正在阅读这本书,那么你也许就是那个想去创造美而不是丑的人最好的软件开发人员都知道一个秘密:美的东西比丑的东西创建起来更廉价,也更快捷。构建、维护一个美的软件系统所花费的时间、金钱都要少于丑的系统。软件开发新手往往不理解这一点他们认为做每件事情都必须要快,他们认为美是不实用的。错!由于事情做得过快,他们造成的混乱致使软件僵化,难以理解。美的系统是灵活、易于理解的,构建、维护它们就是一种快乐。丑陋的系统才是不实用的。丑陋会降低你的开发速度,使你的软件昂贵而又脆弱。构建、维护美的系统所花费的代价最少,交付起来也最快我希望你能喜爱这本书。我希望你能像我一样学着以创建美的软件而骄傲,并享受其中的快乐如果你从本书中略微看到了这种快乐,如果本书使你开始感受到了这种骄傲,如果本书点燃了你内心欣赏这种美的火花,那么就远超过我的目标了Robert C. martin2003年8月21日The Beauty of SoftwareRobert C Martins foreword for Agile Software Development Chinese VersionNext to my family, software is my passion. It is a medium in which I try to create beauty. The beautsoftware is in it's function, in it's internal structure, and in the way in which it is created by a team. to auser, a program with just the right features presented through an intuitive and simple interface, is beautifulTo a software designer, an internal structure that is partitioned in a simple and intuitive manner and thatminimizes internal coupling, is beautiful. To developers and managers, a motivated team of developersmaking significant progress every week, and producing defect-free code, is beautiful. There is beauty onall these levels, and they are all part of the topic of this book.How do software developers learn how to create this beauty? In this book i teach the principles, patternsand practices that can help software developers take the first steps towards beautiful programs, designsand teams. In these pages we explore basic design principle, common patterns in the structure of asoftware design, and a set of practices that can help a team knit itself into a functioning whole. Since thisbook is about software development, it contains a lot of code The principles, patterns, and practices thatthis book teaches are learned most effectively by carefully studying that codeOur world needs software -lots of software. Fifty years ago software was something that ran in a fewbig and expensive machines. Thirty years ago it was something that ran in most companies and industrialsettings. Now there is software running in our cell phones, watches, appliances, automobiles, toys, andtools. And need for new and better software never stops. As our civilization grows and expands, asdeveloping nations build their infrastructures, as developed nations strive to achieve ever greaterefficiencies, the need for more and more software continues to increase. It would be a great shame if, inall that software there was no beautyWe know that software can be ugly. We know that it can be hard to use, unreliable, and carelesslystructured. We know that there are software systems whose tangled and careless internal structures makethem expensive and difficult to change. We know that there are software systems that present theirfeatures through an awkward and cumbersome interface We know that there are software systems thatcrash and misbehave. These are ugly systems. Unfortunately, as a profession, software developers tendto create more ugly systems than beautiful ones. If you are reading this book, then you are someone whowants to create beauty and not uglinessThere is a secret that the best software developers know. Beauty is cheaper than ugliness. Beauty isfaster than ugliness. a beautiful software system can be built and maintained in less time, and for lessmoney, than an ugly one. Novice software developers don t understand this. They think that they haveto do everything fast and quick. They think that beauty is impractical. No! By doing things fast andquick, they make messes that make the software stiff, and hard to understand. Beautiful systems areflexible and easy to understand. Building them and maintaining them is a joy. It is ugliness that isimpractical. Ugliness will slow you down and make your software expensive and brittle. Beautifulsystems cost the least to build and maintain, and are delivered soonestI hope you enjoy this book. I hope you learn to take as much pride and joy in the creation of beautifulsoftware that I do. If this book can show you just an inkling of that joy, motivate you to feel just thebeginnings of that pride, and provide just a spark of appreciation for that beauty, then it has more thanaccomplished my goal for it
上传资源
用户评论
相关推荐
敏捷软件开发原则模式实践HD高清PDF版本
1.书名:敏捷软件开发:原则、模式与实践 高清版PDF(Agile Software Development)2.非常好的软件设计的书,曾获13界软件开发震撼(Jolt)大奖,做软件的别说不知道这个奖
PDF
0B
2019-05-13 07:00
敏捷软件开发原则模式实践
敏捷软件开发:原则、模式与实践,主要对敏捷软件开发应该遵守的原则,及实现的方法,值得一看
RAR
0B
2019-03-02 01:42
敏捷软件开发_原则模式实践
敏捷软件开发-原则、模式与实践,程序员必读书
PDF
0B
2019-01-09 05:45
敏捷软件开发原则模式实践
软件工程大师RobertC.Martin作品,本书于2003您荣获13届软件开发图书震撼大奖
PDF
0B
2019-01-21 01:38
敏捷软件开发原则.模式实践
Robert.C.Martin的经典著作敏捷软件开发:原则、模式与实践
RAR
0B
2019-07-09 04:21
敏捷开发敏捷软件开发原则模式实践
在本书中,享誉全球的软件开发专家和软件工程大师RobertC.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南
ZIP
0B
2019-10-17 12:31
敏捷软件开发原则模式实践rar
如果你想要了解主流软件的开发方法,这是一个很好的参考文档,下来看看吧!
RAR
0B
2019-02-20 18:50
敏捷软件开发原则模式实践pdf
这是一本详细介绍敏捷开发的专业指导书,敏捷软件开发原则、模式与实践.pdf在本书中,享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件
PDF
0B
2019-02-15 15:31
敏捷软件开发原则模式实践.pdf
敏捷软件开发:原则、模式与实践,java设计模式
PDF
0B
2019-05-13 07:01
敏捷软件开发原则模式实践.pdf
本书讲授了一些原则、模式以及实践,它们可以帮助软件开发人员在追求美的程序、设计以及团队的道路上迈出第一步。本书探索了基本的设计原则,软件设计结构的通用模式以及有利于团队融为一个有机整体的一系列实践。本
PDF
0B
2019-05-13 07:01
敏捷软件开发原则模式实践全书
扫描版的《敏捷软件开发:原则、模式与实践》(全书)
pdf
0B
2019-04-10 23:38
敏捷软件开发原则模式实践
敏捷软件开发:原则、模式与实践(全) 敏捷软件开发:原则、模式与实践(全) 敏捷软件开发:原则、模式与实践(全) 敏捷软件开发:原则、模式与实践(全) 敏捷软件开发:原则、模式与实践(全)软件工程实践
PDF
0B
2019-04-29 10:54
敏捷软件开发_原则_模式实践.rar
敏捷软件开发_原则_模式与实践.rarpdf敏捷软件开发_原则_模式与实践.rar
RAR
0B
2019-05-01 01:55
敏捷软件开发原则模式实践7
敏捷软件开发:原则、模式与实践。本书是写给一线软件工校帅间。如果你想学习UML,如果你想学习如何设计软件,如果你想学习设计模式,如果你想学习最好的软件开发实践,那么请阅读本书。
RAR
0B
2019-03-28 09:30
敏捷软件开发原则模式实践10
敏捷软件开发:原则、模式与实践。本书是写给一线软件工校帅间。如果你想学习UML,如果你想学习如何设计软件,如果你想学习设计模式,如果你想学习最好的软件开发实践,那么请阅读本书。
RAR
0B
2019-03-28 09:30