什么是极限编程-极限编程是什么意思

时间:2017-04-19 11:08:52 计算机/网络/信息/数学 我要投稿

什么是极限编程-极限编程是什么意思

  极限编程是一个新的概念,那你知道什么是极限编程吗?以下是阳光网小编要与大家分享的什么是极限编程,供大家参考!

  极限编程的定义

  极限编程(ExtremeProgramming,简称XP)是由KentBeck在1996年提出的。KentBeck在九十年代初期与WardCunningham共事时,就一直共同探索着新的软件开发方法,希望能使软件开发更加简单而有效。Kent仔细地观察和分析了各种简化软件开发的前提条件、可能性以及面临的困难。1996年三月,Kent终于在为DaimlerChrysler所做的一个项目中引入了新的软件开发观念——XP。适用于小团队开发。

  极限编程:相关概念

  软件开发的过程

  软件开发的过程是:需求分析、设计、编码和测试。

  需求分析:不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据……为了清楚地知道这些需求,你经常要和客户、项目经理等交流。

  设计:编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。

  编码:如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。

  测试:目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。

  客户的权利和义务

  定义每个用户需求的商业优先级;

  制订总体计划,包括用多少投资、经过多长时间、达到什么目的;

  在项目开发过程中的每个工作周,都能让投资获得最大的收益;

  通过重复运行你所指定的功能测试,准确地掌握项目进展情况;

  能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划;

  能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。

  开发人员

  知道要做什么,以及要优先做什么;

  工作有效率;

  有问题或困难时,能得到客户、同事、上级的回答或帮助;

  对工作做评估,并根据周围情况的变化及时重新评估;

  积极承担工作,而不是消极接受分配;

  一周40小时工作制,不加班。

  其他问题

  灵巧的轻量级软件开发方法

  一套软件开发方法是由一系列与开发相关的规则、规范和惯例。重量级的开发方法严格定义了许多的规则、流程和相关的文档工作。灵巧的轻量级开发方法,其规则和文档相对较少,流程更加灵活,实施起来相对较容易。

  在软件工程概念出现以前,程序员们按照自己喜欢的方式开发软件。程序的质量很难控制,调试程序很繁琐,程序员之间也很难读懂对方写的代码。1968年,Edsger Dijkstra给CACM写了一封题为GOTO Statement Considered Harmful的信,软件工程的概念由此诞生。程序员们开始摒弃以前的做法,转而使用更系统、更严格的开发方法。为了使控制软件开发和控制其它产品生产一样严格,人们陆续制定了很多规则和做法,发明了很多软件工程方法,软件质量开始得到大幅度提高。随着遇到的问题更多,规则和流程也越来越精细和复杂。

  到了今天,在实际开发过程中,很多规则已经难于遵循,很多流程复杂而难于理解,很多项目中文档的制作过程正在失去控制。人们试图提出更全面更好的一揽子方案,或者寄希望于更复杂的、功能更强大的辅助开发工具(CaseTools),但总是不能成功,而且开发规范和流程变得越来越复杂和难以实施。

  为了赶进度,程序员们经常跳过一些指定的流程,很少人能全面遵循那些重量级开发方法。

  失败的原因很简单,这个世界没有万能药。因此,一些人提出,将重量级开发方法中的.规则和流程进行删减、重整和优化,这样就产生了很多适应不同需要的轻量级流程。在这些流程中,合乎实际需要的规则被保留下来,不必要的复杂化开发的规则被抛弃。而且,和传统的开发方法相比,轻量级流程不再象流水生产线,而是更加灵活。

  ExtremeProgramming(XP)就是这样一种灵巧的轻量级软件开发方法。

  为什么称为“Extreme”(极限)

  “Extreme”(极限)是指,对比传统的项目开发方式,XP强调把它列出的每个方法和思想做到极限、做到最好;其它XP所不提倡的,则一概忽略(如开发前期的整体设计等)。一个严格实施XP的项目,其开发过程应该是平稳的、高效的和快速的,能够做到一周40小时工作制而不拖延项目进度。

  极限编程:核心价值

  极限编程中有四个核心价值是我们在开发中必须注意的:沟通(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)、此外还扩展了第五个价值观:谦逊(Modesty)。  XP用“沟通、简单、反馈、勇气和谦逊”来减轻开发压力和包袱;无论是术语命名、专著叙述内容和方式、过程要求,都可以从中感受到轻松愉快和主动奋发的态度和气氛。这是一种帮助理解和更容易激发人的潜力的手段。XP用自己的实践,在一定范围内成功地打破了软件工程“必须重量”才能成功的传统观念。

  XP精神可以启发我们如何学习和对待快速变化、多样的开发技术。成功学习XP的关键,是用“沟通、简单、反馈、勇气和谦逊”的态度来对待XP;轻松愉快地来感受XP的实践思想;自己认真实践后,通过对真实反馈的分析,来决定XP对自己的价值;有勇气接受它,或改进它。


看过“什么是极限编程”的人还看了:

1.

2.

【什么是极限编程-极限编程是什么意思】相关文章:

1.挑战极限小学作文

2.极限挑战励志文章

3.最新的编程模拟试题-2017年编程模拟试题

4.编程个人实习心得

5.编程工作实习心得

6.编程实习的心得

7.超越极限人生哲理

8.意志的极限人生感悟