①RUP--
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的
程序开发提供指导方针,模版以及事例支持。 RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process
都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)
整合在一个统一的框架内。
②XP(极限编程)--
极限编程(ExtremeProgramming,简称XP)由KentBeck在1996年提出的,极限变成是一种软件工程方法学,
是敏捷软件开发中最富有成效的几种方法学之一。如同其他敏捷方法学,极限编程和传统方法学的本质不同在于它更强
调可适应性而不是可预测性。极限编程的支持者认为软件需求的不断变化是很自然的现象,是软件项目开发中不可避免的、
也是应该欣然接受的现象;他们相信,和传统的在项目起始阶段定义好所有需求再费尽心思的控制变化的方法相比,
有能力在项目周期的任何阶段去适应变化,将是更加现实更加有效的方法
③敏捷过程--
1.4.1敏徒迅准与极限编程
1.敏捷过程
为了使软件开发团队具有高效工作和快速响应变化的能力,17 位著名的软件专家于
2001年2 月联合起草了敏捷软件开发宣言。敏捷软件开发宣言由下述4 个简单的价值
观声明组成。
(1) 个体和交互胜过过程和工具
优秀的团队成员是软件开发项目获得成功的最重要因素;当然,不好的过程和工具也
会使最优秀的团队成员无法发挥作用。
团队成员的合作、沟通以及交互能力要比单纯的软件编程能力更重要。
正确的做法是,首先致力于构建软件开发团队(包括成员和交互方式等),然后再根据
需要为团队配置项目环境(包括过程和工具)。
(2) 可以工作的软件胜过面面俱到的文档
软件开发的主要目标是向用户提供可以工作的软件而不是文档;但是,完全没有文档
的软件也是一种灾难。开发人员应该把主要精力放在创建可工作的软件上面,仅当迫切
需要并且具有重大意义时,才进行文档编制工作,而且所编制的内部文档应该尽量简明扼
要、主题突出。
店求完整准确地表述在合同中,能够满足客
(3) 客户合作胜过合同谈判
次性地把他们 的雷
切协作,因此,能指导开发团
客户通常不可能做到
,开发团队与客户密
户不断变化的需求的切实可行的途径是,
队与客户协同工作的合同才是最好的合同。
(4) 响应变化胜过遵循计划
软件开发过程中总会有变化,这是客观存在的现实。一个软件过程必须反映现实,因
此,软件过程应该有足够的能力及时响应变化。然而没有计划的项目也会因陷人混乱而
失败,关键是计划必须有足够的灵活性和可塑性,在形势发生变化时能迅速调整,以适应
业务和技术等方面发生的变化。
在理解上述4 个价值观声明时应该注意,这些声明只不过是对不同因素在保证软件
开发成功方面所起作用的大小做了比较。说一个因素更重要并不是说其他因素不重要,更
不是说某个因素可以被其他因素代替。
根据上述价值观提出的软件过程统称为敏捷过程,
,其中最重要的是极限编程。