软件开发模式演进.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件开发模式演进

软件开发模式演进   摘要: 首先介绍对软件开发模式的理解,然后重点介绍软件开发模式发展过程中比较有代表性的三种开发模式,比较它们的优缺点,使软件开发者对软件开发模式有一个比较完整的理解和认识。   关键词: 软件开发模式;极限编程;敏捷开发   中图分类号:F062.9文献标识码:A文章编号:1671-7597(2011)0620024-01   软件开发模式是个意义很广泛的概念。从技术方面来讲,软件开发模式是设计软件的基本思想和套路;从工程方面来讲,软件开发模式也是满足商业信息化和电子化的首选的手段和方法。通俗的讲,软件开发模式就是为开发出满足业务需要的软件而选择的一种实现方式。一般情况下,人们会参考公认的最佳实践并根据具体情况,借助先进的辅助技术手段,形成符合项目所需的模式体系。   软件开发模式是因软件而生的,是依附于软件的开发过程的。软件开发模式最初被创造出来的目的,是以不变的模式来应对多变的软件需求。人们从以往的经验和问题求解过程中总结提取出了所谓模式的东西,使得在再遇到类似问题或情景的时候能够有可以参考甚至现成的最优解决方案。但是,这种最优的解决方案是相对的,因为需求层出不穷,软件技术也在不断推陈出新。   本文将就传统的瀑布开发和目前比较流行的极限编程、敏捷开发三种典型的软件开发模式展开讨论。   1 瀑布开发   瀑布开发模型(Waterfall Model)是由Royce于1970年最初提出的软件开发模型,在瀑布开发模型中,开发过程被分为六个阶段:需求分析、设计、实现、测试、安装、维护。   瀑布模型为软件开发人员提供了众多优势,系统开发有完整的生命周期,每个阶段都有指定的起点和终点,必须完整地经历周期中的每一个阶段,通过使用里程碑,过程最终可以被客户和开发者识别。在编写第一行代码之前充分强调了需求和设计,这避免了时间的浪费以及跳票的风险,同时还可以尽可能地保证实现客户的预期需求。整个瀑布开发过程需有完整的规划、分析、设计、测试及文档等管理与控制,非常符合软件工程学的分层设计思路,可以有效地确保软件质量。该开发模型成为软件开发企业使用最多的开发模型。   但是,瀑布开发模型也存在不少问题:1)通常客户需求在开始阶段是模糊、不明确的,往往在项目进程中通过双向交互,需求不断明确,而瀑布模型是强调捕获需求和设计的,显然瀑布模型不适合这种客户需求不明确或需求不断变化的情况;2)即使在确定了客户需求的情况下,根据需求估算时间和成本(瀑布模型所建议的)也是是非常困难和不准确的;3)项目需求定义和需求在开始阶段就已确定,项目后期的需求变化难以调整,看上去合理可行的设计方案在现实中往往代价昂贵或者异常艰难,从而需要重新设计。   大量实践证明:在客户需求可以在最初阶段明确的情况下并且相对稳定的项目中使用瀑布模型,可以节省大量的时间和金钱;但在不理解客户的需求或在项目进程中需求不确定、经常变化的项目中,瀑布开发模型使用将大大提高项目失败的风险。   在这种背景下,极限编程(extreme Programming,XP)带来了新的开发管理思路。   2 极限编程   极限编程(简称XP)是由KentBeck于1996年提出的。XP是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨、周密的方法。它的基础和价值观是交流、朴素、反馈和勇气,即:任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户都非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。为了能成功地实施XP,XP遵循12条准则:1)通过尽早和持续地交付有价值的软件来满足客户;2)欢迎对需求提出变更,即使是在项目开发后期。要善于利用需求变更,帮助客户获得竞争优势;3)不断交付可用的软件,周期从几周到几个月不等,且越短越好;4)项目过程中,业务人员与开发人员必须在一起工作;5)要善于激励项目人员,给他们以所需要的环境和支持,并相信他们能够完成任务;6)无论是团队内还是团队间,最有效的沟通方法是面对面的交谈;7)可用的软件是衡量进度的主要指标;8)提倡可持续的开发。项目方、开发人员和用户应该能够保持恒久稳定的进展速度;9)对技术的精益求精以及对设计的不断完善将提升敏捷性;10)要做到简洁,即尽最大可能减少不必要的工作。这是一门艺术;11)最佳的架构、需求和设计出自于自组织的团队;12)团队要定期反省如何能够做到更有效,并相应地调整团队的行为。   极限编程的12个实践是极限编程者总结的实践经典,是体现极限编程管理的原则,对极限编程

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档