基于UML与ACME/ADL集成的校园网运维管理系统研究

来源 :中国教育信息化·高教职教 | 被引量 : 0次 | 上传用户:felixsilent
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文以某学院校园网运维管理系统开发项目为背景,阐述了UML与ADL在软件系统建模中的应用问题。首先提出了软件体系结构建模要素,然后使用UML方法构建了校园网运维管理系统的对象结构模型和行为模型,进而重点讨论了基于ACME的校园网运维管理软件架构,给出了可实现的构架模板;最后比较了UML和ACME两种建模方法的优缺点,给出自己的结论。
  关键字:UML;ACME;ADL;软件体系结构;网络运维管理
  中图分类法:TP311 文献标志码:A 文章编号:1673-8454(2013)15-0045-04
  引言
  软件体系结构(Software Architecture)是20世纪90年代软件工程领域出现的一个重要研究方向,通过对系统最高层次的抽象,阐明系统的整体设计,协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类及其实例之间协作的方法,为构件复用提供系统环境约束。目前软件体系结构研究得到广泛的关注与重视,主要是由于软件体系结构的相关研究不仅提供了一种在较高层次观察、设计系统并推理系统行为和性质的方式,而且提供了在分布式多层系统开发中对各组成构件开发、组装、部署的途径。软件体系结构描述语言ADL(Architecture Description Language)以形式化方法为基础,能为软件建立精确的体系结构模型,有效的支持对系统的分解学习、分析和验证,以便于对软件系统的重构和优化。统一建模语言UML(Unified Modeling Language)是利用图形表示法的软件系统模型描述语言,可以从不同的角度为系统建模,是可视化建模语言。基于这两种语言有很强的互补性,UML和ADL协同描述软件体系结构的研究日益成为研究热点。
  一、软件体系结构建模要素
  使用建模是解决大型复杂软件设计和研究的一个有效的方法。通过对系统的软件体系结构建模可以在较高的抽象层次上描述全局结构,对系统的控制结构和高层元素交互关系的部署设计具有指导性帮助。体系结构建模主要包含以下4方面:
  (1)体系结构的结构模型,该模型主要包括体系结构的组件,连接件和其他概念,包括系统的配置、约束、隐含的假设条件、风格和性质。
  (2)体系结构的行为模型,反映体系结构的动态属性,是对结构模型的补充,包括系统总体结构的配置、演化、并发和分布等行为。
  (3)体系结构视图,除了系统的总体结构和行为之外,体系结构还关注用法、功能、性能、复用、可理解性等方面。不同的参与者从不同的角度、不同的生命周期所获得的视图也不尽相同。
  (4)体系结构过程,只有以体系结构为中心才能获得一个健壮且有弹性的体系结构。
  二、UML描述软件体系结构的视图模型
  1.概述
  UML是一种通用的标准建模语言,由著名的面向对象技术专家Jim Rumbaugh、Ivar Jacobson和Grady Booch综合各自的方法几经修改完成的,已被OMG采纳为标准,是面向对象软件开发方法的一部分。UML不是一种程序设计语言或语言实现系统,UML是建立系统模型的描述语言,建立的模型可以用Java、C 或任何一种程序语言来实现。UML提供了可视化的图符表示方法及语义化的元模型描述规范,提供了静态和动态两种建模机制,以及概念层、逻辑层和物理层的模型描述体系。UML具有十种模型图并分为四类,使用UML描述软件体系结构可以使用5个互连的UML视图包括用例视图、设计视图、进程视图、实现视图和分布视图来描述软件体系结构的观点。其中:(1)用例视图由专门描述被最终用户、分析人员和测试人员看到的系统行为的用例组成,它描述了形成系统体系结构的动力;(2)逻辑视图包含了类、接口和协作,这些视图主要支持系统的功能需求,即系统最终提供给用户的服务;(3)过程视图包含了形成系统并发与同步机制的线程和进程,侧重于描述进程的主动类;(4)实现视图包含了用于装配与发布物理系统的构成和文件;部署视图包含系统硬件拓扑结构的节点,描述物理系统部件的分布和安装。每一个视图都是在一个特定的方面对系统组织和结构的投影。
  2.用例视图
  对校园网运维管理系统进行需求分析,表1列出了校园网运维管理系统用例和角色的关系,以此为基础可以构建顶层用例如图1所示。
  3.逻辑视图
  (1)静态视图
  借用UML中类图对系统中主要的类进行建模,在较高的层面上对系统体系结构的逻辑结构进行描述。如图2所示,主要类有值班登记单、关键设备监测、邮件系统监测、网站防篡改、报警等,其中各类监测参数以来各自的参数类,如设备清单等。通过对报警类进行继承可以扩展新的报警方式,目前主要可以考虑邮件报警号短信平台报警。值班登记单中需要处理的各项任务通过聚合的方式汇总。图中菱形方块线条表示类之间的组成关联,三角型线条表示类之间的泛化关联,虚线表示类之间的依赖关联。
  (2)动态视图
  作为静态视图的补充描述,用序列图建立主要业务对象的行为视图。如图3所示,用序列图描述将参与协作的类和对象之间进行过程建模。校园网运维管理系统中值班工作相关流程如下:首先用户激活值班登记单对象,然后值班登记单包含了关键设备监测、邮件系统监测和网站防篡改三方面工作,通过各系统的监测,如果发现异常情况通过值班登记单提供的警报类型发出警报。
  三、ACME/ADL描述体系结构的构件交互模
  1.ACME/ADL概述
  ACME是一种体系结构互换语言,支持体系结构的规格说明在不同ADL之间的转换。可以把它作为体系结构设计工具的通用交换格式,也可以作为开发新的体系结构设计和分析工具的基础。ACME项目开始于1995年,由卡梅隆大学的David Garlan负责,当时的目标是在不同的体系结构开发工具之间提供一种能够相互交互体系结构描述的公共语言。目前的ACME语言和ACME工具开发库(Acme Tool Developer’s Library, AcmeLib)为软件体系结构的描述、表示、生成和分析, 提供了一种通用的、可扩展的基础设施。   2.ACME建模
  ACME语言和开发工具包提供3种基本功能:
  ①体系结构的相互交互。通过提供一种体系结构设计的交换格式,ACME允许各种开发工具与其它补充工具协同工作。
  ②为新的体系结构设计和分析工具提供了可扩展的基础。许多体系结构设计和分析工具需要一个用于描述、存储、操纵体系结构设计的表示法。但开发好的表示法往往需要很高的时间和经济成本。使用ACME可以有效减少这方面的成本,因为可以用它提供的语言和用于工具开发的函数库作为基础。使用ACME还使得所开发的工具能够有更好的通用性,因为它可以与其它使用ACME格式的工具交流设计,协作开发。
  ③体系结构描述。ACME本身是一个很好的开发语言。尽管不是适合于所有的应用系统,ACME体系结构描述语言能够让开发者很好地认识体系结构建模,提供了一个相对容易的对简单软件系统的描述方法。
  ACME通过定义七种体系结构实体建模:构件、连接件、系统、端口、角色、表述和表述映射,各部门功能如表2所示,其中最基本的实体是构建、连接件和系统。
  (1)总体架构描述
  ACME提供了基本体系结构元素和扩展机制来描述系统的软件体系结构。对于软件体系结构中的构件和连接件,可以分别使用ACME中的Component和Connector与外部的数据交换。对于软件体系结构中的配置,可用ACME中的System类型描述。本项目中可以使用ACME的扩展机制来实现,在基于ACME的软件体系结构设计环境ACMEStudio中集成了预定义的软件体系风格,如PipesAndFilterFam、ClientAndServerFam和LayeredFam等。图4是用ACME描述的基于ClientAndServerFam的体系机构描述。
  (2)构件动态交互模型
  运用ACME/ADL描述构件交互状态模型,首先在一个相对较粗的粒度上提取系统的主要逻辑构件,这个逐步抽象的过程可以参考UML所描述的视图,然后对主要构件的接口和属性、连接件的角色和属性以及它们之间的交互关系进行描述。以下为基于客户服务器模板的系统体系结构ADL。
  System NetworkMgr : ClientAndServerFam = new ClientAndServerFam extended with {
  Component SNMP_Agent : ServerT = new ServerT extended with {
  Port receiveRequest : ServerPortT = new ServerPortT extended with {
  rule portHasAttachment = invariant size(self.ATTACHEDROLES) >= 1 OR (size(self.ATTACHEDROLES) == 0 AND attachedOrBound(self));
  }
  }
  ……
  //端口
  Port receiveRequest : ServerPortT = new ServerPortT extended with {
  rule portHasAttachment = invariant size(self.ATTACHEDROLES) >= 1 OR (size(self.ATTACHEDROLES) == 0 AND attachedOrBound(self));
  }
  }
  // 连接件
  Connector GetSNMPs : CSConnT = new CSConnT extended with {
  Role clientSide : clientSideRoleT = new clientSideRoleT extended with {
  rule roleHasAttachment = invariant size(self.ATTACHEDPORTS) >= 1 OR (size(self.ATTACHEDPORTS) == 0 AND attachedOrBound(self));
  }
  Role serverSide : serverSideRoleT = new serverSideRoleT extended with {
  rule roleHasAttachment = invariant size(self.ATTACHEDPORTS) >= 1 OR (size(self.ATTACHEDPORTS) == 0 AND attachedOrBound(self));
  }
  ……
  Property protocol = "SNMP";
  ……
  Property blocking = false;
  rule hasTwoRoles = invariant size(self.ROLES) == 2;
  }
  }
  Role serverSide : serverSideRoleT = new serverSideRoleT extended with {
  rule roleHasAttachment = invariant size(self.ATTACHEDPORTS) >= 1 OR (size(self.ATTACHEDPORTS) == 0 AND attachedOrBound(self));   }
  rule hasTwoRoles = invariant size(self.ROLES) == 2;
  }
  ……
  Attachment SNMP_Agent.receiveRequest to GetSNMPs.serverSide;
  Attachment Web_Agent.receiveRequest to GetWebs.serverSide;
  ……
  }
  以上代码中,首先使用服务器描述模板,实例化SNMP代理、Web防篡改代理、报警中心、应用程序服务器和数据库服务器构件,并按照业务需求搭建相互之间的连接关系,然后利用客户机模板描述实例化工作台构件。工作台构件主要是系统人际接口界面,通过该构件向应用服务器构件发送各种管理需求指令,应用服务器将具管理功能转发给各应用代理构件。
  应用服务器和各代理之间连接件通讯协议主要依赖代理各自的系统特点,如报警中心可以使用基于Web服务的方式和应用程序服务器进行耦合,而SNMP代理则使用SNMP协议进行通讯。系统运行参数和历史数据都将使用数据库构件管理。
  四、结论
  本文通过使用UML和ACME对校园网络运维管理系统的建模分析得出以下结论:
  (1)UML是一种可视化建模语言,由于其可视化的特点,更适合高层次的对系统的架构进行建模。通过使用可视化建模方法能直观的表示复杂的系统,但容易屏蔽关键细节。从实际建模效果上,UML适合对静态对象以及相互直接的结构关系的描述,但是对于具有复杂的动态和引用关系描述较困难。UML不能直接支持软件体系结构风格的描述,需要配合其他的建模方式运用。
  (2)ACMCE/ADL是形式化的建模描述,形式化语言能够精确的对模型描述,接近底层的实现。
  (3)UML建模方法以高层次的软件复用建立基础,ACME/ADL更贴近细节和层次的实现,使建模与实现接近。因此采用UML和ACME/ADL相结合可以在软件体系结构描述中互为补充,取长补短。?
  参考文献:
  [1]刘长林,张广泉,黄静.一种基于ACME的面向方面的软件体系结构设计方法[J].苏州大学学报(工科版),2011,31(2):6-12.
  [2]张玲红,戎玫,张广泉.UML与ACME/ADL在运输业务管理系统体系结构建模中的应用[J].苏州大学学报(工科版),2004,24(4):8-13.
  [3]戎玫,张广泉.软件体系结构求精方法研究[J].计算机科学,2003,30(4):108—110.
  [4]覃征,何坚,谢国彤等.软件体系结构[M].西安:西安交通大学出版社,2002.
  [5]施吴华,张朝辉.UML面向对象结构设计与应用[M].北京:国防工业出版社,2003.
  [6]焦允.UML与ACME/ADL在体系结构建模中的应用[J].河南广播电视大学学报,2006,19(2):62-64.
  [7]毛春华,万麟瑞,郁春波.基于UML-ADL集成建模方法的集成计划模型研究[J].计算机应用研究,2003(7):38-45.
  (编辑:王晓明)
