面向方面程序中的耦合性度量及应用

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:doudouhuijia
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在现代软件开发中,耦合性往往是衡量一个系统组件间相互依赖关系的指标。高耦合性系统有着很强的相互交互关系,模块间相互依赖。通常对程序员来说,编写耦合性较低的模块被认为是一项渴望的目标,因为低耦合的模块容易维护,容易重用。耦合性度量参数经常被用来评价软件外部质量属性,如可维护性、可重用性、以及可靠性。目前,已经存在很多的框架来度量面向对象程序的耦合性,也出现了不少面向方面程序中静态耦合性度量的研究。然而,很少有研究工作系统地分析面向方面程序中的静态和动态耦合性度量。本文以面向方面编程语言为目标,提出了一套适用于面向方面程序的耦合性度量框架,该框架的核心在于归纳定义一系列模块间的调用关系,并利用这些调用关系来计算组件间及系统的耦合性。基于所提出的耦合性度量框架,本文讨论了面向方面程序中的两个典型应用:1.系统可维护性评估。本文提出了一套面向方面程序的细粒度耦合性度量参数来度量系统演化过程中的变化。首先,通过影响分析识别出系统演化过程中模块的变化,然后利用耦合性度量计算每个模块的耦合性值。最后,参照统计关联性规则,提出耦合性度量与系统可维护性之间的依赖指标,来衡量软件变化对系统的影响。2.方面化重构评估。方面化重构已被广泛运用在实际的软件维护中。然而,几乎没有研究工作关注在方面化重构前后系统耦合性的变化。因此,对于面向方面编程的程序员来说,在不了解方面化重构对系统耦合性影响的情况下,很难决定是否应该把重构操作应用到程序演化中。本文提出了一套耦合性框架,适用于面向方面程序的静态和动态度量。利用多维线性回归模型,来拟合方面化重构前后耦合性的扩散度,从而评价方面化重构对系统耦合性的影响。基于所提出的耦合性框架,本文实现了自动化工具AJMetrics和AJDyMetrics来分别计算面向方面程序中静态和动态耦合性度量。本文使用了23个设计模式、5个AspectJ基准测试程序和2个大规模程序对耦合性度量框架的应用进行实验化评估。评估结果不但验证了度量工具的正确性,衡量了软件变化对系统演化中系统可维护性的影响,而且评估了方面化重构对系统耦合性的影响。
其他文献
通过相机的运动,计算机获得实时的二维图像,从而通过相关算法得到相机的运动参数。分析相机运动参数属于计算机视觉的范畴,三维模型加载则属于计算机图形学。相机运动在计算
随着经济和技术的发展,复杂性研究已经深入到社会的各个领域,包括生物系统、工程系统、社会系统、经济系统。社会系统是一个复杂系统,社会系统中的群体及个体会受到多种因素
目前,随着IPTV业务的广泛开展及IPTV用户群的不断扩大,IPTV运营商与IPTV用户间的交互显得日益重要,运营商需要一种平台来实现IPTV运营商与IPTV用户之间的互动业务。本文首先
随着Web2.0技术的广泛传播,构建安全、高性能、稳定的Web应用系统受到了广大用户的青睐。如何高效地开发满足用户需求的应用系统成为开发人员必须认真探讨的课题。在各大开源
本体是一种用来描述概念以及概念之间关系的模型。本体技术在计算机的许多领域得到了广泛的应用,如知识工程,数字图书馆,软件复用,信息检索和web上异构信息的处理,语义web等。本体
时空数据库是在空间数据库、时态数据库基础上形成的研究热点。时空数据库主要用于处理随时间离散或者连续变化的空间对象,其核心内容为时空对象数据建模、存储结构和拓扑分
静息态功能磁共振(resting-state functional magnetic resonance,RS-fMRI)成像技术广泛的应用于神经科学研究和临床医学研究中,随着RS-fMRI的应用,RS-fMRI数据处理方法也层出不穷
随着计算机技术和网络技术的迅猛发展,教育信息化建设中的教学信息化已逐步成为现代教育技术的重要研究课题。因此,开发出基于网络的在线考试的系统,既可以增强学校考试工作
协作式安全应用是VAENT中最具前瞻性和挑战性的应用,它通过共享的无线信道在V2V、V2I之间相互感知和交互来进行安全预警和位置追踪。但是由于VANET所特有的车辆拓扑结构动态
无线传感器网络(Wireless Sensor Networks,WSN)综合了传感器、嵌入式计算、分布式处理和无线通信等技术,是一种全新的信息获取和处理技术。无线传感器网络由随机分布的集成