极限编程之我见

极限编程之我见

ID:41032801

大小:22.00 KB

页数:4页

时间:2019-08-14

极限编程之我见_第1页
极限编程之我见_第2页
极限编程之我见_第3页
极限编程之我见_第4页
资源描述:

《极限编程之我见》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、极限编程之我见——计算机与信息工程学院09计本三班**武摘要:极限编程(XP)是一种轻量、高效、低风险、柔性、可预测、科学且充满乐趣的软件开发方法,它通过非常短的迭代周期来应对需求的变化;通过现场客户参与、独特的规划方式、持续测试来实现快速反馈和高效的交流,最终使交付价值最大化。文章就极限编程的核心准则、基本原则、核心实践、开发流程及应用等进行了讨论。关键词:软件工程;极限编程;软件开发1极限编程的基本理论KentBeck提出了极限编程这一创新的软件过程方法论,这是一种轻量、高效、低风险、柔性、可预测、科学而充满乐趣的软件开发方法,它通过非常短的迭代周期来应对需求的变化[2]。KentBeck

2、建议极限编程应用于规模小、进度紧、需求变化大、质量要求严格的项目[3]。1.1极限编程的四个核心准则沟通:项目中发现的问题往往是由于开发人员与设计人员、设计人员与客户之间的沟通不畅造成的。因此,在极限编程项目中没有沟通是不可能的。简单:极限编程认为应该尽量保持代码的简单,只要它能工作就可以。KentBeck指出与其实现一个复杂的系统,不如设计一个能够满足目前需要的、简单的系统,因为预先所考虑的情况可能永远都不会发生。反馈:尽快获得用户的反馈意见,并且越详细越好,使得开发人员能够保证自己的成果符合用户的需要。勇气:这是最重要的核心价值。因为极限编程强调要“拥抱变化”,因此对于用户的反馈,要勇于对

3、自己的代码进行修改,丢掉坏的代码。实际上,极限编程中并没有多少新的观点,它的一些实践准则也都是长久以来在使用的。1.2极限编程的五个基本原则极限编程四个核心准则提供了成功解决方案的标准,这四个核心准则又衍生了基本原则用以规范极限编程的开发。(1)快速反馈:极限编程提倡尽可能早的,迅速的反馈,让编程人员注意力放在主要的软件功能上。(2)假设简单性:极限编程试图把注意力集中在工作尽可能简单的实现上。它倡导为完成今天的工作而工作,并不计划未来对软件的扩展,而是相信自己在将来必要时有增加系统复杂性的能力。(3)提倡更改:极限编程强调要“拥抱变化”,有了快速的反馈,就应有对反馈结果的执行措施。(4)递增

4、更改:极限编程提倡小改动,用期望的功能逐步增强系统,因为第一次就进行巨大改动往往难以成功。递增更改应用在极限编程的诸多方面:设计每次只改动一小点,计划每次只改动一小点,团队每次只改动一小点等。(5)优质工作:质量是最重要的。极限编程强调团队中的成员要对工作充满兴趣和信心,保持编程人员的最高热情和水平,因为只有出色的工作才能确保优异的质量。1.3极限编程的十二个核心实践(1)计划的制定:以业务优先级和技术估计为基础,决定下一步计划发布的范围。(2)小型发布:极限编程项目组以非常短的周期按递增的方式发布新版本。(3)隐喻:极限编程客户、程序员和管理人员都可以通过隐喻来描述系统如何动作,新的功能以何

5、种方式加入到系统中等有关的系统工作原理。(4)简单设计:极限编程认为代码设计应该尽可能的简单,只要满足当前功能的要求,不多也不少。(5)测试驱动:测试先行。在编码开始之前,首先将测试写好,而后再进行编码,直至所有的测试都可以通过。(6)重构:利用重构技术处理系统的结构变化,但不改变系统的行为。它的目的是简化系统,删除无用的代码,增加灵活性。(7)结对编程:两个编程人员坐在同一台计算机前面,一个人编写代码,另一人负责审查以保证代码的正确性和可读性。(8)代码共享:整个团队拥有所有代码,任何人都可以更改任何部分。(9)经常集成:只要有任务完成,就集成新代码,构造系统,检查系统版本的所有测试工作。这

6、种集成一天可以进行多次。(10)每周工作40小时:保证每天的工作都是高效的,不能连续两周加班。(11)现场客户:极限编程同其他的快速开发一样,要求客户在现场持续地参与到项目组中。(12)编码标准:极限编程实践相互支持。例如,如果进行配对编程并让他人修改共有代码,那么编码标准就是必须的。1.4极限编程的开发流程极限编程和传统的软件工程方法一样,也分为计划、设计、编码和测试四个阶段,但具体实施起来,与传统的软件工程方法有显著的不同[4]。极限编程项目从客户开始。客户提供用以定义系统的描述,还提供用以验证系统功能的可接受性测试的脚本,而开发人员则据此组织若干个短的迭代周期,每个迭代周期的开发工作都集

7、中于当前客户认为最重要的内容描述,每一个迭代周期的结束都提供给用户一个可用的小版本,客户则根据这个小版本给出反馈,开发人员根据客户的反馈,在下一个迭代周期中作出相应的变化和改进。在迭代开发的过程中,程序员要遵循一些重要的实践准则,比如简单的设计、不断重构、持续整合、代码集体所有的成对开发等;程序员在编写代码时,必须及时测试,以保证代码的高质量。开发人员可以利用前面迭代周期里的经验,不断修正对项目进

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。