1、RUP中的迭代如何体现、有何特色?假设你的团队原先使用的是
瀑布模型,如何由瀑布模型转变到RUP?
答:RUP突出的特点是它是一种以用况为驱动、以体系结构为中心的迭代、增
量式开发。迭代就是指把一个大的项目按需求重要性等,分成若干步实现,每一
步的结果都是可以满足用户进一步需求的产品(即一个增量),而每一步都有系
统的需求分析,设计,实施,测试等过程。这就叫迭代。
在RUP中,将整个开发生命周期分为4个阶段:初始阶段、细化阶段、构
造阶段、移交阶段。根据需求,各个阶段都可以细分为小的迭代。每个迭代类似
小型的瀑布模式。项目每一次的迭代都会产生一个可以发布的版本,这个版本是
最终产品的一个子集。迭代的思想如下图所示。
比如说建一个网站,可分为以下几步来完成
1、按用户的要求建一个静态网站
2、按用户的要求可以动态发布信息
3、可以分栏发布信息
4、实现会员管理
5、会员级别以及会员收费系统
每步都是一个迭代过程,两次相邻的迭代所得到的发布版本只差就是一个增量。
RUP迭代的特色:
1、每次迭代都按照专门的计划和评估标准,产生一个发布版本。
2、RUP的迭代增量式开发是演化模型的一个变体,它规定了“大的”迭代数目
——四个阶段,并规定了每次迭代的目标。
初始阶段的基本目标是:获得与特定用况和平台无关的系统体系结构轮廓,
以此建立产品功能范围;编制初始的业务实例,从业务角度指出该项目的价值,
减少项目主要的错误风险。
精化阶段的基本目标是:通过捕获并描述系统的大部分需求(一些关键用
况),建立系统体系结构基线的第一个版本,主要包括用况模型和分析模型,减
少次要的错误风险;到该阶段末,就能够估算成本、进度,斌跟你过详细地规划
构造阶段。
构造阶段的基本目标是:通过演化,形成最终的系统体系结构基线(包括系
统的各种模型和各模型视角下的体系结构描述),开发完整的系统,确保产品可
以开始向客户交付,即具有初始操作能力。
移交阶段的基本目标是:确保有一个实在的产品发布给用户群。期间,培训
用户如何使用该软件。
3、RUP的迭代分为“大的”迭代,即四个阶段,每个阶段又分为“小的”迭代,
即每个阶段里计划的迭代。每个阶段的结束是项目的主里程碑(有四个),主里
程碑是管理者和开发者的同步点,用以决定是否继续进行项目,确定项目的进度、
预算、需求等。而每一次“小的”迭代又产生一个次里程碑,产生一个增量,次
里程碑是如何进行后续迭代的决策点。产生了同步点和决策点可以及时的发现错
误,减少风险。迭代式开发的一个主要目的就是尽早降低风险,通过每次迭代中
分析、按重要性排序并解决主要风险,来达到尽早化解风险的目的。
4、对于阶段任务来说,规定必须完成的就得必须完成;而对于迭代来说,一旦
有任务完不成,可以考虑放入下一个迭代中继续进行,节省开发时间。
由瀑布模型转变到RUP的四个步骤
多数的软件开发团队仍然在开发项目中使用瀑布型的开发过程。采用瀑布型
开发方法意味着要以严格的顺序来完成一系列的项目阶段:需求分析、设计、实
现/集成然后是测试。当项目中出现的问题解时,可能会推迟测试阶段才能发现;
这些问题可能会威胁软件发布的期限并且使其他阶段的团队成员在某些开发环
节上是空闲的。
所以很多团队开始考虑将项目分解成为两个或者更多的部分,也称为阶段或
者是时期。这种改良可以帮助简化集成、使测试人员更早的进行测试工作并提供
更早的项目状态的反馈。
多数的瀑布型的项目将开发工作划分为阶段或者时期;可以将这个划分视为
向迭代方法转换的第一步。但是实现向迭代开发方法的过渡,一般要使用下面四
个步骤来:
尽早的构建功能原型。
划分详细设计、实现和测试阶段到不同的迭代中。
在项目早期基线化一个可执行的架构。
采用迭代式的和风险驱动的管理过程。
进一步的解释每一个步骤如下:
步骤1:尽早的构建功能原型
作为向迭代开发转换的第一步,在需求和设计阶段要考虑一个或者更多的功
能原型。将你认为有风险的或者有难度的部分原型化,并且使用来自每一个阶段
的反馈修改你的设计。设计这些原型的目标是减少主要的技术风险和认清项目应
该做什么。
步骤2:将详细设计、实现和测试等不同的阶段划分到不同的迭代中。
在知道整个项目是关于哪方面的开发之前去把一个项目划分成为各个迭代
部分是困难且不准确的。但是,进入了详细设计阶段时,通常对需求和系统的架
构都有了较好的理解,这个时候就可以开始划分迭代部分了。假设有九个子系统,
每一个都有数量日益增加的组件。就可以划分详细设计、实现和测试阶段到三个
迭代中,每个迭代实现九个子系统中的三个。这样经过三次迭代就可以完成九个
子系统的开发。
步骤3:在项目的早期构建一个可执行的架构。
你可以将这个步骤看作是更加正式和有组织的完成步骤1(尽早的构建功
能原型)的方法。
可执行的架构是系统的部分的实现,更重要的是,它能够证明设计能够满足
对于性能、生产能力、容量可靠性、可测量性和其他方面的需求。一个可执行的
架构允许你在稍后的阶段在这一基础上构建所有的系统功能性。这个可执行的架
构是一个进化的原型,它的目的是当系统的架构成熟时,保持已经被证明的系统
特性,并保证他们最大可能的满足系统的需求。换句话说,这些特性将是交付系
统的一部分。与你在步骤1中构建的功能原型相比,这个进化的原型覆盖了架构
问题的所有方面。
生成一个进化的原型意味着你要设计、实现和测试一个系统的框架结构。这
个原型会反映你的关键设计的决定,包括技术、主要组件和他们之间接口的选择。
步骤4:采用迭代式的和风险驱动的管理过程。
由上面的步骤2和步骤3,我们将会一个非常接近“理想”迭代开发的模
型。所以接下来的步骤应该是融合步骤2和步骤3,并添加支持风险驱动和迭
代开发的管理生命周期。这就是在RUP中被描述的迭代开式的生命周期。
RUP对迭代开发提供了一个结构化的方法,它将一个项目划分成为四个阶
段:初始阶段、细化阶段、构造阶段、移交阶段。每一个阶段包含了一个或者更
多的迭代,每个迭代都关注产生的可交付物以实现阶段的业务目标。如果在团队
计划的迭代次数内他们没有成功的实现这些目标,他们必须为那个阶段添加额外
的迭代—并且推迟项目。为了避免这种事情发生,一定要严格的将你的精力集
中在每个阶段你需要实现的业务目标上。例如,如果在构造阶段将精力集中在需
求上将会成生相反的效果。
专业:计算机应用技术学号:1113303013姓名:李美燕
本文发布于:2023-01-04 03:30:56,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/88337.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |