研究生毕业论文

面向方面的数字视频监控系统软件质量度量研究与应用

时间:2022-10-09 02:09:05 研究生毕业论文 我要投稿
  • 相关推荐

面向方面的数字视频监控系统软件质量度量研究与应用

  摘要:以一个数字视频监控信息系统为基础,分析了面向对象的软件开发方法在横切关注点分离上的缺陷,采用 对系统进行面向方面建模结合C&K软件质量度量方法,对基于面向对象开发的软件系统和面向方面架构的软件系统进行了简单的质量度量。结果表明,面向方面的数字视频信息系统在可扩展性、可复用性、降低类之间的耦合度以及增强类的内聚上具有一定优势。

面向方面的数字视频监控系统软件质量度量研究与应用

  关键词:AOSD;关注点;视频监控;软件质量度量

  引 言

  在数字视频监控系统的实现中,发现存在跨越多个模块的关注点,称之为横切关注点_1。].一个模块可能与多个类相关联。在面向对象的编程中,横切关注点是一种跨越多个类的关注点,如果按照传统面向对象的设计方法将横切关注点硬性地划分到某个类中必然会影响系统的模块性、可读性、测试性能、维护性和可重用性 J.针对该问题,我们在数字视频监控系统中引进了面向方面的软件开发方法(AOSD),它的基本构成元素是aSpect和cl嬲s.一个aspect包含了消息(Advice)、连接点(oinpoim)、切点(poinceut)等模块。

  1 面向对象软件开发方法的缺陷面向对象的软件开发方法(00SD)采用分解的方式将完整的软件系统划分为相对较小的、易于分析和理解的模块,从而方便地进行各个功能模块的设计和编码|3‘引。通过分析可以看出,上述分散在功能模块中的功能与行为之间形成了一种横向的方面(Aspect),即方面与模块形成了横切(crosseutting),造成传统的编程技术无法将方面模块化,从而出现两种代码纠结(Tangling)在一起的情况,其原因是,在传统的编程技术中软件系统中非业务功能实现的代码无法模块化。

  2 面向方面建模的数字视频监控系统面向方面建模(Asped—Oriented ModeIjng,AOM)是在软件开发的设计阶段对方面进行建模,AOM利用建模语言(如uML)标识、分析、管理和表示软件设计和构架中的横切关注点,使所设计的软件具有更好的模块化设计,从而保持需求、设计和实施的连续性。

  通常,数字视频监控系统中存在横切系统核心关注点的日志记录、安全性验证、异常处理等非功能需求,以及实时视频监控、监控点配置、用户管理、音视频录象等功能性需求。通过采用AOsD可有效地分离并模块化这些关注点。如以功能性需求中的监控点配置为例,其在功能性需求建模中会出现一种特定的用例类型,这种用例与其他用例之间并没有特定的关系,但用例的实现通常会调用一些相同的类,例如,会调用系统的基础类(M0nitorPoiIlt),它不是任何用例的特定的类。这种用例被称为对等用例(peer use case),比如,“添加监控点”、“更改监控点”,“删除监控点”用例,它们在实现中都共享了一些类。下面以“添加监控点”为例对该用例做进一步分析(见图2)。

  考虑了多个类实例之间的交互后,就可以比较用例上下文中各个类的职责及其之间的关系。基本上,每个传送给实例的消息都可以转换成参与通信的类职责。据此,我们可以得到该用例的类图。

  3 A0SD和OOSD软件度量的比较为了验证基于AOSD所获得的软件系统的质量是否得到了提高,可以使用软件质量度量的方法对系统进行评估 ],对此,我们选用C&K度量方法。C&K度量方法由Chidarr】ber等于l994年提出,它从类级别提出了6个度量元:WMC、DⅡ1、N0C、LC0M、RFC、cBO。其主要针对软件的特性进行度量,如继承、耦合、可复用性等,并提出了对类的复杂性计算方法。

  度量的数据来源于系统的分析设计文档和源代码文件,并选定系统中的某些类为例子进行度量比较,以反映系统可维护性、可复用性、可扩展性、可移植性、可靠性等性能的变化'4 ].

  3.1 每个类的加权方法数(wMC)通过00sD和A0SD所得到的类图比较可知:

  A0sD存在0OSD中分析出的所有类,所以权重是相等的,差别在于方法的数上。以类“Monif0rP0int”为例,在采用A0SD分析系统对等用例时,将类“Mo试一沁 )0int”中定义的方法放在“MonitorI)0int Aspect”方面内进行定义,因此类“M0nitorPoint”的方法大大减少。

  经测试得,wMCA0sD为l2,wMC㈣为17,说明AOSD开发类所需时间和精力要少些,系统的可维护性得到了一定的提高。

  3.2 继承树的深度(DIT)DT]r指对象所属类在继承树中的深度(层次),其中,树根为0.Drr是当前结点至根的最大长度。

  Drr在没有父类的情况下为0,其余情况下D rIl=max(DIT( ))+1.

  以类“Monitod)oint”为例,根据oosD和AOsD比较分析可知:在00SD中,D珥 =1;而在A0sD中,不仅抽象了类,而且抽象了方面,Drr 鹏。=2(抽象的日志记录方面)。Drr越大表明设计复杂性越大,同时系统的可复用性越高。

  3.3 孩子数目(N0C)NOC定义为继承类中直接孩子的数目,在A0SD中,增加了继承与抽象方面的子方面而在O0SD中,NOC㈣=4.NOC值越大说明可复用性越高;同时,由于N0C值越大,父类的影响就越大,所以需要更多的测试。N0c值表明,A0SD可复用性好于OOsD,但是可测试性较低。

  3.4 类之间的耦合(CBO)cB0提供了类的耦合程度的度量依据。cB0越大,说明该类和其他类的关系越密切,不仅降低了可重用性,而且使测试变得复杂。DBO的计算公式如下:CBo: A * DlT+ B * NoC + C * NosC + D *DAc+E*PpC+ F*MPC前面已取得了类“M0nit0rP0int”的DIrr值、N0C值。父类数目N0sc易知,N0scA惦D>NOsco0sD.根据0oSD和AOSD类图中类的相互关联和依赖的情况,以及类中函数及属性的情况计算得知:在0OsD设计的系统中,属性耦合DAco0S。:2;而在A0sD设计的系统中,成员函数不再包括这些抽象的类,方法对抽象的类的调用是通过与类相关的抽象方面实现,所以DAc =O.同理,AOsD的PPc(参数耦合)较O0SD会大幅减少。对于MPC(消息耦合),在AOSD中,类与类之间的直接通信减少了,他们之间的联系是通过“方面”来进行。所以,AOsD的MPC将远低于O0SD.

  根据上述分析结果,从类的耦合度来看,基于A0SD设计的类的耦合度远小于0OSD所设计的类。

  3.5 类的响应集合(RFC)对象类的响应集合={所有可以被调用的对消息响应的方法的集合}.类的RFc越大,该类测试和调试将更复杂,其复杂度越大。通常,用表示该类的响应集合,冗s= 】,(U尺 ), ∈其中, 为该类的方法的集合, 为方法 调用的方法的集合。

  在基于AOSD设计的类中,因为增加了对等的方面和扩展的方面,可以通过pointcut调用扩展的类中的方法,这样激励做出反应的消息个数将增多,所以, ℃ 惦D>RFCo0sD.此表明,基于AOSD得到的系统的维护性、可理解性降低。

  3.6 类内聚缺乏度(LCOM)在基于AOSD的设计中,由于方面的出现,将类中的部分方法有效剥离出来,因此无共享实例变量的成员函数对的个数出现明显的降低。删值越小,表明AOSD设计的系统类之问内聚更大,封装性较好,可复用性和效率更高。

  综上所述,可以得出AOSD对软件质量特性的影响。表l表示度量元与其所影响的软件质量特性的关系。

  根据表1的度量元各指标值以及度量指标与内部质量关系可知,基于AOSD的软件开发方法提高了软件的可扩展性、可复用性,降低了类之间的耦合度,增强了类的内聚,但软件的可测试性、可靠性等有所降低。

  4 结论

  由于AOsD技术还处于发展的初级阶段,至今还没有一个类似于OOSD那样成熟的标准。同时,面向对象编译的特性造成了方面代码在编织后的效率比理论上有一定的降低。因此,在横切关注点较少的软件架构中使用面向方面的设计方法往往会使得软件的质量特性有所下降,只有在横切关注点较多、涉及的面较广的软件架构中使用面向方面的设计方法才能使得软件质量特性得到比较明显的提高。

  参考文献:

  [1]Ivar Jacobson.A0sD中文版—— 基于用例的面向方面的软件开发[M].北京:电子工业出版社,2o05.

  [2] b}m clarke.面向方面的分析与设计方法[M].北京:机械工业出版社。

  [3]张玉宏。基于UML的软件度量工具的实现研究[D].南京:南京航天大学,2()06.

  [4]宋维平。基于面向对象系统的质量度量的研究[D].重庆:重庆大学,2oo5.

  [5]牛家豪。面向对象软件质量度量的研究与应用[D].南京:南京航天大学,20o4.

【面向方面的数字视频监控系统软件质量度量研究与应用】相关文章:

浅谈面向云服务信息安全质量评估的度量模型分析论文10-08

SNMP协议在系统监控方面的应用10-05

儿科临床医学质量监控评价体系的研究论文10-08

电脑监控系统软件销售合同书10-07

流媒体编码和应用层组播技术在视频监控系统的应用研究报告10-07

发酵工艺在食品方面的应用10-05

质量方面的个人总结02-25

管理系统软件在旅游教育教学改革中的应用论文10-08

煤炭高校机械学科研究生教育质量监控体系的研究与实践论文10-08

数据库案例教学在应用型人才培养方面的实践与研究10-06