您的位置: turnitin查重官网> 工程 >> 电气工程 >> 电气化铁道 >UML建模方法在高速公路监控系统中应用

UML建模方法在高速公路监控系统中应用

收藏本文 2024-03-24 点赞:29088 浏览:132660 作者:网友投稿原创标记本站原创

摘要:
为了提高监控系统软件的设计效率和更好地使用UML进行系统建模,从理论和实践两个方面对UML在软件系统建模方面的应用进行了研究。把整个过程分为全局分析、局部分析、全局设计和局部设计四个阶段详细论述,最后简要介绍了系统的图形用户界面,完成了一个分布式高速公路监控系统的UML分析和设计。

关键词:监控系统; UML; 高速公路; 分布式系统
1004373X(2012)13
0187
04

收稿日期:20120301
基金项目:国家“863”计划项目(2009AA043902);山东省科技发展计划项目(2009GG10001011);济南青年科技明星计划项目(20110301)
0引言
以工业PC总线组成的中小规模控制系统,以及由工业控制计算机和单片机构成的分布式控制系统,现在已经在监控系统中占主导地位,因此控制软件品质就直接影响系统的安全和控制效果,从而进一步影响到控制系统的稳定性和产品的质量。UML在软件工业中占支配地位的建模语言,并在许多领域的软件开发中得到应用。本文以某高速公路监控系统为背景,介绍了综合运用UML、网络通信技术和相关的操作系统、数据库、编程语言开发一个开放、可重用和扩展的分布式监控系统的新方法,并在从理论上对基于UML的分析设计方法进行了提炼,并提出了一些建议,为开发类似的系统提供了参考。
本文依托某高速公路监控系统项目。这条高速公路全线长22.7 km, 全线双向六车道,共有五座互通式立交,一座特大桥,两座隧道。全线设一个监控中心、若干外场监控点。监控中心统一对全线交通运行实施宏观管理和调控,协调各监控点的运行,必要时下达控制命令。监控系统主要负责监控外场设备、隧道设备,实现对本路段各种交通系统信息的采集,向道路使用者提供本路段路况的各种信息,以达到监视道路和控制道路的目的,确保本路段交通通畅\[1\]。
监控中心实时采集管理区段内的各种数据,包括交通量、速度、占有率、车头距、气象、CO/VI检测值、光强检测值、火灾报警、高位水池水位和事故等,对它们进行实时运算、分析和处理。监控系统具有事故自动检测功能;交通控制方案自动选择功能;统计、查询功能;系统设备检测功能;协调处理系统内部交通管理业务功能等。还要使用闭路监控系统通过外场摄像机、广场摄像机、隧道摄像机对重点路段、隧道以及报警收费图像和其他报警图像进行实时监视,并且可以对报警信号进行联动处理。
根据该高速公路的具体情况和当今的技术背景,项目开发小组决定使用面向对象的开发方法,准备采用UML对整个系统进行分析和设计,并使用Rational Rose作为CASE工具。目前国内使用UML进行的软件建模,通常都是把整个过程分成建立静态模型和动态模型两个阶段,但这种分析设计模式对自顶

怎么写论文www.udooo.com

向下的设计方法诠释的仍不够完美。本文使用了一种新颖的思路,即把整个过程分为全局分析、局部分析、全局设计、局部设计四个部分。
1基于UML的监控系统分析

1.1全局分析

全局分析侧重于定义拟建系统所采用的架构以及影响构架的要素。全局分析充分利用以往相似系统或问题中的经验,避免在确定架构上浪费人力和物力,主要完成选用架构模式和整体功能分析两项任务。
选用架构模式活动的主要依据是既往的经验。表面上看,选用架构模式只是在模型中摆放了一个没有内容的空架子;而实质上,它为所有后续活动设立了一个共有的基础框架,用以承载逐步演进和累加的设计内容。
高速公路在地理上是分散的,所以必须使用分布式系统来完成对其全程监控。监控系统对实时性、稳定性和易操作性的要求很高,而不需要过于华丽的操作界面,所以采用三层C/S工作模式是最好的选择。可以用UML的Business Use Case框图对系统的总体功能进行描述。图1为系统的Business Use Case框图。
该系统有五个业务用例,因此可以把其对应划分为五个包。同时还发现一个业务工人通信系统,业务工人属于系统,所以也可以把它归结到一个包中。这样就把整个系统按功能划分为六个包,分别命名为RoadMonitor,TunnelMonitor,GraphPacket,VideoMonitor,DataManagePacket,CommPacket。既然已经决定采用分布式系统,那么这六个包初步决定分别作为六个客户端,分布在六个工作站上。对系统架构确定之后,可以对整个系统的功能进一步整理。因为我们已经按功能划分了包,这样就可以分别对每个包的功能进行分析[2]。
整体功能分析可以采用用例模型描述。UML是一种基于用例驱动的建模语言,所以用例模型特别重要。把系统的用例模型所需要的角色和用例都提取出来,即可以绘制出系统的用例图,视频监控包的用例图如图2所示。但是一个系统并不是用一个用例图就能分析清楚的,还需要对其他一些备选事件进行用例建模[3]。

