- 软件项目管理(第二版)
- 刘凤华 罗菁
- 1015字
- 2021-04-01 18:54:46
1.4.8 XP方法
敏捷方法是近几年兴起的一种轻量级的开发方法,它强调适应性而非预测性,强调以人为中心,而不以流程为中心,以及对变化的适应和对人性的关注,其特点是轻载、基于时间、并行并基于构件的软件过程。在所有的敏捷方法中,XP(Extreme Programming)方法是最引人注目的一种轻型开发方法。它规定了一组核心价值和方法,消除了大多数重量型过程的不必要产物,建立了一个渐进型开发过程。该方法将开发阶段的4个活动(分析、设计、编码和测试)混合在一起,在全过程中采用迭代增量开发、反馈修正和反复测试。它把软件生命周期划分为用户故事、体系结构、发布计划、交互、接受测试和小型发布6个阶段,采用这种开发模型的软件过程如图1-9所示。
图1-9 采用XP方法的软件过程
XP模型通过对传统软件开发的标准方法进行重新审视,提出了由一组规则组成的一些简便易行的过程。由于这些规则是通过在实践中观察使软件高效或缓慢的因素而得出的,因此它既考虑了保持开发人员的活力和创造性,又考虑了开发过程的有组织、有重点和持续性。XP模型是面向客户的开发模型,重点强调用户的满意程度。开发过程中对需求改变的适应能力较高,即使在开发的后期,也可较高程度地适应用户的改变。
XP开发模型与传统模型相比具有很大的不同,其核心思想是交流(Communication)、简单(Simplicity)、反馈(Feedback)和进取(Aggressiveness)。XP开发小组不仅包括开发人员,还包括管理人员和客户。该模型强调小组内成员之间要经常进行交流,在尽量保证质量可以运行的前提下力求过程和代码的简单化;来自客户、开发人员和最终用户的具体反馈意见可以提供更多的机会来调整设计,保证把握正确的开发方向;进取则包含于上述3个原则中。
XP开发方法中有许多新思路,如采用“用户故事”代替传统模型中的需求分析,“用户故事”由用户用自己领域中的词汇并且不考虑任何技术细节准确地表达自己的需求。XP模型的优点如下:
(1)采用简单计划策略,不需要长期计划和复杂模型,开发周期短。
(2)在全过程采用迭代增量开发、反馈修正和反复测试的方法,软件质量有保证。
(3)能够适应用户经常变化的需求,提供用户满意的高质量软件。
综上所述,软件开发模型随着软件设计思想的改变而发展,经历了由最初以结构化程序设计思想为指导的瀑布模型,到以面向对象思想为指导的喷泉模型,再到以构件开发思想为指导的基于体系结构的开发模型等。每次新的软件设计思想的突破都会出现新的软件开发过程模型,以达到提高软件的生产效率和质量为目标,提出新的解决“软件危机”问题的方案。