期刊在线

快速论文发表热线: 010-57745461

客服中心

全国免费咨询:

QQ : 点击这里给我发消息 3077874057


电话:010-57745461


邮箱: hexinon@163.com


邮箱:hexinon@126.com

期刊库导航

行业资讯

最新论文

最热论文

敏捷软件开发论文

2017-12-04 09:40:25  字体:   打印 收藏 

摘 要:敏捷软件开发中的风险管理 摘 要:敏捷软件开发的诞生源于对高失败率的传统软件开发方法的改进和探索,是一种处理软件开发过程中各个级别上风险的软件开发方法。但是敏捷软件开发很少明确地看到风险管理的内容,经常缺乏对风险的关注。本文根据敏捷软件开发的

关键词:敏捷软件开发论文


  敏捷软件开发中的风险管理

  摘 要:敏捷软件开发的诞生源于对高失败率的传统软件开发方法的改进和探索,是一种处理软件开发过程中各个级别上风险的软件开发方法。但是敏捷软件开发很少明确地看到风险管理的内容,经常缺乏对风险的关注。本文根据敏捷软件开发的特点和项目风险管理理论,从人、过程、产品和技术四个纬度就如何防范和缓解敏捷软件开发风险进行了探析。

  推荐期刊:《信息与电脑:理论版》

  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)

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

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

  3.6 自适应软件开发(ASD)

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

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

  4 结语

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

  参考文献

  [1]杨帆,徐俊刚.一种改进的Scrum敏捷软件开发方法[J].电子技术,2011.

  [2](美)Alistair Cockburn,苏敬凯译.敏捷软件开发[M].机械工业出版社,2008.

  为您拓展阅读推荐现代科学技术论文

[版权说明]本站论文版权属于作者本人,您可以参考、阅读、鉴赏本站论文,也可以利用本站论文进行论文创作,但不得抄袭、复制!本站免费论文主要来源于用户投稿和互联网,如果涉及到侵权问题,请联系我们予以删除。


上一篇:计算机软件毕业论文 下一篇:游戏软件开发论文

联系我们

投稿咨询电话:010-57745461
投稿咨询QQ:3077874057
论文投稿邮箱:hexinon@163.com
投诉建议邮箱:hexinon@126.com
在线投稿

论文发表说明

1. 如果您需要发表论文,请联系我们,客服人员会及时处理;
2. 专业编辑人员,为您的论文提供建议,使论文顺利发表;
3. 合作期刊,全国最全,与杂志社关系稳定,保证刊期。