基于UML的科研项目管理系统的设计与实现
2019-08-10宗冉唐波黄煜洲
宗冉 唐波 黄煜洲
摘要:统一建模语言UML是一种被广泛应用的可视化面向对象的建模语言,能够建立系统模型和帮助分析业务流程。由于某单位科研项目管理系统结构庞大,工作流程复杂,本文基于UML语言,建立“4+1”视图模型,用多个视图描述系统的功能、静态模型和动态模型,设计了系统的逻辑结构和物理实现。利用可视化建模工具Star UML将模型生成Java代码框架,为系统的详细设计和编码开发提供了很好的支持。实现了基于B/S架构的web科研项目管理系统,实现了对科研项目网络化共享和信息化管理的模式,提高了工作效率。
关键词:UML;建模; “4+1”视图模型;软件体系结构;信息系统
中图分类号:TP302.1 文献标识码:A
文章编号:1009-3044(2019)17-0053-03
开放科学(资源服务)标识码(OSID):
Abstract: The Unified Modeling Language(UML) is a widely used visual object-oriented modeling language that builds system models and helps analyze business processes. Due to the huge structure and complicated workflow of the scientific research project management system, this paper builds a “4+1” view model based on UML language, describes the system's function, static model and dynamic model with multiple views, and designs the logical structure and the physical implementation of the system. Using the visual modeling tool Star UML to generate the Java code framework for the model, it provides good support for the detailed design and coding development of the system. Based on B/S architecture web scientific research project management system to realize the mode of networked sharing and information management of the scientific research projects, and it also improves the work efficiency.
Key words: UML; Modeling; "4+1"View Model; Software Architecture; Information System
1 引言
当前某单位的科研项目管理工作量日趋加重,但目前管理仍通过一些常用办公软件采用手工形式进行项目信息的采集和统计,这样的管理模式工作速度慢、时间长、效率低,数据出错率高,存档复杂,查询困难。因此,科研项目管理需要采取新的、更为高效的管理模式,使得整个管理工作流程科学化、自动化,高效方便地对信息进行管理。系统结构设计的优劣将影响系统的开发与研究工作,建立合理、高效的系统模型可提高系统开发的工作效率,减少开发和研究的成本。本文利用了UML设计了某单位科研项目管理系统模型,UML统一建模语言进行需求分析是建立可理解的系统模型,通过对系统功能结构和行为对系统建立可视化模型,可提高系统的复用和维护性,同时降低了系统的开发难度,并结合Java和达梦数据库实现了此系统。
2 UML建模技术
正在UML统一建模语言之前出现了多种建模语言,由于不同建模語言各具特色,所以用户需要选择几种建模语言完成软件体系结构建模,但又因为不同建模语言描述和表达的方法不同,使得用户间难以交流。统一建模语言(Unified Modeling Language,UML)是在Grady Booch的Booch1993方法、Ivar Jaeobson的OOSE方法和James Rumbaugh的OMT方法基础上形成的,是软件和系统开发的标准建模语言,用于对软件系统的静态结构和动态行为进行描述和可视化处理[1]。在软件开发过程中,面向对象技术已成为软件开发的主流方法,UML用于支持面向对象的系统开发,是系统分析与设计的基础。UML提供了对体系结构中组成要素建模的支持,如:UML的关系对应软件体系结构的连接件;体系结构的配置可以由UML的构件图、包图和配置图描述;UML结构元素的类、构件、节点、用例和组织元素中包、子系统和模型相当于软件体系结构的构件[2]。
UML主要用九种模型图来表示,这九种模型图又可以分为两类:静态视图和动态视图。静态视图分为:用例图、类图、对象图、包图、构件图和部署图。动态视图分为:状态图、活动图、协作图和序列图[3]。
3 基于科研项目管理系统建立“4+1”视图模型
科研项目管理系统是为了满足对科研项目管理和项目数据基本信息查询的系统,由发展战略管理、计划规划管理、经费管理、项目管理、成果管理、单位和专家库管理及系统的管理维护的功能模块构成。通过对系统进行需求分析能够详细捕获和描述系统的功能和业务领域。建模可以完善软件需求、构建完整的业务流程、应用设计模式的解决方法。
3.1 “4+1”视图模型
Kruchten提出了“4+1”视图模型[4],从5个不同视角解决软件架构问题,包含了:逻辑视图、过程视图、物理视图、开发视图和场景视图,“4+1”视图模型是由系统开发人员从不同角度描述的体系结构视图,使用多个并发的视图来组织软件架构的描述,每个视图仅用来描述一个特定的所关注的方面的问题集合。在软件架构设计领域产生了深远影响。从而简化了软件体系结构的复杂性。
基于UML可以较好地描述软件体系结构,Booch将Kruchten的“4+1”视图映射到UML图后,由逻辑视图、过程视图、实现视图、部署视图和用例视图构成的基于UML的软件体系结构模型。如图1所示。
在UML的模型图中,又可以用9种UML模型来描述这5种视图,逻辑视图用类图和对象图表示,过程视图用序列图、协作图、状态图和活动图描述,实现视图用构件图表示,配置图用部署图描述,用用例图来描述用例视图。
3.2 用例视图(use-case view)
用例视图反映案例的描述,是对用户和系统功能的描述,利用用例图来表示。用例图描述了软件系统各个功能的执行者,从用户的角度描述谁是系统的使用者[5]。
在预研管理系统的软件体系结构中,外部角色有三个,分别为:总部、各部门和系统管理员。从用例视图描述中,分别从三个外部角色的角度对系统提出功能需求。各部门用户中还有权限的区分,其中管理部门主要作为上传下达,系统工作的作用,总部主要负责工作流程中项目的审批等工作,系统管理员负责维护系统中的数据等工作,因此还应对用户设置相应的权限。用例视图如图2所示。
3.3 逻辑视图(logical view)
逻辑视图描述系统的功能性需求,设计满足功能需求的架构。通过建立静态模型和动态模型完成系统的设计和内部结构描述,利用类图和对象图表示。a.类图,描述静态关系,定义系统中的类及类与类之间的关系,通过类和类间的关系反映出本系统的基本框架,在面向对象开发中,对象是类的实例[6]。b.对象图,对象图描述各个对象在交互过程中某时刻的状态,也是类图的实例。如图3所示,预研项目管理系统,包含了项目信息、计划信息、项目状态信息,部门信息及用户信息。
3.4 过程视图(process view)
过程视图涉及一些非功能性需求,侧重系统的运行特性。它可以解决并发性,分发性,系统完整性和鲁棒性等几个问题[7]。过程视图主要通过对过程动态模型建模来实现,用时序图、协作图、状态图和活动图描述。a.时序图,主要用来直观表现对象之间交互的时间顺序,以时间为主线,对象之间发送和接受消息、处理消息和返回消息的时间流程,可以很好地反映各个部门的工作流程。b.协作图,与时序图不同在协作图强调的是交互的空间结构,按照空间结构布图。c.协作图,重在表达实现某个用例时,对象之间的协作关系,可以显示对象角色之间的关系。
以预研管理系统的项目管理模块为例,如图4和图5所示,对预研项目管理中项目申请立项、项目实施和项目验收三个阶段建立时序图模型。
项目申请:科研部门登录该系统,提交项目立项请示,由总部单位下达通知,管理部门进行审核是否可以立项并上报,总部单位审批通过后下达批复。
项目实施:由科研单位及相应的管理单位对实施项目。
项目验收:由管理部门制定验收评审要求后,协同专家组对科研单位的科研项目进行项目验收并存档。
3.5 实现视图(implementation view)
实现视图是逻辑视图的实现,用于描述软件模块的组织与管理。实现视图用构件图表示,构件图又称组件图,主要有构件、依赖关系和界面,显示构件之间的逻辑结构和它们之间的依赖关系[8]。
图6为项目管理中的构件图模型,描述了项目管理系统中软件的各种组件及其之间的依赖关系,此构件图将项目管理系统分成了3层,即为用户界面层、业务逻辑层和数据访问层。用户界面层中的“项目立项”“项目实施”和“项目验收”这三项构件也是项目管理流程中的三个阶段,对于“项目”而言为依赖关系,主要由边界类组成,采用了Java Server Page来实现用户的界面。逻辑層由“项目”构件表示,由实体类构成。数据访问层由“JDBC”连接数据库实现。
3.6 部署视图(deployment view)
部署视图对应于安装和部署需求,涉及如何部署及其和网络来满足软件系统的要求,利用部署图来实现。如图7所示,该图描述了预研管理系统的软、硬件的物理结构和系统运行结构,对系统完整架构的设计提供了依据。系统采用B/S架构[9],在通过Tomcat中web应用服务器运行JSP,通过TCP网络连接到数据服务器,数据资料存储在数据库服务器中的,通过JDBC接口连接数据库。
4 科研项目管理系统的实现
科研项目管理系统的开发与实现涉及系统的需求分析、结构设计、数据库技术和交互技术等,UML支持的可视化建模工具Star UML可以将模型映射为Java代码框架,在前期开发阶段可以运用UML对系统进行需求分析、设计功能和结构、生成代码框架[10]。
系统实现环境,在服务器端运行环境建议配置如下:CPU:Intel(R) Duo Core以上,建议采用i3、i5或者i7等;内存至少为2G以上。操作系统:NeoKylin系统,采用Java编程语言,UML可以实现从模型到程序框架Java代码的导出[11],在此基础上,采用B/S架构的系统架构和JSP技术,通过JDBC连接数据库,同时数据库采用国产达梦数据库,该数据管理在安全性方面有很大保障。本系统需用浏览器打开,在客户端运行环境建议如下配置:操作系统:Windows 2000或Windows 2000以上系统,浏览器采用FireFox、Chrome等浏览器。如图8所示。
当前,部队某单位的科研管理工作已经使用该科研项目管理系统,能够解决长期存在的上报审批耗时长,项目存档查询困难,工作流程烦琐等问题,提高了部队科研项目管理的工作效率。
5 结论
UML统一建模语言能够很好地帮助用户和系统分析人员对需求分析达到相同的理解,基于“4+1”视图的系统结构描述方法与UML统一建模语言相结合,能够从逻辑视图、过程视图、实现视图、部署视图和用例视图五个视图角度和前期需求分析对科研项目管理的系统的功能、业务流程、静态结构和动态结构建立更完善的需求模型,能够有效解决开发与设计脱节的问题。这几种视图下的模型从不同角度描述同一个系统的不同方面,它们是相互补充和结合紧密的,因此,本文中多视图的模型建立方法和所建立的系统模型对于预研项目管理系统的设计与开发具有一定意义。
参考文献:
[1] 朱斌,唐波.基于UML 的平车装载数据建模与多要素分析[J].电脑知识与技术,2010(7):1727-1729.
[2] Iryna Zaretska,Oleksandra Kulankhina,Hlib Mykhailenko,et al.Consistency of UML Design [J].International Journal of Information Technology and Computer Science(IJITCS),2018(9):47-56.
[3] 张志祥.UML在高校科研管理系统中的应用[J].计算机与数字工程,2007(4):87-90.
[4] 柳丹.基于UML描述的“4+1”视图模型及应用[J].计算技术与自动化,2001(4):46-57.
[5] 何颖.GT研究院科研项目管理系统的研究[D].天津:天津大学软件学院,2015.
[6] 饶宁,董乐,黄雪飞.基于UML科研管理系统的设计与实现[D].成都:电子科技大学,2013.
[7] 陈锐忠.基于UML建模的软件测试系统设计[J].电子设计工程,2016(21):57-59.
[8] 王国辉,赵铁军.基于UML的装甲装备IETM建模[J].计算机应用与软件,2018(8):175-179.
[9] Ferenc Matej,Polasek Ivan,Vincur Juraj. Collaborative Modeling and Visualization of Software Systems Using Multidimensional UML[C]. 5th IEEE Working Conference on Software Visualization,Shanghai,2017.
[10] 牛德雄.軟件项目开发与管理案例教程[M].北京:电子工业出版社,2014.
[11] 姜人和.一种基于UML关系的Java代码库构造方法[C].2016年全国软件与应用学术会议,昆明,2017.
【通联编辑:王力】