UML建模技术在实验管理系统中的应用研究
2012-01-29张晓红薛培军周晓莉
张晓红,薛培军,周晓莉
(中州大学 实验中心,郑州450044)
一、引言
实验教学是高等院校教学工作的重要组成部分,它在培养学生综合素质和创新能力方面有着不可替代的重要作用。随着网络技术的发展,高校实验室的功能已经由过去单一的“做实验”功能,发展为集教学、科研、开发等多种功能为一体的功能,其工作也随之复杂,主要包括设备管理、教学任务、试验项目、规章制度等。为此,本文分析研究了集方便性、实用性和易操作性于一体的实验管理系统。
UML(Unified Modeling Language)是一种标准的图形建模语言,是一种用于对软件系统模型绘制可视化描述的工具,它是面向对象分析和设计过程中重要的建模工具,不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。使用UML建模有助于软件开发人员绘制出有利于交流的清晰模型,使软件开发易于实施。本文以实验室管理系统为实例,讨论如何使用UML进行面向对象的系统建模。
二、统一建模语言UML
统一建模语言UML是面向对象软件开发中的一种可视化的、通用的、统一的图形模型语言,是面向对象分析和设计过程中重要的建模工具。UML的定义包括UML语义和UML表示法两部分。
(1)UML语义通过其元模型来严格定义,元模型为UML的所有元素在语法和语义上提供了简单、一致和通用的定义性说明,使开发者能在语义上取得一致,消除了因人而异的表达方法所造成的影响,并且还支持对元模型的扩展定义。
(2)UML表示法 定义了UML符号的表示法,为软件开发者或者开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上,它是UML元模型的实例。
标准建模语言UML共包括10种图:用例图、类图、对象图、包图、状态图、活动图、顺序图、协作图、组件图和配置图。
三、UML建模机制
UML是一种通用的标准建模语言,其建模机制包括静态建模和动态建模两大类。
静态建模机制定义了系统中重要对象的属性和操作以及这些对象相互之间的关系,包括用例图、类图、对象图、包图、构件图和配置图。其中用例图主要描述系统的外部行为;类图和对象图分别定义类和对象以及它们的属性和操作;包图描述系统的分层结构;组件图描述代码组件的物理结构及各部件之间的依赖关系。配置图定义了系统中软硬件的物理体系结构,动态建模机制定义了对象的时间特性和对象为完成目标任务而相互进行通信的机制,用状态图、顺序图、协作图、活动图来表示。其中状态图描述了类的对象所有可能的状态以及事件发生时状态的转移条件;顺序图用于显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程;协作图与顺序图相似,它描述对象间的动态合作关系,除显示信息交换外,协作图还显示对象以及它们之间的关系。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。
四、UML建模技术在系统中的应用研究
1.项目简介
本系统主要针对实验室管理中需要解决的各种具体问题进行开发。系统主要功能模块为基本信息管理、实验管理、教学管理、资产管理、系统维护等,实现对实验室基本信息提供在线维护和查询。而在进行数据交换及客户端数据显示时,采用WEB技术,集课程安排,课程演示及答疑、考试,管理员、教师、学生互动等多种功能为一体。系统能产生较好的社会经济效益和广泛的应用前景。
以实验管理系统为例,结合UML工具软件绘制图形,主要使用UML中的用例图、顺序图来进行系统分析。
2.UML用例图描述
UML是用来建立模型的,用模型来描述系统的静态特征及其动态特征。用例图强调从用户的角度看到的或需要的系统功能,被称为参与者的外部用户所能观察到的系统功能的模型图。因此在分析阶段针对不同参与者在实验过程中所承担的角色和工作内容的不同,采用用例图作为与用户的沟通方式,建立系统的静态模型。
(1)发现参与者(Actors)
参与者是指与系统交互的人或物。参与者也叫角色,它触发用例,并与用例进行信息交换,分为3类:系统的使用者(即用户),外部系统,时间。其中系统使用者是最重要的参与者,要弄明白谁是参与者首先要确定系统的边界,可以通过询问用户以下问题来帮助确定参与者:
谁使用系统的主要功能(主要使用者是谁)?
谁需要系统支持他们的日常工作?
谁来维护、管理系统使它正常工作(辅助使用者)?
系统需要控制其他外部资源吗?
系统需要与其他系统进行交互吗?
有对系统产生的结果感兴趣的人或事物吗?
在本系统中通过分析得出系统参与者为学生、教师、管理员。在命名这些角色时,应该注意是按照作用命名而不是按位置命名,这样容易得到稳定的角色,位置名随时改变,而利用作用命名,就不必在每次增加新位置或改变位置时更新模型。
(2)用例(Use Case)的获取
一旦获取了参与者,就可以较为容易地对每个参与者提出问题以获取用例。常见的问题有如下:
参与者要求系统必须提供哪些功能(也就是参与者需要做什么)?
参与者需要读、产生、删除、修改或者存储的系统信息有哪些类型?
必须提醒参与者的系统事件有哪些?或者参与者必须提醒系统的事件有哪些?怎样把这些事件表示成用例中的某项功能?
为了完整地描述用例,还需要知道参与者的某些典型功能能否被系统自动实现。在处理参与者和用例时,不必过分关心它们之间的确切关系,因为我们真正关心的是用例,参与者只不过是获取这些用例的途径之一。针对一个比较复杂的系统,要列出所有用例的清单常常十分困难,确定用例时有两个准则:首先,每个用例都应该对其角色提供有价值的服务,视角色实现预定的目标,这个准则有助于避免确定的用例太小;其次,确保每个用例都向主要角色提供有价值的服务,这个准则有助于避免用例太大。
通过分析确定出实验管理系统的用例有基本信息管理、实验管理、教学管理、资产管理、系统维护。
(3)创建参与者与用例关系图
在参与者和用例之间存在关联关系,这种类型的关联关系通常涉及到Actors和Use Case之间的通信关联关系。通过分析业务模型,结合上面我们提到的用例的获取方法,在对整个系统的结构有了大致了解之后,需要在不同层次上对实验管理系统中的基本信息管理、实验管理、教学管理、资产管理、系统维护的用例进行抽象,描述系统中用例的关系。如图1所示顶层用例图。
图1 系统顶层用例图
接下来对顶层用例图进行细化,例如对教学管理用例细化如下:
图2 教学管理用例图
3.UML顺序图描述
表现系统流程以及系统元素之间的交互关系可以用两种视图:顺序图与协作图。其中顺序图是最常用的动态模型,顺序图是按时间排序的交互图,显示对象之间消息的线性流动。而协作图以对象实例为中心,着重显示与对象之间的关系。在建模工具ROSE中可以利用功能菜单在两个图之间进行转换,以学生查询课表为例建立的顺序图如图3所示。从该图中可以清晰地看到各个对象的顺序信息。
五、结束语
本系统在分析实验室管理系统的基础上,给出了采用UML和建模工具对其进行面向对象的建模分析,从而降低了系统的复杂性,提高了软件的开发质量及效率。在对系统做核心的建模分析和设计后,本系统开发采用C#.net技术,后台数据库则采用微软的SQL Server 2005系统,基于B/S模式实现。该系统可使广大的师生都参与到实验室管理中来,减少实验室管理人员的工作量,有助于提高学生的实验技能和自我管理能力;在规范实验室的使用和管理上有很强的实用性。
图3 查询课表顺序图
[1]刘超,张莉.可视化面向对象建模技术[M].北京:北京航空航天大学出版社,1999.
[2]邵维忠,梅宏.统一建模语言UML述评[J].计算机研究与发展,1999,36(4).
[3]邵维忠,杨芙清.面向对象的系统分析[M].北京:清华大学出版社,南宁:广西科学技术出版社,1998.
[4]董爱美.UML建模技术在机房管理系统中的应用研究[J].山东轻工业学院:自然科学版,2010(1).
[5]梁卓韬.基于构件模型和UML建模的信息系统的分析与应用[D].合肥工业大学,2010.