基于RUP的软件开发过程研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:bbcr
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着对软件需求的不断增大,要求的不断提高,软件开发机构迫切地需要一种能够更有效地开发更高质量软件的方法。统一软件过程RUP是一种用例驱动,以架构为中心,采用迭代增量方式开发的软件工程过程。RUP作为一种通用的软件过程框架,适用于大多数的软件项目,而信息系统的开发,也需要引入一种适当的开发过程作为指导,以提高质量、开发效率和复用性等。
  关键词:RUP;软件过程;用例驱动;核心工作流
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)21-30459-03
  
  Research of RUP-based Software Development Process
  SONG Xin
  (School of Information and Electronic Engineering, Zhejiang University of Science and Technology, Hangzhou 310023, China)
  Abstract: With the continuous growing demand and requirement for software, software developers need a more effective development method of higher-quality software development. Rational Unified Process is a software engineering Process which is use case driven,architecture-centric and using iterative and incremental developing method. RUP is a general framework of software Process. It fit for most software Projects, developing Information system,also need a development Process to advance the quality,efficiency and reusability.
  key words: RUP; Software Process; Use case driven; Core Workflow
  
  1 引言
  
  行之有效的软件过程可以提高开发软件组织的生产效率、提高软件质量、降低成本并减少风险。传统的软件过程采用结构化技术,其缺陷对于开发中小规模、结构相对简单的软件而言似乎不明显,但对于规模庞大、结构复杂、软件需求模糊的软件开发项目则容易产生开发人员缺乏交流、缺少共享信息的问题。为弥补这方面的缺陷,适应软件开发的需要,涌现了许多行之有效的软件开发过程,其中应用比较广泛且具有代表性的软件过程主要有RUP、XP、OOSP、DSDM、Catalysis和OPEN Process等几种[1-2],本文将对具有较高知名度的RUP统一过程及其应用进行研究。
  
  2 RUP的开发要点
  
  RUP(Rational Unified Process)是由 Rational公司开发的一种软件工程过程,主要由 Ivar Jacobson的The Objectory Approach和 The Rational Approach发展而来,是文档化的软件工程产品。所有RUP的实施细节及方法引导均以Web文档的方式集成,由Rational公司开发、维护并销售,为各种软件开发组织提供了一种有效的分配、管理任务和职责的规范方法,保障开发组织能够在预定的进度和范围内开发出满足最终用户需要的高质量软件产品[2]。RUP又是一个通用框架,各个组织可根据自身情况及项目规模等对RUP进行裁剪和改进,以制定出合乎需要的软件工程过程。RUP的总体结构如图1所示。
  RUP是一种具有明确定义和结构的软件工程过程。它采用用例驱动、以架构为中心、迭代增量的软件开发方法[3]。它明确规定了人员的职责、如何完成各项工作以及何时完成各项工作,并提供了软件开发生命周期的结构。自诞生时起,就引起了全球软件行业的关注,经过大量商业实践表明,RUP是解决软件开发过程中根本问题的方法。
  
  2.3 RUP是迭代增量开发
  开发一个商业软件产品是一项艰巨的工作,可能持续几个月、一年甚至更长时间。因此,将一项工作分解成若干更小的部分或若干小项目是切合实际的。每个小项目是指能产生一个增量的一次迭代。迭代是指工作流中的步骤,而增量指的是产品的增加部分。在每次的迭代过程中开发人员标识并描述有关的用例,以选定的架构为向导来创建设计,用构件来实现设计,并验证这些构件是否满足用例。如果一次迭代达到了目标,开发工作便可以进入下一次迭代。如果一次迭代未能达到预期的目标,开发人员必须重新审查前面的方案,并试用一种新的方法。
  一个增量是一次迭代的内部版本与下一次迭代的内部版本直接的差别。迭代过程是以逐渐递增的方式构造出最终模型,每次迭代在经历需求、分析、设计、实现和测试时,会对每种模型增加一些内容。其中有些模型(如需求模型)在初期会得到更多的关注;而其他模型(如实现模型)则在构造期间成为关注的重点[5]。迭代和增量的开发意味着,有计划地完成每一个袖珍的项目,直至产品的最终完成。图4描述了软件的RUP迭代开发过程。
  2.4 RUP是可裁剪的
  对于RUP的应用范围,一直以来都存在着一些争论和错误的观点。人们以为“软件工程过程”一定要遵循大量的规定、指导和格式,并且所有标准充满了管理性的规定,通常只对大型团队开发大型项目时有指导意义,只有当系统足够复杂时才需要使用。事实上,RUP是一个通用的软件过程,它可以通过裁剪,适用与大多数的软件项目。对于RUP是否可以变的敏捷,应用于中小规模项目中,许多专家也已经提出了他们的看法。著名学者Michael Hirsch在其《Making RUP Agile》一文中写道“Can this be agile? Yes it can,if you know what to choose.”他通过在许多小项目上成功应用了RUP后,指出RUP完全可以适应小项目的需要,在小项目中成功应用RUP的一个关键是仔细选择合适的制品子集并保持这些制品非常简明、剔除不需要的形式主义制品。因而,在应用RUP时很关键的一点,就是要根据项目自身的特点,结合实际情况,对RUP过程进行裁剪,“量体裁衣”,只有找到适合自己的方法,才能发挥其良好的效果。
  
  3 RUP开发过程
  
  为了能够方便地管理软件开发过程,监控软件开发状态,RUP把软件生命周期划分为若干次迭代,每次迭代生成一个产品的新版本并依次由四个连续的阶段组成,每次迭代都应完成确定的任务,正是这些迭代过程不断产生系统新的增量,使产品不断成熟,从低版本软件不断过渡到高版本软件。
  软件生命周期被分解为周期,每一个周期工作在产品新的一代上,RUP将周期又划分为初始(Inception)、细化(Elaboration)、构造(Construction)和移交(Transition)四个连续的阶段。每个阶段都终结于一个良好定义的里程碑。其实,每个阶段就是两个主要里程碑之间的时间跨度[6]。在每个阶段结束时要依据里程碑目标进行工作评估,以确定是否实现了该阶段的目标以及是否可以进入下一个阶段。如图5所示为各阶段和里程碑的关系。
  
  在初始阶段,项目组集中精力理解最初的需求,确定范围并组织项目。要理解最初的需求,可能要进行业务建模及其他基本的建模活动。细化阶段是建立系统架构的基线,以便为构造阶段的主要设计和实施工作提供一个稳定的基础的阶段。构造阶段是将主要精力集中在现象设计、实现以及测试来充实一个完整的系统的阶段。移交阶段是系统正式投入运行前的阶段,要达到的主要目标是确保软件完全满足用户需求。
  工作流,是产生具有可观察结果的活动序列,每个工作流产生一些有价值的工件。RUP共有9个工作流,其中分为6个核心过程工作流:业务建模、需求、分析和设计、实现、测试、部署工作流;3个核心支持工作流:项目管理、配置和变更控制、环境工作流。这9个工作流并不是顺序执行的,而是在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。核心工作流的迭代开发循环模型如图6所示。
  
  4 结论
  
  RUP是新一代软件工程开发方法,近年来在软件开发领域中得到了广泛关注。RUP采用面向对象技术,在迭代的开发过程、需求管理、分析与设计、可视化软件建模、验证软件质量及控制软件变更等方面为软件开发人员提供了相应的准则、模板和工具。在软件开发过程中应用RUP,可以规范管理,降低软件复杂性,减少软件开发风险,提高软件质量。
  
  参考文献:
  [1] Ian Sommerville.Software Engineering[M].北京:机械工业出版社,2006.
  [2] Scott W. Amble.The Unified Process Elabration Phase Best Practices in Implementing the UP[M].北京:机械工业出版社,2005.
  [3] 余八一.现代软件工程过程方法探析[J].科技资讯,2007,1(02):45.
  [4] 张友生.基于RUP的软件过程及应用[J].计算机工程与应用,2003(30):104-107.
  [5] 陆永忠,饶璟祥.小型软件项目RUP裁剪模型的研究[J].计算机工程与设计,2007,28(03):3027-3030.
  [6] 吕西红,陈志刚.统一软件开发过程RUP中的关键技术研究[J].信息技术,2006(1):27-29.
