基于特征的结构型设计模式挖掘

来源 :杭州电子科技大学 | 被引量 : 0次 | 上传用户:jie_169
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
设计模式定义了面向对象软件系统里经常出现的一组类和这组类之间的关系,以及它们的目的。在过去的十几年里,设计模式被广泛地应用到软件工业领域。另一方面,随着软件系统的规模不断扩大、复杂性不断增加,理解和改变这些系统成为了一件非常困难的事情,尤其是当架构和设计文档并不完整的、甚至没有与系统源代码保持一致性的时候。通过逆向工程从源代码中挖掘出软件设计模式的应用实例,对于完善设计文档、理解和维护系统具有重要意义。每种设计模式都有自己的结构特征,但是从更低的层次上看(本文定义的微结构),大部分设计模式都有部分共同的结构特征,即微结构。在Gof设计模式中,结构型模式描述了如何将不同的类组合在一起,形成一个更大的结构。相比较行为型设计模式、创建型设计模式,结构型设计模式之间具有更多的共同结构。传统的设计模式挖掘方法,都是对设计模式的特征进行渐增式挖掘,很少利用模式之间共同的结构特征这个特点来减少模式挖掘的复杂度。在模式挖掘过程中,如果发现某个特征得不到满足,将会抛弃之前的结果,重新开始挖掘设计模式实例。而之前得到满足的一些特征,对与其结构相似的设计模式往往具有很大的参考作用,识别与其相似的设计模式完全可以在这些满足的特征的基础上进一步进行,而不必要从头开始。为了进一步提高结构型设计模式挖掘的准确度,本文提出了8种能够表征结构型设计模式的结构特征单元,即微结构,其包含了一组类和这组类之间的继承关系或者关联关系等。然后,在微结构的基础上,提出了基于图同构的微结构挖掘方法,以及构建了5种结构型设计模式的结构特征模型。本文用该结构特征模型与行为特征模型作为设计模式匹配的基础,来进行设计模式实例挖掘。其中行为特征模型分析结合了静态分析方法和动态分析方法,既减少了复杂性,又提高了准确度。为了评估本文的方法,我们实现了一个基于微结构的设计模式探测工具DPDT(Design Pattern Detecting Tool),并用它对3款开源软件进行了测试。实验证实了本文方法相比于传统方法,具有较高的识别精确度。
其他文献
巡回旅行商问题(TSP)是一个组合优化方面的问题,已经成为测试组合优化新算法的标准问题。从理论上讲,使用穷举法不但可以求解TSP问题,而且还可以求出该问题的最优解。但是对现有的
随着互联网的不断普及和各种图像采集设备的持续发展,图像作为人类感知世界的重要信息源,在实际中的应用也变得更为重要。如何从海量的数字图像集合中快速查找目标图像,是研究的
随着计算机通信技术、微电子技术和传感技术的发展,无线传感器网络应运而生。无线传感器网络作为一门新兴的、多学科的前沿性技术,集成了多种先进技术与理念,将虚拟的信息世界与
群体现象在自然界中普遍存在,如南迁的鸟群,水中的鱼群,人群等等。群体仿真近年来逐步成为虚拟现实领域的研究热点,并且普遍应用于实时仿真和虚拟娱乐领域。群体仿真的主要目的是
随着信息技术的高速发展,特别是人类社会进入互联网时代,海量的数据信息随之产生出来。一方面人们得以享受到以往任何时代都无法想象的信息资源,但另一方面,针对这些海量的有价值
生物信息学是一门结合了生物学、计算机科学、数学和化学等领域知识的交叉学科。随着科技的飞速发展,基因测序技术的研究取得了重大突破,人们逐渐开始对基因的功能和内在机理
微粒群优化算法是一种群体智能算法,该算法在迭代初期容易出现早熟,迭代后期可能会出现振荡μ等现象,算法的收敛速度也较慢。针对这些不足,本文对微粒群优化算法进行了深入的分析
细分曲面长期以来一直都是计算机图形学的经典研究方向,伴随着几十年的发展,且其研究成果已经被广泛地应用于制造业、游戏、娱乐以及电影工业等领域。细分曲面的结果通常都是很
随着人们生活质量的不断提高,旅游行业迅速崛起,在国民经济中占据着举足轻重的地位。云南省顺应时代的发展,在当前的发展优势下紧紧抓住这个机遇,大力发展旅游业,现已成为国
集成学习是当前机器学习领域研究的一大热点,因其具备显著增强学习机泛化性能的能力和有效解决学习机过学习问题的优点,而备受研究者的关注。本文就是从集成学习的角度来研究图