- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈敏捷软件开发.doc
浅谈敏捷软件开发
摘要:本文简单阐述了敏捷开发方法的原理,介绍了敏捷软件开发方法的概念及其与传统的软件开发方式的不同。结合目前软件行业实际情况,从优缺点、功能、适应性等方面进行分析。比较了几种敏捷软件开发方法,帮助我们开发中使用恰当的敏捷软件开发方法。
关键词:XP SCRUM DSDM Crystal FDD ASD
中图分类号:TP2 文献标识码:A 文章编号:1007-9416(2014)05-0188-01
1 引言
自从软件工程产生以来,我们在降低软件开发项目的风险过程中尝试过多种方法,虽然面向对象、结构化、CMM等技术有利于帮助软件危机的解决,然而其复杂的过程使软件行业陷入低效泥沼中。2001年Kent beck Martin Fowler Robert Martin等经验论阵营的头领发起了敏捷联盟向全世界发布了他们的宣言:个体和交互胜过过程和工具;工作软件高于理解文档;客户合作胜过合同谈判;响应变化胜过遵循计划。宣言体现了软件开发方法必须去适应软件变化的特征,在宣言的基础上就提出了敏捷软件开发方法。
2 敏捷方法概述
截止现在敏捷软件开发方法还没有一个确定的定义。但它的特点是重视软件生产效率的,适用于软件需求不确定、用户易沟通并且能参与开发、开发人员有责任感并且积极向上、十个人以下的小项目的开发,是以保证软件开发有成功产出为前提的,尽可能减少在开发过程中制成品的方法,体现“刚刚够”(Just enough)的观点。
人作为核心、循序渐进和迭代算法是敏捷软件开发的宗旨。在敏捷软件开发过程中,软件项目被分解成很多个小项目,每个小项目的成果都经过测试,再把他们集成起来。它的灵活性、协作性和软件的商业价值上作出的贡献是敏捷软件开发方法的优势。这都在“敏捷宣言”的核心原则中得到了体现:交互和独立工作是建立在工具和过程基础上的、软件使用是建立在文档基础上的、客户的协作是建立在合同谈判基础上的、对变更做出的响应是建立在遵循计划基础上的。
3 几种常用的敏捷方法比较
3.1 极限编程(XP)
极限编程(简称XP)是由KentBeck于1996年提出的,极限编程要求把它列出的每一个思想和方法都做到极限、做到最好。
极限编程的核心价值是我们在开发中必须注意的:Communication(沟通)、Simplicity(简单)、Feedback(反馈)、Courage(勇气)、此外还有第五个价值: Modesty(谦虚)。因为计划赶不上变化,使用极限编程的软件开发人员只需要在开发的初期做出一些文档。极限编程把软件测试放在首位,这样以后出现漏洞的几率就会降到最低。
极限编程是一种近螺旋式的开发方法,它把复杂的开发分解为相对比较简单的小软件;通过沟通、反馈和其它的方法,客户和开发人员就可以清楚的了解到开发进度、变化、困难和急需解决的问题等,并及时地调整开发过程。
3.2 SCRUM
SCRUM的宗旨是发挥构件技术和面向对象的开发方法,对迭代式面向对象方法进行改进,适用于需求不确定的产品的开发。是迭代的增量化过程,便于工作管理和产品研发。更综合了各种开发的经验。
SCRUM把项目分成N个为期15-30天的迭代阶段,称之为“冲刺”(sprint)。每个“冲刺”之前,你明确这一个“冲刺”需要实现的功能,然后让开发人员去完成。但是,在“冲刺”时,SCRUM的核心是所有开发都围绕着迭代,需求是固定的。SCRUM方法中只有3中角色:SCRUM主管、开发团队、产品负责人。
3.3 动态系统开发方法(DSDM)
开发一种面向领域的快速开发方法是产生动态系统开发方法的原因,动态系统开发方法在技术支持、应用推广、研究改进培训认证和培训认证等方面都比其他方法要完善,适用于对时间要求很紧的开发项目,动态系统开发方法应用范围不再仅仅局限于IT行业。
DSDM方法提倡以业务为核心,快速而有效地进行系统开发,并提出了探索式开发方法的概念。强调软件使用者一开始就预见所有需求是不可能的。该方法中,只要进能入下一步,当前的算法就是可行的。
3.4 水晶方法(Crystal)
水晶方法是Alistair Cockburn于上世纪90年代末提出的,水晶方法目的是发展一种提倡“机动性的”方法。
Crystal是根据项目重要性和规模来区别项目的,并给出相应的办法。所以,crystal是多种方法的组合.它阐明了要把对话和交流放在第一位的观点。Crystal方法中有两条准则:(1)应用反思工作室促使方法学的自适应,(2)使用的增量式循环不超过4个月。
3.5 特性驱动开发(FDD)
特性驱动开发是一个强调快速迭代、特性驱动的软件开发方法,
文档评论(0)