其他文献
摘要:作为19世纪最负盛名的传记文学家,罗曼·罗兰堪称这一时代的传记文学第一人。他通过自己的作品深刻地描写了欧洲国家在该时期的思想与文学艺术的发展,为世界文学的发展进行着努力,成功地完成了自身思想的转变。本文通过对代表作《贝多芬传》的分析,刻画了音乐家贝多芬的另一面人生。  关键词:贝多芬传记文学内涵结构  引言  罗兰是19世纪法国著名的作家,其擅长对人物传记的描写,其中《贝多芬传》就是罗兰最具
一、选购理由  如今的手机市场,巨屏机、通话平板非常火爆,它们的出现逐渐改变人们的网络生活。要知道,性能够强、屏幕够大,上网冲浪才过瘾,而在巨屏智能手机市场,尽管市场上有不少7英寸平板具有通话功能,但在满足通话以及影音娱乐需求的同时,7英寸的机身设计确实不够方便携带,手持使用更不方便。毕竟,对于口袋放不下的朋友来说这是一件很纠结的事隋。  手机作为人们随身必需品,除了充当通讯和娱乐工具外,很多时候
【关键词】学生习作,舆情价值,教学价值,教育价值  学生习作,是其在写作学习过程中的“练手”作品。在中小学写作教学中,习作主要分为两种类型:一是预写型,在习作指导之前进行的自主练笔,这是教师把握学情的常态举措;二是导写型,在习作指导之后,发生的写作活动,主要用来反馈教学成效和开展习作讲评。习作综合地反映了学生群体的表达水准、思维秩序、精神状态、道德情操等。一位优秀的语文教师,能站在学生“文心”孕育
摘要:文章通过对办公自动化OA系统的研究阐述,结合嘉兴市中医医院的实际应用和浙江省医德医风考核模块的嵌入实现的情况,证明OA系统提高了医院行政办公效率,方便了医德医风考核评价分析,促进了数字化医院建设。  关键词:办公自动化;医院管理  中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)22-pppp-0c    改革开放30年来,中国经济得到迅速发展,人民生活水平显著提
摘要:《关雎》为何居《國风》之首,居《诗经》之冠?对这一个古老问题至今仍存在两种论说方式,经学的论说方式从诗篇的道德伦理功用来立论,后代的文学论说则从诗篇自身的特点来立论。这两种论说不同的着眼点反映了时代的变迁。  关键词:《关雎》《诗经》之冠 经学论说 文学论说  一、《关雎》凭什么居《國风》之首、居《诗经》之冠?  一部作品集的第一篇可能代表整部集子的精神倾向,例如:《古诗十九首》的《行行重行
摘要:通过分析社会动漫专业的发展,结合本校的动漫专业建设,根据“五个对接”的指导方针,提出动画影视制作的核心教学内容After Effects软件教改方案,通过“行动导向”对基础能力模块进行授课,“量变引导质变“的特效应用模块训练,积累“商业案例”素材,激励学生参加技能竞赛,把学生培养成动画影视合成技术的复合型人才。  关键词:After Effects;动画视频;课程开发;教学改革  中图分类号
摘要:针对目前计算机通识教育在高校非计算机类学生中教学中存在的弊端,文中以青岛科技大学为例,分析了现有计算机类公共课程设置的不足,对互联网背景下的计算机公共基础课的课程改革策略进行了探讨。文中提出了课程改革的原则和目标,并分析了课程改革的四个主要方向和内容,为青岛科技大学计算机公共基础课程的改革提供了有益指导。  关键词:互联网;计算机公共基础课;课程改革  中图分类号:G424 文献标识码:A
摘要:近十多年来,在语文教学界形成一个新的流派,综观他们理论体系和专著,有相似的地方,即把“言语”这个概念引入语文教学,在教学中通过真实或模拟的生活化教学,从而提高其语文能力,故称之为“言语实践派”。其代表人物是洪镇涛、王尚文、李维鼎和李海林。  关键词:言语实践派洪镇涛王尚文李维鼎李海林  言语实践派形成的背景  1904年的语文单独设科,把我国的语文教育划分为两个历史阶段,以前属古代语文教育,
摘要:随着现代化信息技术以及计算机技术的迅猛发展,计算机网络的应用以及影响范围随之扩大。由于计算机网络开放性的特点,关于其可靠性的研究得到广泛的关注。该文针对计算机网络可靠性的方法进行研究,明确其基本概念以及设计准则,保证计算机网络可靠性的提升。  关键词:计算机网络;可靠性;设计准则  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)28-6629-02  随着信
摘要:任职教育士官学员普遍存在自主探究学习能力不足的问题,对此,以《计算机应用基础》课程为例,提出通过课程教学内容、教学方法和考核方式等方面的一系列改革,适度引入探究教学,激发学员学习兴趣,培养学员的学习主动性和探究学习能力,进而提升教学效果。  关键词:士官学员;自主探究学习能力;计算机应用基础  中图分类号:G64 文献标识码:A 文章编号:1009-3044(2014)35-8504-02