首页 极限编程与增量开发模型的对比分析

极限编程与增量开发模型的对比分析

举报
开通vip

极限编程与增量开发模型的对比分析极限编程与增量开发模型的对比分析 崔 华 (武汉理工大学计算机科学与技术学院 计算机软件与理论, 武汉430070) 【摘要】面对日益增长和变化的需求,传统的软件工程需要不断改进保证理论对实践的指导 作用,重构、设计模式、面向对象测试都是最近新发展起来的技术,它们的出现推动了方法 论的发展,极限编程、增量模型便是这些方法论中最为令人注目的两种,文中通过分析它们 的原理、有缺点,提出了一种基于增量模型引入极限编程、风险分析和原型的开发方法。 【关键词】极限编程 没有银弹 并行过程 增量模型 The Comp...

极限编程与增量开发模型的对比分析
极限编程与增量开发模型的对比分析 崔 华 (武汉理工大学计算机科学与技术学院 计算机软件与理论, 武汉430070) 【摘要】面对日益增长和变化的需求,传统的软件工程需要不断改进保证理论对实践的指导 作用,重构、设计模式、面向对象测试都是最近新发展起来的技术,它们的出现推动了方法 论的发展,极限编程、增量模型便是这些方法论中最为令人注目的两种,文中通过分析它们 的原理、有缺点,提出了一种基于增量模型引入极限编程、风险分析和原型的开发方法。 【关键词】极限编程 没有银弹 并行过程 增量模型 The Comparison And Analysis between Extreme Programming & Increasing development model Cui-hua (Computer Science &Technology School Of WuHan University Of Technology, Graduate Computer Software & Theory, WuHan 430070) 【Abstract】With increasing and unstable requirement of software, traditional software engineering must take some measure to appropriate it and ensure itself as a guiding of software development. Refractory, design patterns, comprehensive unit testing, pair programming are the tools of developers who are exploring new ways to meet the difficult goals of rapid product delivery, low defect levels, and flexibility. Extreme Programming and increasing model are the best presentation of it, in this paper, analysis the advantages and flaws of them at first, then giving a new method which is base on extreme programming and risk analysis and prototype model. 【Key words】XP No sliver bulletin paralleling process Increasing model 引言 在上个世纪七十年代经历了软件危机之后,软件工程受到信息技术领域的广泛关注, 在这三十年里,软件工程无论是在理论上还是在实践中都取得了很大的进展,从技术上讲, 现代软件开发技术都以面向对象技术为核心,通过管理技术与开发技术相结合来最大限度的 解决用户需求的变化和开发 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 之间的矛盾,提高软件生产率。在开发过程中,选取合适的 模型进行构建目标系统,在管理上通过风险分析以及软件配置管理来协调软件开发进度和产 品质量的之间的关系,达到利益最大化。但是,随着信息技术的发展和在大规模软件的应用, 曾级数增长的软件需求和日益膨胀的软件开发队伍使得现有的软件开发技术和管理技术面 临着严峻的挑战,于是在软件工程领域出现了各种各样的软件开发方法和开发技术,从管理 和技术以及软件开发涉及到的方方面面来解决软件危机遗留下来的各种问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 ,极限编程和增 量模型便是这众多方法和理论中的一种,它们都从如何适应变化了的需求,如何理解、表达 和解决复杂的问题域来提高软件生产效率。 极限编程与增量式开发模型 传统的软件工程是重量级的开发模式,从问题定义到维护都采用严格的评审 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,提 倡以文档为驱动(对整个软件项目而言),人员之间的交流与沟通主要是通过项目文档实现 的,项目文档的编写势必要占用大量的人力物力,然而在整个软件开发过程中由于通讯问题 带来的费用占到了软件总体开发成本的6,,由于开发小组成员的增加,通讯费用会呈线性 增长,因此在大型项目中文档的编写和沟通产生的费用实际上可以占到整个项目的10,或 者更多。 Harlan Mill建议所有软件系统都应该以增量的方式开发,即,首先系统应该能够运行,即使未完成任何有用功能,只能正确调用一系列伪子系统。接着,系统逐步被充实,子系统 【】3轮流被开发,或者是在更低的层次调用程序、模块、子系统的占位符(伪程序)等。 增量开发模型采用递增的方式,使开发以所谓的增量模式进行,产品北作为一系列的增量构件来设计、实现、集成和测试。增量开发模型在哥哥阶段并不提交一个可实际运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。整个产品被分解为构件,开发人员将构件逐个的交付给产品,用户在从第一个构件交付时起便可以同步使用、测试和反馈已交付产品的性能,从而引入了软件并行开发过程,可以从更多方面提高软件生产率。这也 【4】证明了重用和交互的构件开发是解决软件根本困难的一种方法 极限编程是在复用基础之上的轻量级开发模式,提倡简化软件开发过程,通过四个原则和四个过程实现以最小的代价开发出令客户满意的软件产品。极限编程提出以测试驱动开发过程的向前推进,用隐喻来取代传统软件工程中的软件体系结构,用配对开发来取代正式的软件开发小组,简化开发小组自身的复杂性,提出了人人参与,及时反馈的开发原则,对传统的开发过程进行改进,通过大量的测试和修正实践来提高软件维护时的效率,通过简洁的设计模式使得设计简单化,用大多数人乐于接受的方式来改善和提高协作水平,让软件开发过程容易控制,促进软件生产效率的提高。 极限编程和增量式开发模型中存在的问题 从实践上看无论是极限编程还是增量开发模型在软件开发过程中都体现出来了他们的价值,但是它们和任何其他理论一样,在自己发展的初期都暴露了自己的缺陷和不足,都有自己的适用范围。传统的软件工程通过一系列严格的规定和方法来约束和管理开发过程,可以说它是基于方法论的,旨在使软件开发更可预见并更加有效。这些方法论借鉴其它的工程规范,通过制定一个严格强调计划的详细的过程来达到这样的目标。但是这些方法学的体系庞大,并且涉及众多的学科,所以这种方法要遵循的规则复杂,往往阻碍整体的开发进度。 极限编程通过简化传统的重量级软件工程来实现自由软件和小项目的开发在良好有序的状态下进行。以改进沟通和反馈的途径为手段,提高通信效率,简化文档和设计,完成传统软件工程追求的目标。它同增量模型有着许多共同之处,采用迭代设计过程,注重重用,但是忽略了在软件开发过程中人员的依赖关系以及运行中的系统分析和设计。 软件开发过程中不同人员之间的关系联系是十分紧密的,任何一个开发人员都要和其他人员进行交互,存在沟通问题,面对面的沟通和交流可以加快对问题形成共识,但并不一定总是如此,因此引入标准是减少无休止争吵的前提。 任何一种软件工程理论都认同一个相同的观点:发现错误越早,修改该错误的成本就越低,这就意味着如果能在需求阶段改正尽可能多的错误,那么软件开发成本将会大幅度的降低。 极限编程采用隐喻来简化系统架构,使得需求和高层设计的结果更加直观,易于评价和 理解,实现采用结对编程的方式来加快程序员对特定问题的理解,以便产生更为简单的代码,采用整个生命周期不间断的测试来保证软件的质量和可维护性,但是它却忽视了软件产品开发过程中人员之间的依赖性以及更改运行中的系统分析和设计等问题。 软件开发过程中,特别是基于面向对象的软件开发本质上都是面向构件和重用的,它引入了一个新的问题――并行过程,如果人员之间没有很好的协调和细致的分工使用再好的技术都是徒劳,所以正式的开发小组是必须的,文档的编写也必须详细,这些都是不可避免,也是至关重要的,因为它关系到重用问题,另外,软件开发过程中人员的变动是任何一个公司和管理技术都必须面对的,但是可以采用一定的预防措施减少这种影响产生的“抖动”效,从某种意义上说正式的开发小组也是一种可以限制人员变动产生的负面作用的一种方式。 按照布鲁克斯的观点,可以认为传统的软件工程(包括面向对象软件工程)它解决的是软件开发中的主要问题。但是如果开发的次要部分少于整个工作的9/10,那么即使不占用任何时间(除非出现奇迹),也不会给生产率带来数量级的提高,因此,必须着手解决开发的 【】5根本问题。然而主要问题和次要问题再不同的系统中是不同的,极限编程解决的是诸如测试之类的主要问题和文档编写、沟通交流之类的次要问题,但是它并不是万能的。 在软件开发过程中主要复杂性和工作量在复用获取、体系结构、建立原型、配置管理、正式集成、和项目管理以及编写文档。在具有1000个功能点的外包软件活动中有以下的参数 【】8估计。 项目管理、编写文档、建立原型和体系结构占用了大量的开发成本,编写文档可以通过文档规范化来从某种程度上简化但是极限编程的灵活方便的沟通和修改必须的面对另外一个难题,项目管理的复杂度问题,产生这个问题的关键是要保证开发人员意见和各种活动的同一性必须引入大量的管理工具如:SCM工具,版本管理工具等,这些软件是不可能有开发人员自己编写的,同时引入这些工具也是必须的,从这方面来说它并没有比增量开发模型优越。 和极限编程不同的是,增量模型沿用了传统软件工程的各种理论,加入了风险分析和管理,是软件工程七原则的应用,它采用正式的开发小组,严格的管理和分阶段的测试,有利于分工和更准确的控制开发过程,但是它本身也存在和当前开发协调的因素,变动的需求产生无休止的迭代,使得开发陷入无法提交任何可用产品的状态之中。 增量模型采用分阶段的测试给人的感觉是测试成了一个单独的阶段,实际上的软件开发过程测试是贯穿与开发活动的始终,分阶段的测试往往导致信息交流和反馈速度缓慢,成本开支过大,往往达到开发总成本的30,,40,。 再次,增量模型关注的是软件开发过程中的主要问题的解决,忽视了次要问题的分析和解决,除了在沟通交流上有严格的通信路径占用大量资源外,文档的结构也有待改进,分析方法、表示方法要统一,力求简单直观。 一种改进的软件开发方法 要提高软件开发的效率,必须从开发方法和技术等多方面来进行。极限编程和增量模型都是面对变化的需求对传统软件工程作出的变化,但是它们都或多或少的存在不足。因此我们必须找出一种拥有两者优点的方法来继承它们,同时改进它们的缺陷,通过对BEP(电子商务平台)和EAIP(企业应用集成)项目的开发中各种问题的分析,原型的建立、开发文档的编写、项目小组之间的沟通、测试的规模、软件配置管理是制约项目成功的关键。 在项目开始前必须确定开发小组的构成形式,文档和设计的标准及规范,项目中必须用到的管理和设计工具,在对需求进行风险分析后提交需求 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 ,根据需求分析然后制定需求规格 说明书 房屋状态说明书下载罗氏说明书下载焊机说明书下载罗氏说明书下载GGD说明书下载 ,在进行风险分析后提交需求规格说明书,经过风险分析建立原型,然后根据确认的原型开发构件,在创建构件的同时进行测试,然后通过组装测试创建产品,给出实际可运行的系统。 结束语 极限编程和增量模型作为一种开发方法出现和应用是软件工程发展里程中的重要一步,是对变化的一种自觉的调整和适应,但是它们和其他任何一种方法论一样,在发展的初期都 有不成熟的地方,因此我们必须在实际的开发过程中通过实践来完善它们,使它们解决问题 的能力更高,更灵活,能够成为提高软件生产率的工具。原型方法、极限编程等都是人们在 长期的软件开发活动中总结的经验和教训的结晶,我们只用通过学习、实践、分析、改进, 不断发展各种理论知识和方法论,才能推动科学理论的发展。在软件工程上,已经证明任何 一种新的理论都可以用软件工程七原则来说明,这同时也表明了任何问题都是可以通过不断 的学习和研究在理论上给予解决的,这个改进的开发方法不能说明它解决了软件开发的所有 问题,但是它继承了许多被实践和理论证明有效的方法,同时解决了各个单一方法的缺陷, 因此在实际开发过程中使可行的。 参考文献 【1】Kent Beck 著,唐东铭 译 极限编程, 北京 人民邮电出版社,2002 【2】Erich Gamma, Richard Helm, Ralph johnsom, John Vlissides著, Design Patterns Elements of Reusable Object-Oriented Software. British Pearson Education Litimted 2002 【3】Frederick P.Brooks?JR著. The Mythical Man Month 北京 清华大学出版社 ,2002 【4】Cox, B. J., There is a silver bullet, Byte, Amercian 1990 【5】Frederick P.Brooks?JR 著. 没有银弹:软件工程的根本和次要问题 IFIPS 1986 【6】Glass, R. L, S. A. Conger, Research software talks: Intellectual or clerical? Information or Management, Amercian 1992. 【7】Stephen R.Schach 著,袁兆山 等译,软件工程, 北京 机械工业出版社 1999 【8】FergusO’Connell著 How to Run Successful Projects III ,The Silver Bullet British Pearson Education Litimited, 2001
本文档为【极限编程与增量开发模型的对比分析】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594886
暂无简介~
格式:doc
大小:115KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-11-13
浏览量:49