


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、极限编程极限编程是一种轻量级的、灵活的、简单的软件工程方法。与传统的开发过程不同, 极限编程的核心活动表达在需求测试编码设计过程中。因此使用于规模小、进度紧、需求变化打的项目。它希望以最高的效率和质量来解决用户目前的问题,以最大的灵活性和最小的代价来满足用户未来的需求。在传统的软件系统开发中, 系统需求是在项目开发的开始阶段就确定下来的, 并在之后的开发过程中保持不变的,这就意味着从进入项目开发到之后的所有阶段出现的所有需求变更,将导致开发成本急速增加。极限编程是一种轻量级的、灵巧的、简单的软件工程方法,适合于 12 人以下的开发团队,它的主要目标在于面对商业软件系统环境做出了务实的选择, 力
2、求降低需求变更而带来的成本增加,进而提高软件的开发效率。一、 极限编程简介极限编程简称xp 是一种敏捷开发方法,供中小型组用于开发需求快速变化的软件。它是由美国软件工程专家kent beck对极限编程这一创新软件过程方法进行了解释:“xp 是一种轻质量、高效、低风险、柔性、可预测、科学而充满乐趣的软件开发方法。” 极限编程是价值而非实践驱动的高度迭代的开发过程。其价值表达在以下几个方面“第一,简单:在xp中,简单被定义为“在管用的前提下,做简单的事情”即实现最简单的可行方案。xp 认为应该尽量保持代码的简单,只要能够满足工作需要就行, 这样有利于代码重构和优化。第二,交流:所有的方法都包含在交
3、流过程中,而在xp中,这是其核心价值观。它侧重与口头交流,xp 追求有效的交流,而且强调项目开发人员、设计人员、客户之间的等有效的、及时的交流,确保各种信息的畅通。第三,反馈:反馈对于任何项目的成功都是生死攸关的,在 xp中,有关软件状态的问题是通过持续的、明确的反馈来答复的。通过反馈,大道迅速交流、编码、测试、发布项目的。第四,勇气:即勇于放弃和重构,对于用户的反馈,xp 程序员要勇于对自己的代码进行修改, 即使有些修改可能会使得原来已经通过的测试又出现错误,但是经过团队的共同攻关,最终必然会取得满意的效果。二、 极限编程的开发过程及特点与传统的开发过程不同, 极限编程的核心活动表达在需求测
4、试编码设计过程中,因此对工作环境、需求分析、设计、编程、测试、发布等提出了新的思路和需求。1、工作环境:xp要求每个参加项目开发的人都担任一个角色,并履行相应的权利和义务。所有的人都在一个开放式的开发环境中工作,最好是在同一个大房间中工作,随时讨论问题,强调每周40 小时工作制度,不加班。2、需求分析:客户被纳入开发队伍。由于客户不具备电脑专业知识,无法用专业术语明确的描述需求,所以开发人员和客户在一起,用讲故事的方式把需求表达出来,开发人员根据经验将许多故事组合起来,或将其进行分解,最终记录在小卡片上,这些故事讲陆续被程序员在各个周期内,按照商业价值、开发风险优先顺序逐个开发。3、设计:xp
5、强调简单设计,即用最简单的方法实现每个小需求。在 xp中,没有哪种传统开发模式中一次性的、针对所有需求的总体设计,这些设计只要能够满足系统客户在当前的需求就可以了, 不需要考虑将来可能的变化,整个设计过程包括在整个螺旋式发展的项目中。4、测试:xp开发人员在编写代码之前进行测试,而不是在开发完成后再进行测试。开发人员编写单元测试,对方法以及可能出现问题的每个地方进行测试。编写好对针对组件的所有测试后,开发人员只编写刚好能够通过测试的代码。编写这样的测试将为系统提供一套完整的测试,而我们只编写最简单的,能够管用的代码。仅当类通过了所有的测试,编写工作才算完成。所有这些测试是极限编程开发过程中最重
6、要的文档之一,也是最终交付给用户的内容之一。5、编程:结对编程是极限编程的一大特色,即两个人一起使用同一个屏幕,同一个键盘,共同完成一段程序的编码。结对编程的好处是,可以提高纪律性,更容易写出优质代码,同时保证编程的流畅进行,更重要的是,能够使得整个团队更方便的分享编程经验,有利于新手快速成长。6、发布:xp要求按照开发计划,每经过一个开发周期,软件就发布一次,而不是像传统的开发方法那样,整个软件开发完后才发布。在一个开发周期内,开发人员要求客户选择最有价值的user story 作为未来一两个星期的开发内容,一个开发周期完成后,提交给客户的系统虽然不是最终的产品,但是他的内容已经实现了几个客
7、户认为是最重要的story ,开发人员将逐元测试盒集成测试,因此,虽然软件并不完备但是,发布的软件客户还是可以真正使用的。三、 极限编程的优点(1)对公司的开发者而言, xp 可以让开发者专注于编写代码,防止了不必要的文案工作及会议。它营造了更好的工作氛围, 更多学习新技术的时机, 并令你的职工有成就感。(2)相比于传统开发方式,通过 xp开发的软件缺陷更少。它令公司对其商业需求的变化做出更快速的反应,而且价格低廉,开发者也少有怨言。(3)从公司管理的角度来看,这种方法可以减少你对牛人的依赖。同时它也提升了职工满意度。(4)在 xp下,你无需设计未来。你设计今天。整个理念就是,写简单代码,以及
8、在需求改变的时候相应的改变你的设计。(5). 你的开发人员是两人结队编程,从头到尾都在一起工作。代码有着统一的标准性和可读性,大家都能够理解代码并按照需求改善代码。 而且,结队编程在一定时间内是最有效率的。(6)xp项目与传统软件开发的最大区别在于,xp是以测试推动开发。在 xp下可以在编写代码之前开始测试。每一个环节的代码都要100%通过单元测试。没有unit-level bug和回归 bug也意味着开发者能够专注他们自己的工作。你的客户确立自动验收测试以确认该软件的每一个功能的运行质量。(7)在 xp下,每一个测试阶段之后都可以发布一个小体积软件。最重要的是,每一阶段完成时都有些东西能够拿
9、给客户看。(8)在传统流水线方式下, 如果项目计划变更, 之后要赶上档期就会需要很大投入。xp 的方法可以令你提前判断进程。(9)极限编程从最简单的解决方案入手。 你可以在之后添加其他功能。这个概念的目的在于为今天做计划,设计及编码,而不是为了明天。(10)来自系统,客户和团队的反馈是极限编程成功的关键。在这个概念的指导下, 系统的漏洞在前期就被发现,客户可以反复进行验收测试, 从而最大限度的降低你产品中的错误。四、 极限编程的缺点:其缺点主要表现为:1以代码为中心,忽略了设计;2缺乏设计文档,局限于小规模项目; 3对已完成工作的检查步骤缺乏清晰的结构;4质量保证依赖于测试; 5缺乏质量规划;
10、6没有提供数据的收集和使用的指导; 7开发过程不详细;8全新的管理手法带来的认同度问题; 9缺乏过渡时的必要支持五、 极限编程的运用xp适用于规模小、进度紧、需求变化大、质量要求严的项目。它希望以最高的效率和质量来解决用户目前的问题, 以最大的灵活性和最小的代价来满足用户未来的需求,xp在平衡短期和长期之间做了巧妙的安排。我国的软件开发过程经常存在一些问题,如:客户需求变化频繁、系统支付时间一推再推、交付系统错误层出不穷、因程序员半途跳槽而导致工作不能顺利完成、需求估计不足、因程序员之间交流少而导致代码重复开发、文档不能真实地反映实际情况等等。为了有效地克服上述问题,软件机构在项目开发时, 有
11、意识地采用 xp方法,并且取得了一定效果。通过对这些应用的总结, 可以概括出,xp应用确实具有一定的适用范围,而应用成功的关键在于,充分认识 xp应用过程中的优缺点, 在保持组织既有的开发过程和生命周期模型的前提下,结合应用类型、项目特点和组织文化, 借鉴、汲取个别对项目有效的xp方法,在领会其精神实质的基础上灵活运用,而不是全部照搬硬套。另外以下几个问题也是在应用中需要注意的:1、不同方法的目标对象和适用环境各不相同,学习和运用流行的过程方法论是实施过程改良的好方法,但在具体应用过程中,应整合其最正确元素,设计出适合具体实际项目的过程体系。2、在软件工程实践中要充分把握好开发技能、软件过程和组织管理各个要素的平衡,不能偏重某一方面,轻视另一方面;3、在应用 xp时,应该首先从基本实践入手,逐渐深入到扩展性实践, 因为基本实践彼此独立, 互不影响,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软件开发技术趋势试题及答案
- 加油站电路火灾应急预案(3篇)
- 行政法学的实践案例分析方法试题及答案
- 2025年软考设计师备考试题及答案全解
- 2025年软考设计师考试命题动态观察试题及答案
- 行政法学考试冲刺试题及答案
- 2025年VB编程实战试题及答案解析
- 跨平台开发考试试题及答案分享
- 2025年软考考试技巧与试题及答案分享
- 2025年软考考生成功经验与试题及答案
- 物流专线合作协议书
- 企业价值评估2课件
- 盆腔器官脱垂的中国诊治指南(2023年)
- 如何做好医患沟通
- 江苏省南师附中、天一中学、海门中学、海安中学2022-2023学年高二下学期6月四校联考化学试题
- 食品安全责任保险课件
- 国开电大《应用写作(汉语)》形考任务1-6答案
- 儿童脑瘫康复课件
- 施工现场建筑垃圾处置方案
- 固体料仓 (2.26)设计计算
- DB63-T 2112-2023 餐饮厉行节约实施指南
评论
0/150
提交评论