论文摘要:RUP被广泛应用于不同领域,它提供了一整套严格的方法来分配并管理软件开发组织中的任务和责任。通过应用RUP,软件开发团队可以开发出满足最终用户需求的高质量软件产品,并且可以有效地控制项目的进度和预算。在阐述RUP思想和模型的基础上,给出了实际项目的应用案例。
关键词:RUP;软件工程;UML;应用案例
作者简介:张新荣(1977-),男,广西壮族自治区通信产业服务有限公司技术服务分公司工程师,研究方向为计算机通信。(注:该论文已发表于《软件导刊》2013年第4期,若转载请注明作者及本文链接,谢谢。)
0引言
随着软件规模的迅速增长,软件系统越来越庞大,软件的可开发性与可维护性已成为IT界和管理界关注的课题。传统的开发模式已不能满足时刻变化的用户需求,所以软件开发人员不得不寻找一种全新的、高效率的软件开发方法。RUP(RationalUnifiedProcess,统一软件过程)是一种新的软件开发方法,该方法正是结合用户需求与软件开发而提出的一种循环开发过程。它是由Rational公司定义,在统一建模语言基础上,以体系结构为中心,通过用例驱动与风险驱动相组合的迭代式开发过程。
1RUP核心思想
RUP汲取了其它开发模型的优势,具有良好的实践性。自RUP被推出市场,凭借Booch、IvarJacobson以及Rumbagh在业界的领导地位以及与统一建模语言UML(UnifiedModelLanguage)的良好集成、多种CASE工具的支持和持续的升级与维护,迅速得到业界广泛的认同和应用,越来越多的项目组把它作为开发软件和管理项目的模型框架。RUP的核心思想如图1所示。
(1)迭代式开发。迭代式开发就是在开发软件的过程中尽早并且持续地化解风险,在开发完每一个模块之后都要对该模块进行单元测试,尽早找出子模块中存在的错误并改正,以减少最后集成测试中的错误。
(2)采用用例分析捕获用户需求。用例的主要优势在于以用户需求为中心,通过用例分析可以更加明确用户的功能性需求,从而为开发团队成员在设计、实现、测试和最终编写用户手册过程中提供业务指导,以保证最后所开发出的软件产品符合用户需求。
(3)使用基于构件的体系结构。使用基于构件的体系结构对软件的开发有一定的益处,例如:模块独立性强,这样,一旦在集成测试中发现错误时就不一定要修改整个软件,只修改有问题的模块就可以解决问题,这样可以为测试节省一定的人力与开支,最重要的是可以保证所开发软件产品的整体结构。
构件具有高度的可塑性,可以对所使用的构件进行一定的扩充或修改以使该构件满足所开发系统的需要;构件还具有接口清晰、简明、可靠等特点,所以,使用构件可以降低集成阶段的困难。
(4)通过UML符号进行可视化建模。UML是被广泛采用的一种面向对象建模语言,它包括7种模型图,分别为组件图、部署图、类图、序列图、状态图、活动图和用例图。这些图又分为静态模型图和动态模型图,其中实现静态建模的有类图、组件图和部署图;类图可以将一组类、界面、协作以及这些元素之间的关联关系显示出来,通常分为抽象类和实现类;组件图,以可视化方式提供系统的物理视图,并显示系统中组件的依赖关系;部署图,表示系统物理部署与到服务器环境中的拓扑结构,主要包括节点和连线。其它4种图用来描述系统的动态行为。用例图,描述系统的功能单元,一个用例表示一个具体的业务功能,它以图形化的方式表示系统内部的用例结构、系统外部的参考者以及它们之间的交互;顺序图,强调的是时间顺序,显示某个用例详细的业务流程。顺序图是二维关系图,其垂直方向是以时间顺序显示消息传递以及方法调用顺序,水平方向显示发送和接受消息的对象实例;状态图,描述系统的动态特征,包括状态、转换、事件和活动等;活动图,描述系统在处理某活动时两个或两个以上对象间的活动流程。
2RUP开发模型
RUP中的软件生命周期在时间上分解为4个顺序阶段,分别是:初始阶段(Inception)、精化阶段(Elaboration)、构造阶段(Construction)和交付阶段(Transition)。每个阶段结束于一个主要的里程碑。在每个阶段的结尾执行一次评估以确定这个阶段的成果是否满足预定的目标。如果评估结果符合要求,则允许项目进入下一个阶段。RUP的开发模型如图2所示。
(1)初始阶段(Inception)。初始阶段主要是业务调研和设计蓝图,并在所有项目干系人间达成关于项目总体方向和生命周期目标的协议。在项目开始前必须确定关键业务,评估项目风险
(2)精化阶段(Elaboration)。精化阶段的目标是为了确定系统的体系架构。该体系架构考虑到了最关键最重要的业务需求和风险的评估。生命周期体系架构里程碑为系统的体系架构建立了一个管控基准。
(3)构造阶段(Construction)。构造阶段是一种生产过程,其目标是在进一步明确需求的基础上完成特定体系架构的系统开发。此阶段主要关注对项目资源的管控和对进程的控制,以达到优化成本、跟进进度和保证质量的目的。
(4)交付阶段(Transition)。该阶段重点是确保软件经过严格测试,满足终端用户的可用性,基本消除系统中存在的Bug。交付阶段可以经过多次迭代,包括为发布而进行的产品测试,以及根据用户反馈做出变更。在生命周期的这个阶段,用户的反馈主要用于对产品进行小功能变更、便捷性配置和安装,以及解决可靠性问题,这时候已经不能对系统进行大规模变更。
3RUP应用案例
在为某织造企业开发的生产管理系统中,我们采用了基于RUP的软件过程,过程如图3所示。织造企业生产管理系统是一个大型的信息管理系统,包含仓库管理、设备管理、生产计划、生产排程、小样管理、人事管理、台帐管理、班组管理、系统维护等多个模块。同时系统还要与工控设备接口,从中获取生产数据。系统对该织造企业的生产运营实现全面管理,能及时对系统的各类数据进行统计和分析处理,并能给管理者提供及时准确的生产数据,为管理者对生产的运行决策提供精准的依据。
本案例在项目的起始阶段,主要是对业务进行调研,制定项目蓝图,分析系统规模和设定约束条件,在明确用户的业务需求基础上形成系统规格说明书,作为日后验收的文档依据;估算整个项目开发周期、总体成本和进度,评估潜在的风险,预留一定资源作为备用。根据技术架构要求,选择了微软公司的Project2000为项目管理工具,RationalRose作为分析和建模工具。系统开发工具采用VisualStudio2008,后台数据库管理系统采用Oracle10g。
在项目的精细阶段,根据客户的具体需求,选择了B/S结构作为系统的总体架构,采用MVC开发框架,同时对关键性的算法,设计开发出了算法原型。同时为构造制订了详细的迭代计划。在选择构件时,我们决定重用已有构件,针对构件库中没有的构件,则进行重新开发。
在项目的构造阶段,我们的主要任务是完成新构件的开发和测试,对相关构件进行系统集成,并进行集成测试。在该阶段,项目组采用并行开发模式,将项目分解为各个小项目,各小项目开发工作同时进行,大大提高了开发效率。
最后在项目的交付阶段,我们把经过严格测试的单元和集成软件制作安装盘,安装在织造公司的服务器上,开始试运行。同时对相关用户和系统维护员进行相应的培训,并在后期运行维护中给予指导。
在各阶段结束时,项目组都进行了阶段性文档和技术评审。在评审过程中,我们不仅按要求邀请了项目干系人,还邀请了无利益相关的第三方专家参与评审,保证了项目评审的客观公正。
由于在整个项目周期采用了RUP软件过程,大大地规范了管理和开发流程,有效地控制了项目成本。在系统运行期间,由于客户需求的变更,我们又对该系统进行了多次进化过程,最终使该软件项目成为一个合格的产品。现在,在该织造企业中系统运行稳定,用户反映良好。
4结语
在实际生产过程中,RUP提高了项目组的工作效率,在迭代的开发过程、需求管理、系统建模、架构设计、质量。
1、最快当天审稿 最快30天出刊
易品期刊网合作杂志社多达400家,独家内部绿色通道帮您快速发表(部分刊物可加急)! 合作期刊列表
2、100%推荐正刊 职称评审保证可用
易品期刊网所推荐刊物均为正刊,绝不推荐假刊、增刊、副刊。刊物可用于职称评审! 如何鉴别真伪期刊?
都是国家承认、正规、合法、双刊号期刊,中国期刊网:http://www.cnki.net 可查询,并全文收录。
3、八年超过1万成功案例
易品期刊网站专业从事论文发表服务10年,超过1万的成功案例! 更多成功案例
4、发表不成功100%全额退款保证
易品期刊网的成功录用率在业内一直遥遥领先,对于核心期刊的审稿严格,若未能发表,全额退款! 查看退款证明