金 兰
(武昌首义学院信息科学与工程学院 武汉 430064)
RUP核心思想在软件建模中的应用*
金 兰
(武昌首义学院信息科学与工程学院 武汉 430064)
Rational统一过程(Rational Unified Process,RUP)是用例驱动,以架构为中心,采用迭代增量方式开发的软件工程过程。它汲取了面向对象软件工程领域多年来的优秀研究成果,应用统一建模语言(Unified Modeling Language,UML)进行可视化建模,为面向对象的软件系统的开发提供了方法论的指导。论文遵循RUP的生命周期阶段,以RUP核心思想为指导,对RUP核心工作流进行裁剪,采用统一建模语言对车辆管理信息系统进行分析、设计,详细描述了系统建模的全过程。通过RUP方法,软件企业能够保证软件质量,降低风险,规范管理和开发流程,提高软件开发的质量、效率和维护性,从而最大限度地提高企业效益。
Rational统一过程; 统一建模语言; 车辆管理信息系统; 建模; 生命周期; 核心工作流
Class Number TP311.5
Rational统一过程(Rational Unified Process,RUP)是一套软件工程方法。RUP凭借与统一建模语言(Unified Model Language,UML)良好集成以及多种CASE工具的支持,不断地升级与维护,迅速得到了业界的广泛认同,越来越多的公司将它作为软件开发模型框架。RUP的基本思想是建立一个通用的过程框架,使得该框架适用于各种不同类型的软件系统、各种不同的应用领域以及各种不同的项目规模。RUP的核心思想是是用例驱动、以架构为中心、可视化建模、迭代和增量开发。RUP的软件生命周期按时间分成4个顺序阶段:先启阶段、精化阶段、构造阶段和移交阶段。RUP的核心工作流有9个,包括6个核心过程工作流:业务建模、需求、分析与设计、实现、测试、部署;3个核心支持工作流:配置与变更管理、项目管理、环境。对于一个大型项目,RUP这9个核心工作流不可或缺,但对于有些项目开发是需要对这些工作流涉及的活动做具体的裁剪,以适应具体项目开发的需要[1]。
本文遵循RUP的生命周期阶段,对RUP的核心工作流进行裁剪,重点描述三个核心过程工作流:业务建模、需求、分析与设计,以某实际汽车运输集团有限公司的车辆管理业务为背景,针对主要功能来进行系统分析和设计。
2.1 业务建模
车辆管理业务体现在集团公司和下属公司之间管理环节的衔接。首先在车辆的购置、报废、调拨的业务处理上,集团公司下属的二级公司要提交车辆的购置、报废、调拨申请,集团公司职能部门接到申请后在申请审批这一环节中首先判断车辆的产权归属,如果是融资挂靠则审批程序在职能部门内部进行,即职能部门中的总工程师对申请进行审批,生效后产生调拨单下发所属公司及各有关部门;如果产权归属为公司所属则在职能部门内审批后还要报请集团公司总经理的审批,获得批准后再产生调拨单下发所属公司及各有关部门。车辆信息是运输企业管理的核心,是需要被集团公司和下属公司共享的信息。当公司购置新车后,需要添加车辆信息;当车辆报废后,需要删除车辆信息;当车辆维修或发生事故后,可能还需要修改车辆信息。因此,车辆基本信息管理需提供车辆信息的添加、修改、查询和删除操作。另外,从审批程序来看,保证信息传递的渠道及时、畅通是十分必要的。从上述过程可以看出集团公司的职能部门在车辆管理中的调控地位和下属公司的执行地位,并且职能管理部门和下属公司仍然是管理流程环节中的一部分,体现了操作管理机制的思想。
为了准确地表达原系统的业务处理流程和便于以后各工作阶段能有效地研究和使用这些调查成果,一般采用业务流程图作为描述原系统业务的工具。车辆调拨业务流程图如图1所示,车辆购置业务流程图和车辆报废业务流程图此处略。
2.2 需求
分析用户需求是与获取用户需求并行的,主要通过建立模型的方式来描述用户的需求,为客户、用户、开发方等不同参与方提供一个交流的渠道。需求分析的根本目的是在开发者和提出需求的用户之间建立一种理解和沟通的机制。UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。UML适用于各种规模的系统开发,能促进软件复用,方便地集成已有的系统并有效减少开发中的各种风险。下面通过UML来分析并构造车辆管理信息系统模型。
图1 车辆调拨业务流程图
车辆管理信息系统的用例包括:用户管理、车辆基本信息管理、车辆购置管理、车辆调拨管理、车辆报废管理、信息查询管理。车辆基本信息管理用例可以实现二级公司对车辆信息的录入、修改、删除、浏览、查询等功能。车辆购置管理用例可实现二级公司要提交车辆的购置申请,集团公司职能部门根据车辆的产权归属,由总工程师或总工程师及总经理对申请进行审批,生效后产生调拨单下发所属公司及各有关部门。车辆调拨管理用例可实现二级公司要提交车辆的调拨申请,集团公司职能部门根据车辆的产权归属,由总工程师或总工程师及总经理对申请进行审批,生效后产生调拨单下发所属公司及各有关部门。车辆报废管理用例可实现二级公司要提交车辆的报废申请,集团公司职能部门根据车辆的产权归属,由总工程师或总工程师及总经理对申请进行审批,生效后产生调拨单下发所属公司及各有关部门。信息查询管理用例可实现对多种信息的快速模糊查询,可根据车辆所属的二级公司、车牌号、车辆的厂牌、规格、型号等信息进行不同的组合来查询车辆,还可根据申请购置、调拨、报废车辆的二级公司、申请时间等查询车辆的购置、调拨、报废的申请及审批情况等。车辆管理信息系统总用例图如图2所示。车辆调拨管理子用例图如图3所示。
图2 车辆管理信息系统总用例图
图3 车辆调拨管理子用例图
2.3 系统分析
2.3.1 活动图
在用例图的基础上,还需要对每一个业务活动进行详细描述。对于每个业务用例实现,可以绘制一个或多个活动图来说明工作流程。活动图实际上就是用来为用例的事件流建模的工具。图2中车辆基本信息管理用例的活动图如图4所示。
2.3.2 数据流图
数据流程图既是对原系统进行分析和抽象的工具,也是用以描述新系统逻辑模型的主要工具。数据流图是系统分析人员与用户进行交流的有效工具,也是系统设计的主要依据。对业务流程图分析得到数据流程图。车辆调拨管理数据流程图如图5所示。
图4 车辆基本信息管理活动图
图5 车辆调拨管理数据流图
2.3.3 类图
分析阶段的活动主要是发现对象并为对象分类。一个系统可以看成是一些不同类型的对象组成的,对象类之间的各种关系反映了系统内部各种成分之间的静态结构。类图主要用来描述系统中各种类之间的静态结构。类与类之间有着多种不同的联系,例如,相互关联、依赖性、泛化和聚合等联系。所有这些联系以及类的属性和行为,都可以在类图中清晰地加以描述。在OOSE中,将对象分为三种:实体类、边界类和控制类。通过这些对象的合作来实现用例。为了简化系统的类图,图中只画出了主要的类,且只标识了其主要操作和属性。图6为车辆管理系统的实体类图。
2.3.4 顺序图
活动图侧重于如何将职责拆分为类,而顺序图则帮助我们理解各对象是如何并且以何种顺序进行交互的;活动图侧重于工作流程,而顺序图则侧重于对业务实体的处理。活动图和顺序图可互补使用,其中顺序图用来表示活动状态中发生的事情。顺序图的基础是用例。在顺序图中,要说明域类是如何来操作系统中的用例的。当然,在建立顺序图时,会发现新的操作,并将其加入类中。分析的目的是要企业管理人员沟通,对要建立的系统有更深入的了解,而不是要设计一个完整详细的车辆管理信息系统的设计方案。用顺序图建模时,需要窗口或对话框作为与角色的接口。显然,这里需要有边界类。图7是车辆管理系统中的顺序图。
图6 车辆管理系统的实体类图
图7 车辆基本信息管理顺序图
2.4 系统设计
系统设计包括数据的分析与设计、功能结构设计、界面的设计。
2.4.1 数据的分析与设计
进行需求调查绘制业务流程图或者是绘制用例模型的同时,可以得到业务流程图中的所有用户视图。在进行车辆购置处理流程的调查时,可以得到“基础设施购置申请单”、“各类单据发票”、“车辆购置登记表”、“汽车履历及规格记录”、“车辆调拨通知单”;在进行车辆调拨处理流程的调查时,可以得到“车辆调拨申请单”、“调拨手续单证”、“汽车履历规格记录”、“车辆调拨通知单”;在进行车辆报废处理流程的调查时,可以得到“车辆报废申请单”、“汽车履历及规格记录”、“车辆报废台帐”、“相关手续单证”、“车辆报废通知单”。对类图分析可以得到数据实体及实体之间的关系,依据类模型分析结果也可以进行详细的数据分析。
对收集的所有用户视图进行归类分析可以发现,申请信息是一个主题,可以建立一个申请单主题数据库,包含购置申请、调拨申请、报废申请单信息。“车辆购置登记表”、“汽车履历及规格记录”、“调拨手续单证”、“相关手续单证”等用户视图实际上是车辆运营过程中的基本档案,是车辆管理中最重要的实体数据,可以建立一个车辆数据库,该数据库实质为车辆运营档案主题数据库。报废车辆的信息由于不在参加运营活动,因此要从车辆数据库中删除;但为了长期保存其相关信息,可以建立一个报废车辆主题数据库,其结构应该与车辆数据库一致。在车辆购置、调拨、报废处理中的最后一个环节是下调拨单,由于调拨单中的信息可以从车辆数据库中获得,因此可以不建立主题数据库。由上述分析可知,在车辆管理系统中可以建立三个主题数据库,它们所包含的主要内容如表1所示。
表1 主题数据库一览表
主题数据库实际上是一个概念结构,只是将属于一个主题或是属于同一类的数据集中在一起,这样的做的目的是为更细一级的数据分析奠定基础。数据分析的下一步工作是调查了解各用户视图所包含的属性,确定或规范数据属性的含义、为属性命名、确定属性的类型和取值范围以及安全保密要求等,再运用数据库设计理论建立规范化的数据库表,即进行数据库的逻辑设计和物理设计。对车辆购置申请单进行整理形成的属性集如表2所示。
表2 车辆购置申请单
2.4.2 功能结构设计
系统功能模块的设计多采用的表达工具是结构图,结构图可以利用能够表示分解层次关系的“组织结构图”形状来描述。对“车辆管理系统”的业务功能进行分类分析后,将系统分解成3个子系统:“车辆变更的申请”子系统、“车辆变更申请审批”子系统和“车辆变更处理”子系统。对系统详细分解后形成的结构图如图8所示。
图8 高层功能模块的设计
2.4.3 界面的设计
模块设计的总体要求是为每一个模块创建一个窗口,在窗口中提供查询功能,对查询到的记录进行修改和删除操作,也可以提供插入操作。当执行插入和修改操作时,在弹出相应的窗口中实现插入和修改功能。“车辆购置申请插入/修改”窗口的设计如图9所示。
图9 “车辆购置申请插入/修改”窗口设计
RUP核心思想是用例驱动、以架构为中心、可视化建模、迭代和增量开发。本文遵循RUP核心思想,对RUP进行裁剪,围绕车辆管理信息系统进行软件建模,建模过程分为业务建模、需求、系统分析与设计三个主要阶段,采用Enterprise Architect 12建模工具,完成了业务流程图、用例图、活动图、数据流图、类图、功能模块图和界面窗口的设计与绘制。实践表明,RUP是一种通用的开发模式,为开发成员提供了必要的准则、模板和工具指导。通过RUP方法,软件企业能够保证软件质量,降低风险,规范管理和开发流程,提高软件开发的质量、效率和维护性,从而最大限度地提高企业效益[2]。
[1] 金兰.基于RUP和UML的商场会员卡信息系统建模[J].计算机与现代化,2011(12):67-70. JIN Lan. Information System Modeling of Shopping Membership Card Based on RUP and UML[J]. Computers and Modernization,2011(12):67-70.
[2] 蔡静.统一过程RUP核心思想在软件开发中的研究和应用[D].成都:电子科技大学,2007:90-92. CAI Jing. Research and Application of the Unified Process RUP Core Idea in Software Development[D]. Chengdu: University of Electronic Science and Technology,2007:90-92.
[3] 余久久.面向教学软件的RUP改进模型的设计研究[J].电化教育研究,2013(4):76-84. YU Jiujiu. Research on the Design of RUP Improved Model for Teaching Software[J]. E-education Research,2013(4):76-84.
[4] 李严.使用UML和RUP构建面向对象的网络订票模型[D].吉林:吉林大学,2013:13-21. LI Yan. Building an Object-oriented Network Booking Model Using RUP and UML[D]. Jilin: Jilin University,2013:13-21.
[5] 杨世欣.基于UML的面向对象建模方法的研究[J].现代电子技术,2010(18):47-50. YANG Shixin. Research on Object-oriented Method Based on UML[J]. Modern Electronic Technology,2010(18):47-50.
[6] 侣腾飞.基于RUP的轻量级软件过程实践——中国移动积分商城系统开发[D].北京:北京交通大学,2013:11-51. LV Tengfei. Lightweight Software Process Practice Based on RUP — the Development of China Mobile Integration Mall System[D]. Beijing: Beijing Jiaotong University,2013:11-51.
[7] 贾婷婷.RUP方法在电子政务系统中的研究与应用[D].北京:北京邮电大学,2013:15-26. JIA Tingting. Research and Application of RUP Method in E-government System[D]. Beijing: Beijing Youdian University,2013:15-26.
[8] 王璐,王永贵,曲海成.RUP可视化建模的研究与应用[J].计算机工程与科学,2009,31(3):101-103. WANG Lu, WANG Yonggui, QU Haicheng. Research and Application of RUP Visual Modeling[J]. Computer Engineering and Science,2009,31(3):101-103.
[9] 王建,冯伟森,李旭伟.基于UML和RUP的中小项目的设计和实现[J].四川大学学报(自然科学版),2009,46:934-940. WANG Jian, FENG Weisen, LI Xuwei. Design and Implementation of Small and Medium Sized Projects Based on UML and RUP[J]. Journal of Sichuan University(Natural Science Edition),2009,46:934-940.
[10] 王永贵,王璐.Rational统一过程的可视化建模的应用[J].辽宁工程技术大学学报(自然科学版),2009,28(6):977-980. WANG Yonggui, WANG Lu. Application of Visual Modeling in Rational Unified Process[J]. Journal of Liaoning Technical University(Natural Science Edition),2009,28(6):977-980.
[11] 苏士勇,宁云才,李学庆.改进的基于RUP的软件分析设计方法[J].计算机工程与设计,2009,30(11):2610-2614. SU Shiyong, NING Yuncai, LI Xueqing. Improved Software Analysis and Design Method Based on RUP[J]. Computer Engineering and Science,2009,30(11):2610-2614.
[12] 崔晓斐.RUP在管理系统中的应用[J].大庆师范学院学报,2007,27:30-32. CUI Xiaofei. Application of RUP in Management System[J]. Journal of Daqing Normal University,2007,27:30-32.
[13] 赵艳.RUP过程裁剪在组卷系统中的应用[J].洛阳师范学院学报,2008,5:51-53. ZHAO Yan. Application of RUP Process Cutting in Test Paper System[J]. Journal of Luoyang Normal University,2008,5:51-53.
[14] 陆永忠,饶璟祥.小型软件项目RUP裁剪模型的研究[J].计算机工程与设计,2007,28(13):3027-3030,3055. LU Yongzhong, RAO Jingxiang. Research on RUP Cutting Model of Small Software Project[J]. Computer Engineering and Design,2007,28(13):3027-3030,3055.
[15] 陈佳,谷锐,李朝辉.信息系统分析与设计教程[M].北京:人民邮电出版社.2010.32-76. CHEN Ja, GU Rui, LI Chaohui. Information System Analysis and Design Course[M]. Beijing: People’s Posts and Telecommunications Press,2010:32-76.
[16] 马永光,宋振乾.RUP软件开发过程的研究与应用[J].仪器仪表用户,2006,13:100-102. MA Yongguang, SONG Zhenqian. Research and Application of RUP Software Development Process[J]. Instrument and Meter user,2006,13:100-102.
[17] 文媛媛.基于RUP过程和Web的四川职业技术学院固定资产管理系统设计[D].成都:电子科技大学,2012:4-15. WEN Yuanyuan. Design of the Fixed Asset Management System of Sichuan Vocational and Technical College Based on RUP Process and Web[D]. Chengdu: University of Electronic Science and Technology,2012:4-15.
Application of RUP Core Idea in Software Modeling
JIN Lan
(College of Information Science and Engineering, Wuchang Shouyi University, Wuhan 430064)
Rational Unified Process(Rational Unified Process, RUP) is a software engineering process which is use case driven, architecture-centric and using iterative and incremental developing method. It assimilates the excellence research fruits of the object-orient software engineering filed, applies Unified Modeling Language(Unified Modeling Language, UML) as the visual modeling tool, and supplies the methodology guidance for developing object-orient software system. This article flows life circle stage is guided by the core idea of RUP, cuts the core workflow of RUP, uses the unified modeling language, analyses and designs the vehicle management information system, descripts the whole process of system modeling. Through the RUP method, the software enterprise can guarantee the software quality, reduce the risk, standardize the management and the development process, improve the quality, efficiency and maintenance of the software development, so as to maximize the efficiency of the enterprise.
Rational Unified Process, unified modeling language, information system of vehicle management, modeling, life circle, core workflow
2016年9月13日,
2016年10月17日
湖北省教育厅科学研究计划指导性项目“RUP核心思想在软件建模中的研究和应用”(编号:B2016374)资助。
金兰,女,硕士,副教授,研究方向:软件工程。
TP311.5
10.3969/j.issn.1672-9722.2017.03.010