其他文献
本文运用文献研究法从定量和定性两个角度分析了国外有关在线交互与批判性思维的研究现状,并通过国内外研究的对比,指出目前国内针对该主题研究中存在的一些问题,以期促进国内在
高校人事管理系统是能适应现代大学办学规模及组织模式、推动高校管理实现科学化、标准化和规范化的重要手段。作为一个标准的微系统,高校人事管理系统必须遵从系统论原则,在
文章从电压型逆变器PWM控制机理出发,着重研究了PWM波形谐波分量以及逆变器开关时滞对逆变器输出电压及对电机速度平稳性的影响,最终提出了改进措施并给出了必要 突验结果。
10月24日下午,教育部在北京召开全国中小学生学籍信息管理系统视频调度会.会议由教育部教育管理信息中心主任展涛主持,教育部基础教育一司副司长杜柯伟、教育部教育管理信息
在一般应力状态的应力椭球面上.一点的矢径不能直接给出相应全应力作用面的方向,但是,通过调整坐标比例尺,将应力椭球面改制成应力球面,该球面上一点矢径指向就是相应全应力作用面
稳流阀是程序升温气相色谱仪中调节和稳定载气流量的重要装置。该文介绍的色谱仪谱稳流阀分析计算与优化软件包。能根据稳流阀的性能要求,对稳流阀的结构设计参数进行分析计算
涡街流量计是种新型流量测量装置,采用软件方法计算其输出信号的频率更是项新技术.本文采用计算机仿真技术,用高级语言实现不同的谱分析算法,对模拟信号进行计算,通过两类谱分析结
新华社北京3月14日电 国务院副总理刘延东3月14日在全面改善贫困地区义务教育薄弱学校基本办学条件电视电话会议上强调,要认真贯彻习近平总书记、李克强总理关于贫困地区义务教育发展的重要指示精神,加大支持力度,全面改善贫困地区义务教育薄弱学校基本办学条件,保基本、补短板、促公平,增强下一代人脱贫致富能力,为贫困地区孩子开启健康成长、实现梦想的幸福之门。  刘延东指出,近年来,贫困地区义务教育的普及水平
本文采用薄板弯曲问题中的基本解,按一定的规律将它们的源点布置在板外,来构造整个板平面内及边界上的插值函数.利用这一插值函数,通过板的边界条件所确定的B知边界节点值便可直接
研究价廉易得的铝作为还原剂,从含硫化银废水中制取试剂级硝酸银。这一新方法的回收率高达55%-60%,并且有生产成本体,操作简单、易于推广使用等特点。