敏捷软件开发51637

敏捷软件开发51637

ID:34581240

大小:783.85 KB

页数:27页

时间:2019-03-08

敏捷软件开发51637_第1页
敏捷软件开发51637_第2页
敏捷软件开发51637_第3页
敏捷软件开发51637_第4页
敏捷软件开发51637_第5页
资源描述:

《敏捷软件开发51637》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、敏捷软件开发宣言我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划虽然右项也具有价值,但我们认为左项具有更大的价值。KentBeckJamesGrenningRobertC.MartinMikeBeedleJimHighsmithSteveMellorArievanBennekumAndrewHuntKenSchwaberAlistairCockburnRonJeffriesJeffSutherlan

2、dWardCunninghamJonKernDaveThomasMartinFowlerBrianMarick-1-敏捷宣言遵循的原则我们遵循以下原则:我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。围绕被激励起来的个体来构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。

3、在团队内部,最具有效果并且富有效率的传递信息的方法,就是面对面的交谈。工作的软件是首要的进度度量标准。敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一个长期的、恒定的开发速度。不断地关注优秀的技能和好的设计会增强敏捷能力。简单——使未完成的工作最大化的艺术——是根本的。最好的构架、需求和设计出自于自组织的团队。每隔一定时间,团队会在如何才能更有效地工作方面进行反省,然后相应地对自己的行为进行调整。-2-面向对象设计的原则SRP单一职责原则就一个类而言,应该仅有一个引起它变化的原因。OCP开放-封闭原则软

4、件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。LSPLiskov替换原则子类型必须能够替换掉它们的基类型。DIP依赖倒置原则抽象不应该依赖于细节。细节应该依赖于抽象。ISP接口隔离原则不应该强迫客户依赖于它们不用的方法。接口属于客户,不属于它所在的类层次结构。REP重用发布等价原则重用的粒度就是发布的粒度。CCP共同封闭原则包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。CRP共同重用原则一个包中的所有类应该是共同重用的。如果重用

5、了包中的一个类,那么就要重用包中的所有类。ADP无环依赖原则在包的依赖关系图中不允许存在环。SDP稳定依赖原则朝着稳定的方向进行依赖。SAP稳定抽象原则包的抽象程度应该和其稳定程度一致。-3-极限编程实践完整团队XP项目的所有参与者(开发人员、业务分析师、测试人员等等)一起工作在一个开放的场所中,他们是同一个团队的成员。这个场所的墙壁上随意悬挂着大幅的、显著的图表以及其他一些显示他们进度的东西。计划游戏计划是持续的、循序渐进的。每2周,开发人员就为下2周估算候选特性的成本,而客户则根据成本和商务价值来选择要实现的特性。客户测试作为

6、选择每个所期望的特性的一部分,客户定义出自动验收测试来表明该特性可以工作。简单设计团队保持设计恰好和当前的系统功能相匹配。它通过了所有的测试,不包含任何重复,表达出了编写者想表达的所有东西,并且包含尽可能少的代码。结对编程所有的产品软件都是由两个程序员、并排坐在一起在同一台机器上构建的。测试驱动开发程序员以非常短的循环周期工作,他们先增加一个失败的测试,然后使之通过。改进设计随时改进糟糕的代码。保持代码尽可能的干净、具有表达力。持续集成团队总是使系统完整地被集成。集体代码所有权任何结对的程序员都可以在任何时候改进任何代码。编码标准

7、系统中所有的代码看起来就好像是被单独一个——非常值得胜任的——人编写的。隐喻团队提出一个程序工作原理的公共景像。可持续的速度团队只有持久才有获胜的希望。他们以能够长期维持的速度努力工作。他们保存精力,他们把项目看作是马拉松长跑,而不是全速短跑。-4-前言敏捷开发(AgileDevelopment)是一种面临迅速变化的需求快速开发软件的能力。为了获取这种敏捷性,我们需要使用一些可以提供必要的纪律和反馈的实践。我们需要使用一些可以保持我们的软件灵活、可维护的设计原则,并且我们需要知道一些已经被证明针对特定的问题可以平衡这些原则的设计模

8、式。本书试图把所有这3个概念编织在一起,使它们成为一个有机的整体。第Ⅰ部分敏捷开发原则(principle)、模式(pattern)和实践(practice)都是重要的,但是使它们发挥作用的是人。正如AlistairCockburm所说的,“过程和

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。