1.2局部分析

局部分析以选定的用例作为研究对象,以相对粗大的颗粒,用面向对象的概念和方法对问题进行转述,为后续以相对细小的颗粒做进一步的设计活动提供必要的铺垫。局部分析中有不同侧重的两项活动:提取分析类和转述需求场景[4]。
提取分析类就是对选定的用例进行进一步研究,该活动的基本依据是对全局分析时获取的用例的理解。分析类用于描述拟建系统中那些较高层次的对象,不必关注某些与应用逻辑不直接相关的细节,特别是那些纯粹的软件技术问题。转述需求场景活动的主要依据是已经获取的需求中各个用例描述的需求场景;该活动的结果基于面向对象概念,用UML交互图,主要是顺序图,来转述需求场景。顺序图能够使BCE(BoundaryControlEntity)模型清晰的展现出来[5]。图3所示的是“监听并处理路隧报警”用例的顺序图。从图中可以看出,处理报警的各个步骤都是通过控制类(Listener)发送的各条消息来实现的,从图中还可以注意到编号为3和4的两条消息是异步消息。2基于UML的监控系统设计

2.1全局设计

全局设计的任务是在拟建系统的全局的范围内,以系统分析活动的结果为出发点,将现有的分析类映射成模型中的设计元素,明确适用于拟建系统的设计机制,调整内容逐步充实拟建系统的架构。全局设计任务的总体思想是从上向下充实层次架构中的内容,然后做贯穿层次的调整。
(1) 确定核心元素
确定核心设计元素,具体讲就是确定设计类和子系统接口。确定核心元素活动的主要依据是在多个局部分析活动中得到的分析类集合,也就是说要把分析类映射为核心设计元素。
从概念上讲,设计元素是能够直接用于指导编码实施的模型元素,但是在本文中推迟了“明确设计类的操作”这一活动,设计元素仅是指由分析类映射而来的设计类和子系统接口。原因是,对于设计类而言,在全局设计任务中,尚且不需要将原有分析类的责任精确地转换成相应的操作。因为在后续设计活动中,一般的设计类还要经历很多调整与精化。
(2) 明确组织结构
当设计元素确定了之后,下一步的工作就是把他们分配到系统的各个层次上去。在UML建模中,各个不同的层次表现为各个不同的包。
在全局分析阶段我们把系统按功能划分为六个包,并初步设定这六个包是六个客户端。经过局部分析阶段和进入全局设计阶段后,认为这样的设定基本合理,所以在此明确这六个包为六个客户端,同处于客户端层中。全局分析中还确定使用三层C/S工作模式实现该系统,所以还有另外两个层次应用怎么写作层和数据库怎么写作层,这两个层分别定义为两个包Application Sever和Database Sever。把设计元素分配到系统的各个层次工作并不复杂。一般而言,由边界类映射而来的设计元素放置在客户层对应的包中,由控制类映射而来的设计元素放置在应用怎么写作层所对应的包中,由实体类映射而来的设计元素放置在数据库怎么写作对应的包中。

2.2局部设计

局部设计的任务是基于全局分析和局部分析的框架,利用全局设计提供的素材,精化设计类的属性和操作,然后在不同的局部,将分析的结果用精化后的设计元素加以替换和落实。
(1) 精化设计类
完成全局设计之后,可以开始对设计类进行精化了。精化设计类就包括两方面的工作,一是填充类的信息,主要是确定类的属性和操作;二是找出类之间的关系,绘制出类图[6]。
寻找类之间的关系有一个很好的直观依据,就是交互图。简单的顺序图能很容易的看出类之间的关系,复杂的顺序图只要慢慢对照,也能了解到各个类之间的关系[7]。例如用图1所示的“监听并处理路隧报警”用例的顺序图,可以找出与之相关的类之间的关系,从而绘制出如图4所示的类图。被映射成数据库表格形式的实体类的属性和类之间的关系也可以通过这种类图表现出来,从中可以了解到Vidicon,RecordLog,Alar

摘自:写毕业论文经典的网站www.udooo.com

