敏捷软件开发

时间:2024-03-06 点赞:46174 浏览:88417 作者原创标记本站原创

本文是一篇软件开发论文范文,软件开发相关毕业论文格式范文,关于敏捷软件开发相关专科毕业论文范文。适合软件开发及方法及软件工程方面的的大学硕士和本科毕业论文以及软件开发相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:本文简单阐述了敏捷开发方法的原理,介绍了敏捷软件开发方法的概念及其与传统的软件开发方式的不同.结合目前软件行业实际情况,从优缺点、功能、适应性等方面进行分析.比较了几种敏捷软件开发方法,帮助我们开发中使用恰当的敏捷软件开发方法.


关 键 词:XPSCRUMDSDMCrystalFDDASD

中图分类号:TP2文献标识码:A文章编号:1007-9416(2014)05-0188-01

1引言

自从软件工程产生以来,我们在降低软件开发项目的风险过程中尝试过多种方法,虽然面向对象、结构化、CMM等技术有利于帮助软件危机的解决,然而其复杂的过程使软件行业陷入低效泥沼中.2001年KentbeckMartinFowlerRobertMartin等经验论阵营的头领发起了敏捷联盟向全世界发布了他们的宣言:个体和交互胜过过程和工具;工作软件高于理解文档;客户合作胜过合同谈判;响应变化胜过遵循计划.宣言体现了软件开发方法必须去适应软件变化的特征,在宣言的基础上就提出了敏捷软件开发方法.

2敏捷方法概述

截止现在敏捷软件开发方法还没有一个确定的定义.但它的特点是重视软件生产效率的,适用于软件需求不确定、用户易沟通并且能参与开发、开发人员有责任感并且积极向上、十个人以下的小项目的开发,是以保证软件开发有成功产出为前提的,尽可能减少在开发过程中制成品的方法,体现“刚刚够”(Justenough)的观点.

人作为核心、循序渐进和迭代算法是敏捷软件开发的宗旨.在敏捷软件开发过程中,软件项目被分解成很多个小项目,每个小项目的成果都经过测试,再把他们集成起来.它的灵活性、协作性和软件的商业价值上作出的贡献是敏捷软件开发方法的优势.这都在“敏捷宣言”的核心原则中得到了体现:交互和独立工作是建立在工具和过程基础上的、软件使用是建立在文档基础上的、客户的协作是建立在合同谈判基础上的、对变更做出的响应是建立在遵循计划基础上的.

3几种常用的敏捷方法比较

3.1极限编程(XP)

极限编程(简称XP)是由KentBeck于1996年提出的,极限编程要求把它列出的每一个思想和方法都做到极限、做到最好.

极限编程的核心价值是我们在开发中必须注意的:Communication(沟通)、Simplicity(简单)、Feedback(反馈)、Courage(勇气)、此外还有第五个价值:Modesty(谦虚).因为计划赶不上变化,使用极限编程的软件开发人员只需要在开发的初期做出一些文档.极限编程把软件测试放在首位,这样以后出现漏洞的几率就会降到最低.

极限编程是一种近螺旋式的开发方法,它把复杂的开发分解为相对比较简单的小软件;通过沟通、反馈和其它的方法,客户和开发人员就可以清楚的了解到开发进度、变化、困难和急需解决的问题等,并及时地调整开发过程.

3.2SCRUM

SCRUM的宗旨是发挥构件技术和面向对象的开发方法,对迭代式面向对象方法进行改进,适用于需求不确定的产品的开发.是迭代的增量化过程,便于工作管理和产品研发.更综合了各种开发的经验.

SCRUM把项目分成N个为期15-30天的迭代阶段,称之为“冲刺”(sprint).每个“冲刺”之前,你明确这一个“冲刺”需要实现的功能,然后让开发人员去完成.但是,在“冲刺”时,SCRUM的核心是所有开发都围绕着迭代,需求是固定的.SCRUM方法中只有3中角色:SCRUM主管、开发团队、产品负责人.

3.3动态系统开发方法(DSDM)

开发一种面向领域的快速开发方法是产生动态系统开发方法的原因,动态系统开发方法在技术支持、应用推广、研究改进培训认证和培训认证等方面都比其他方法要完善,适用于对时间要求很紧的开发项目,动态系统开发方法应用范围不再仅仅局限于IT行业.

DSDM方法提倡以业务为核心,快速而有效地进行系统开发,并提出了探索式开发方法的概念.强调软件使用者一开始就预见所有需求是不可能的.该方法中,只要进能入下一步,当前的算法就是可行的.

3.4水晶方法(Crystal)

水晶方法是AlistairCockburn于上世纪90年代末提出的,水晶方法目的是发展一种提倡“机动性的”方法.

Crystal是根据项目重要性和规模来区别项目的,并给出相应的办法.所以,crystal是多种方法的组合.它阐明了要把对话和交流放在第一位的观点.Crystal方法中有两条准则:(1)应用反思工作室促使方法学的自适应,(2)使用的增量式循环不超过4个月.

3.5特性驱动开发(FDD)

特性驱动开发是一个强调快速迭代、特性驱动的软件开发方法,适用于周期短的开发.它既能保证文档和质量,又能保证软件的快速开发,并提出划分的每一个功能开发时间不超过两星期,要求两星期内生产出可见的、能运行的代码.

特性驱动开发方法认为简单的过程和良好的定义就能很好地被执行,它强调的是实用、简化、易于被开发人员接受,是一个特性驱动快速迭代的过程,适用的项目为软件需求经常变动.

3.6自适应软件开发(ASD)

自适应软件开发方法的理论来源是复杂自适应系统理论,目的是通过提高自适应性用来应对互联网时代下的软件需求难于预测并高速变化的软件开发,它与水晶方法正在相互借鉴和融合.

在一个环境中,结果是不可预测的,把计划看成是一个自相矛盾的.在计划中,偏离计划就是错误的,要纠正.而在一个适配性环境里,偏离计划恰恰是在引导开发人员走向正确的目标.在不可预测的环境中,需要我们用各式各样的方法来应对不确定性.在管理中,重点在于鼓励大家交流沟通,而不是告诉大家需要做什么,从而使开发人员能自己提出具有创造性的解决方案.

4结语

不同的开发方法对于不同的开发人员来说,意义是不同.不同的项目规模,不同的开发环境,也决定了开发团队采用哪种开发方法,本文仅仅对敏捷开发方法做了一个简单介绍,相信能为开发团队在实践中选择方法提供一个比较客观的参考.

相关论文

关于计算机软件开发中的分层技术

本文是一篇计算机软件开发论文范文,关于计算机软件开发方面毕业论文范文,关于关于计算机软件开发中的分层技术相关在职毕业论文范文。适合计。

软件开发藏猫腻

本文是一篇计算机软件论文范文,关于计算机软件硕士学位论文,关于软件开发藏猫腻相关研究生毕业论文开题报告范文。适合计算机软件及计算机及。

计算机程序语言与软件开发

此文是一篇软件开发论文范文,软件开发方面有关论文范文集,与计算机程序语言与软件开发相关自考毕业论文开题报告。适合不知如何写软件开发及。

CMMI在汽车电子软件开发过程中的应用

本文是一篇汽车电子论文范文,关于汽车电子类毕业论文开题报告范文,关于CMMI在汽车电子软件开发过程中的应用相关在职研究生毕业论文范文。适。

云时代软件开发应对新格局

该文是专业软件论文范文,主要论述了软件类毕业论文开题报告,与云时代软件开发应对新格局相关论文范文检索,适合软件及时代及技术方面的的。