您的位置:首页 > 其它

RUP迭代过程

2008-09-19 09:08 267 查看
RUP(Rational Unified Process)统一开发过程是一套面相对象的软件工程过程.
软件过程是指实施于软件开发和维护中的阶段, 方法, 技术, 实践和相关产物(计划,文档, 模型, 代码, 测试用例和手册等)的集合.有效的软件过程可以提高软件组织的生产效率, 提高软件质量, 降低成本并减少风险. 软件过程是开发高质量软件所需要完成的任务的框架.
当前流行的软件过程:
Rational Unified Process(RUP);
OPEN Process;
Object-Oriented Software Process(OOSP);
Extreme Programming(XP);
Catalysis;
Dynamic System Development Method(DSDM).
传统的软件开发模型:
1.瀑布模型
瀑布模型将软件生存周期划分为六个阶段: 需求分析,设计,实现,测试,运行,维护. 是一种线性模型,按顺序进行每个阶段的工作, 直到某个阶段工作得到确认才能进行下一阶段工作,否则返回前一阶段.
缺点: 在系统建立之前很难只依靠分析就确定出一套完整, 准确, 一致, 有效的用户需求,而且根本不能适应用户需求变化的情况.
2.螺旋模型
它保持了传统生命周期模型中系统的,阶段的方法,但将其并入了迭代框架,更加真实地反映了先是世界.螺旋模型体现了RUP中的迭代思想,即一步步接近目标系统,每完成一圈,得到一个更接近目标的圆形,同时开发的风险也随之降低.

RUP的二维开发模型
传统的瀑布开发模型是一个一维的模型,开发过程被化分为多个连续的阶段.在一段时间内,只能做某一阶段的工作. 而在RUP中,软件开发生命周期根据时间和RUP的核心工作流化分为二维空间: 横轴表示项目的时间维, 纵轴以内容来组织,为自然的逻辑活动,体现开发过程的静态结构.
RUP的工作流
共有9个,分为6个核心工作流(包括商业建模,需求,分析和设计,实现,测试,部署)和三个核心支持工作流(包括配置和变更管理,项目管理,环境).
RUP的4个阶段
RUP包括初始阶段,细化阶段,构造阶段和交付阶段. 每个阶段都由一个或多个连续的迭代组成,每个迭代都是一个完整的开发过程,是一个具体的迭代工作流从头到尾的执行. 每个阶段结束于一个主要的里程碑(Major Milestones);每个阶段本质上是两个里程碑之间的时间跨度.在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足.如果评估结果令人满意的话,可以允许项目进入下一阶段.
这四个阶段每个阶段的的侧重点都有所不同.
初始阶段: 需求和分析工作流;
初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。
细化阶段: 需求,分析和设计工作流;
细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
构造阶段: 实现工作流;
构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。
交付阶段: 实现和测试工作流.
在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
RUP的迭代开发模型

RUP中的每个阶段都可以进一步分解为迭代. 一个迭代是一个完整的开发循环, 产生一个科执行的产品版本, 是最终产品的一个子集, 它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统.
在工作流中的每一次顺序的通过称为一次迭代.软件生命周期式迭代的连续, 通过它, 软件是增量的开发.
迭代过程的优点:

降低了在一个增量上的开支风险. 如果开发人员重复某个迭代, 那么损失只是这个开发有误的迭代的花费.
降低了产品无法按照既定进度进入市场的风险.通过在开发早期确定风险, 可以尽早解决问题而不至于在开发后期匆匆忙忙.
加快了整个开发工作的进度. 因为开发人员清楚问题的焦点所在, 他们的工作会更有效率.
由于用户的需求并不能在一开始就做出完全的界定, 通常是在后续阶段中不断细化的. 因此, 迭代过程这种模式使适应需求的变化会更容易.

----------------------------------------------------------------------------------
RUP的三大特点:
软件开发是一个迭代过程;
软件开发是由Use Case驱动的;
软件开发是以构架设计(Architectural Design)为中心的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: