当前位置: 主页 > 论文库 > 计算机 > 计算机理论 >

基于RUP软件过程进度管理模型的探讨与其在垂直搜索引擎上的应用

时间:2013-01-04 14:33 来源:www.lunwen163.com 作者:163论文网 点击:

 

摘  要:本文从进度管理模型入手描述了迭代维和工作流维上进度管理,利用该模型结合笔者近期的垂直搜索项目,说明RUP进度管理模型在项目开发中的应用,最后给出应用效果同理论验证。
关键词: RUP ; 过程管理模型; 迭代;垂直搜索
Abstract:This article based on the model of process management to describe the process management of Iterative dimension and Workflow dimension. Using this model to explain the application process based  on Software Process Management Model. At last giving the result to check theory.
Key words: RUP; Process management model; Iterative ;Vertical search;
1   引言
软件项目进度管理是软件项目成功与否的关键,是软件项目管理的首要内容。因此规范化的软件开发需要一个过程来集成软件开发各方面,该过程能对整个开发团队的开发活动进行组织和指导。目前市场上以用例驱动、架构为中心,迭代和增量开发为特点的RUP(Rational Unified Process)被广泛应用[1]。本文描述RUP软件项目进度管理模型,并结合笔者参加的一个大赛—开发垂直搜索引擎这一项目,阐述RUP管理流程在垂直搜索引擎项目整个开发、实施过程的应用。

2   基于RUP的软件过程进度管理模型的描述
2.1   进度管理模型概述
RUP的进度管理模型[2],是由二维坐标来描述——水平轴代表时间,显示了过程动态的一面,是用周期、阶段、迭代、里程碑等术语描述。垂直轴代表静态的一面,是用活动、产品和工作流描述的。
RUP的二维结构体现了RUP的核心指导思想,它定义了一系列的过程元素(如角色、活动和产物等),通过适当的组合能够帮助软件开发组织有效的管理软件过程。二维结构中的迭代和阶段反映了项目开发过程中进度在时间上的推移,而构成二维结构中的工作流的活动是进度的执行和度量单元。

2.2   迭代维上进度管理
RUP二维结构中的横轴反映阶段和迭代的信息,其在系统的开发生命周期内共有4个阶段:(1)初始阶段、(2)细化阶段、(3)构造阶段、(4)交付阶段[3]。每个阶段都是一次迭代过程,在迭代维上进行多次迭代,达到上一个阶段管理规定才进入下一阶段,经过四个阶段迭代会产生一代软件。因此,阶段和迭代的信息在一定程度上反映了软件项目进度管理在时间上的组织方式,成为进度计划以及进度控制的时间单元。

2.3   工作流维上进度管理
RUP二维结构中的纵轴代表着工作流,一共有9个工作流[4]:商业建模工作流描述对目标软件进行建模;需求工作流定义系统功能;分析和设计工作流将需求转化对系统架构;实现工作流定义软件的组织结构;测试工作流验证软件是否正确实现;部署工作流是将给予RUP迭代生产的软件交付用户使用;配置与变更管理工作流描述在软件开发过程中的组织准则;项目管理平衡各种风险,克服困难按期交付给用户产品;环境工作流则为软件开发过程提供过程与工具。
这9个工作流和特定的角色以及工件相关,是使信息或任务在同一个阶段的不同角色之间传递与执行的过程序列。从某种意义上讲,工作流维上的进度管理主要控制不同角色间的相互协作的关系。一次迭代由一系列特定有序的活动集组成,这一集合中的活动属于不同的工作流,由不同的角色执行,这些具体活动就是迭代计划的任务单元[2]。因此使用RUP迭代过程可以实现软件开发的自适应管理,通过在每次迭代发布递增的用户价值获得反馈,从而在早期就能消除风险、提高对开发周期和质量的可预测性,并获得相关利益者更高的信任。

3   RUP进度管理模型在项目开发的应用
3.1   规范化的开发垂直搜索引擎流程
在开发该垂直搜索引擎过程中,我们把开发周期划分为初始阶段、细化阶段、构造阶段、交付阶段,每个阶段都进行多次迭代。我们团队还对RUP的9个工作流进行不同程度利用与改进。

3.2初始阶段
进行业务建模、需求分析,此时项目管理全面介入项目的开发过程,并对项目的开发过程提供有效的管理。由于比赛设定好功能需求,在需求分析工作流中,团队主要工作是关注业务及需求方面、核准定义、需求文档,对困难作出预测[5]。

3.3细化阶段
该阶段规划垂直搜索引擎项目,确定开发的体系结构,三个模块:爬取模块、索引模块、检索模块;选择已有的开源项目;阶段评估;进行构建。其中确定体系结构是建立软件结构,避免不可预测的风险;为垂直搜索引擎的实现建立进度表;建立支持环境,在本项目中需要构建JDK、数据库、Tomcat以及集成开发环境MyEclipse;选择已有的开源项目,如爬虫模块采用Heritrix开源爬虫;对项目进行评估,是否已经找到主要的风险元素并得到妥善处理。在该阶段本团队进行了模块划分,三位组员分别对各自分得的模块进行详细设计与系统设计,得出类图,时序图、数据流图功能描述IPO图等。

3.4构造阶段
搜索引擎开发过程中,细化阶段完成了部分工作,此阶段开发所有剩余的模块。编程实现并利用预留接口集成,进行系统测试。从实施的过程来看,构造阶段按照架构进行制造的过程,但该阶段不只有制造,仍需要分析设计,仍然需要项目管理始终按照预先定义的管理规范执行。因此项目开发过程中团队在该阶段主要编码的实现,实现项目核心功能;同时按照工作流进行迭代,达到预先定义的设计目标。

3.5交付阶段
垂直搜索引擎项目在该阶段,完成大部分工作,团队工作重点是部署测试,此时配置与变更管理迭代流对项目的开发过程将会加大迭代的力度。该阶段的目标是系统运行并演示,在运行过程中发现缺陷。系统经全面测试并试运行后没有缺陷,编制用户手册,让用户正确使用系统软件。

4 效果验证
垂直搜索引擎系统的开发过程严格按照了进度管理模型的描述进行开发,在该模型描述的四阶段,每个阶段进行一个或多个迭代组成,因此使得在整个软件过程开发中减少了一次过的风险,即提高了软件的生产成活率,还提高了软件的质量和用户的满意度。通过应用该模型,本项目的开发达到了以下目的:
(1)提高过程的适应性[6]。实现软件开发的自适应管理,通过每次迭代发布递增的用户价值获得反馈,从而在早期消除风险。
(2)实现软件过程的组织管理。管理的主要目标是减少风险、控制质量,在该项目开发过程中,对每一个阶段进行迭代管理,指导满足停止条件。
(3)实现软件过程的技术管理。对技术架构、问题分析和决策方法、技术路线在过程中都有明确的定义及执行方案。
(4)实现软件过程的项目管理。对配置管理过程、项目估算、资源管理、项目风险评估、项目计划都有迭代式的管理,保证软件项目不超过预算。
(5)实现软件过程的质量管理。制定软件质量方针、质量评估方法、质量度量,使得开发系统的质量得到改进,开发的系统与用户描述的需求更加接近,使系统具有可扩展性、可维护性、可重用性。
参考文献(References)
[1] 尤克滨,周夕崇,张晨曦,胡宁.基于RUP构件J2EE应用.机械工业出版社.2004年6月.pp31-55
[2] 张洋.基于RUP的项目进度管理模型研究与实现.大连海事大学.2006年3月.PP35-37
[3] 朱少民,左智.《软件过程管理》,清华大学出版社,2006年10月,pp.247-253
[4] 张洁.统一软件开发过程RUP.山东轻工业学院,现在教育中心.2006年.pp2
[5] 彭慧.RUP项目管理流程在CRM系统开发中的应用.兰州石化公司自动化研究院办公室.甘肃兰州:甘肃
科技.2010年11月.pp1-3.
[6] 余军.浅析软件过程的管理实践.西南大学高职学院,重庆401147.计算机科学2008.pp117