mLog,SiteToVidicon这几个类的属性、操作以及它们之间的依赖关系,即一个类元以某种方式依赖于其他类元,但关系不是真正的关联。
(2) 实现需求场景
实现需求场景活动的基本依据是局部分析任务中得到的用例实现,即用分析类的交互关系转述的需求场景。该活动的结果是设计意义上的用例实现,主要从两个方面进行:一方面,用核心设计元素取代分析类;另一方面,充分分析需求场景,加入备选事件的交互关系。
分析类和设计元素的本质区别是有不同的使用目的。分析类针对的是问题描述中的要点,可以在用例事件流描述中找到直接的对应内容;设计元素针对的是解决方案,将作为后续实施活动切实可行的根据。在分析活动中,很多与应用逻辑不直接相关的技术细节可以用概要的方式描述和封装;在设计活动中,对大多数技术问题应当有一个明确的交代[8]。
在此以“监听并处理路隧报警”用例为例来说明。首先要绘制出事件流图,可以用图5所示的活动图来表示。下面即可以用顺序图来实现用例描述的需求场景,另一种交互图协作图也可以完成同样的任务。顺序图强调的是交互的时间顺序。协作图强调的是交互的语境和参与交互的对象的整体组织。图6所示的是“监听并处理路隧报警”用例在设计阶段的协作图。这个图可以清楚的表示出各个对象之间的协作关系,TRollAlarmThread类的实例是整个图的中心,所有其他实例都围绕着它。如果通过协作图看到其他实例不是以控制类的实例为中心,就应该对协作进行调节。
3监控系统的实现
在完成分析和设计工作之后,该高速公路监控系统就可以开始部署并实施编码。组件图是描述各个组件之间关系的一种图形。UML中的组件包括源代码组件、二进制代码组件和可执行组件或者相应的文档组件。在该高速公路监控系统中包含了exe文件、dll文件、ini配置文件和电子文档。组件图就是要描述这些组件在怎么写作器和客户端上的分布以及组件之间的关系[9]。图7为整个系统的组件图。
图8是公路监控工作站的主画面,界面中上部为整条高速公路的地图(不包括隧道)。
可以通过菜单项中选择对应的菜单项驱动以便选择控制查看及统计,通过对地图上的对应设备进行左键单击选择对应设备,弹出对应的控制或状态页面。对于设备故障报警、路段异常报警和交通其他报警,系统单独开辟独立线程自动进行系统查询。并当相应路段出现异常时可以在界面上得到显示并设为特定对应颜色居中显示并提供报警预案。当相应的设备出现故障时,系统自动闪烁该设备从而提醒用户该设备已故障。对于设备故障报警、路段异常报警和交通其他报警,系统还提供了人工手动报警输入,为系统提供相当大的自主性[10]。
4结语
本文某高速公路监控系统为背景,使用Rational Rose为建模工具,分析、设计和实现了一个分布式的高速公路监控系统,目前该系统已经交付使用。其中,打破常规的UML动态建模和静态建模的设计思想,使用一种新颖的思路对系统进行分析和设计是该系统开发的重要前提和关键。当然,系统中仍然存在不完善的地方,比如对象的分布设计问题等。不过由于面向对象具有可复用、可扩展的特性,可以在以后的研究中方便的完善其中的不足。参考文献
[1]夏创文.基于多媒体技术的高速公路联网监控调度系统研究与应用[J].公路交通科技,2011(1):185188.
[2]李立芳.基于多媒体技术的指挥调度系统关键技术研究[J].舰船电子工程,2007(3):6465.
[3]穆振海,张昌年.新型指挥信息管理系统的设计与实现[J].微计算机信息,2008(6):295296.
[4]余林.多媒体通信的关键技术及其发展趋势[J].山西科技,2006(6):2931.
[5]GUO Qian, HUANG Lin. Software design and modules development of the expressway tunnel monitoring system \[C\]// 4th IEEE Conference on Industrial Electronics and
Applications. Xi’an, China: IEEE, 2009: 965968.
[6]BAUER Bernhard, ODELL James. UML 2.0 and agents: How to build agentbased systems with the new UML standard \[J\]. Journal of Engineering Applications of Artificial Intelligence, 2005, 18: 141157.
[7]BERARDI Daniela, CALVANESE Diego, DE GIACOMO Giuseppe. Reasoning on UML class diagrams \[J\]. Artificial Intelligence, 2005, 168(1/2): 71118.
[8]BOGER Marko, JECKLE Mario, MUELLER Stefan, et al. Diagram interchange for UML \[R\]. \[S.l.\

职称论文范文www.udooo.com

]: SpringerVerlag, 2002.
[9]SONG Eunjee, YIN Shuxin, RAY I. Using UML to model relational database operations \[J\]. Computer Standards and Interfaces, 2007, 29(3): 343354.
[10]DENG Wenjun, LIANG Yiwen. Reason on UML diagrams with answer set programming \[C\]// Proceedings of International Conference on Computer Science and Software Engineering. Washington, DC, USA: IEEE Computer Society, 2008: 205209.

作者简介:
刘勇男,1971年出生,山东济南人,硕士研究生,副教授。主要研究方向为电子信息。

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号