基于复杂网络的软件度量与软件模块划分研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:gengjie_1986
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统规模的日益庞大和复杂性的不断增高,软件系统越来越难以理解和控制。近年来迅速发展的复杂网络理论为理解和控制大型软件系统提供了一个新的视角。研究表明,很多社会网络、生态网络、Internet、WWW等都具有明显的复杂网络特征,包括小世界现象,无标度现象等。通过将实际中的社会网络、生态网络等视为复杂网络,研究其结构特征,研究者们发现了很多这些网络的结构特征以及形成和演化的规律。这些研究对社会学、生物学、物理学的发展已经产生了一定的影响。   大型软件系统中也存在复杂网络现象。大型软件系统中存在大量不同粒度的单元,对这些软件单元以及它们之间的交互关系建模,由此形成的网络具有普遍的复杂网络现象。将复杂网络普遍具有的性质和规律应用于软件工程领域,从而研究软件系统的结构特征,可以更好地理解和控制软件系统。   本文研究了大型软件系统的网络模型,将复杂网络理论运用于软件度量与软件模块划分。主要工作如下:   (1)介绍复杂网络理论及其在软件中的应用。首先介绍网络的基本概念和特征,介绍几种基本的网络拓扑模型以及各种拓扑模型的性质,从而引出复杂网络的概念。然后介绍复杂网络的社团结构性质,社团结构是复杂网络最重要的结构特征,也是本文提出的新的软件模块划分方法的理论基础。综述社团结构划分算法的研究进展,并比较这些算法的性能和复杂度。   (2)提出一种新的基于复杂网络的大型软件系统结构分析方法。综述大型软件系统中复杂网络特征的研究现状,说明大型软件系统中复杂网络现象是普遍存在的。提出复杂网络结构与软件系统网络模型结构的四层对应关系,从而将将复杂网络的理论与软件系统有机地结合起来,可以更好地刻画和分析大型软件系统的结构特征。   (3)提出基于复杂网络的软件度量框架。介绍几种经典的软件度量模型。提出三层度量框架,即从元素级、模块级和网络级三个不同的层次研究软件系统的结构与性质。每层度量由网络的各种统计量构成。说明了这些度量值的计算方法。   (4)提出基于复杂网络的软件系统模块划分方法。概述软件系统模块划分在软件工程各领域中的应用,介绍了软件系统模块划分的研究进展。分析软件系统的结构,将复杂网络社团结构理论运用于软件系统模块划分,并考虑到软件系统规模大小的不同,实现三种不同的划分方法。对划分模块结构后的网络进行结点分类,从整体与个体两方面考察网络的结构特征。   (5)用工具JPAC对JDK系统进行试验和分析。定义符合Java语言的网络结构JSCG,开发了基于复杂网络的大型Java程序分析工具JPAC。介绍了JPAC的各模块和功能。以JDK的五个不同版本为例,分析大型软件系统中的复杂网络特征。发现JDK的五个版本的JSCG都是复杂网络,从而可从复杂网络的角度考察其结构特征。分析了JDK系统的三层度量,对JDK系统不同粒度的包用不同算法进行模块划分,并比较划分后的模块度与原模块度的不同。实验结果显示了JDK系统的元素级、模块级、网络级等不同层次的结构特征,说明了基于复杂网络的软件系统模块划分方法的可行性与优越性,验证了基于复杂网络的软件系统结构分析方法的有效性。
其他文献
序列模式挖掘是数据挖掘领域的一个重要研究方向,在各个领域具有广泛的应用。现有序列模式挖掘方法挖掘出的频繁序列模式往往缺乏可解释性,在支持度较低或者当数据集比较稠密的
水稻病虫害长期以来就是阻碍农业发展的一大危害,对水稻害虫及时发现并对症下药是防治的重点。随着计算机技术的飞速发展,水稻害虫识别自动化已经作为该领域的一大热点,被逐渐应
随着信息技术和世界经济的飞速发展,嵌入式系统越来越受到人们关注,越来越多基于嵌入式技术的产品进入人们日常生活中。 本文首先对比了嵌入式系统的存储结构与通用PC机的
随着我国经济的高速发展,环境污染问题日益突出。作为我国的一项基本国策,环境保护是落实科学发展观、可持续发展、构建和谐社会的重要内容。环境监测作为环保各项工作的数据
现如今,人们对手机的要求已经不仅仅局限于通话本身,而更关注于将越来越多的应用集成在一起。从通话、短消息到上网、收发E-mail,再到今天的照相、摄像,手机的功能已经越来越
模型驱动体系结构(Model Driven Architecture MDA)是OMG组织为解决不同中间件平台间的集成问题而提出的一种开放的、供应商中立的软件开发方法。MDA是以模型为核心的。在MDA
朴素贝叶斯分类器是一种经典的机器学习算法,它通过利用属性的条件独立性假设使学习过程变得简单高效。但是在真实问题中,条件独立性假设并不成立,半朴素贝叶斯分类器通过削弱属
随着技术的发展,越来越多的家庭设备将具备网络连接和数据通信能力。人们希望通过某种方式在各种家庭设备间实现信息的共享以及设备间的互操作。以家庭多媒体通信、娱乐、安
分散搜索算法(Scatter Search Algorithm)是一个基于种群的进化算法。它的基本策略是创建综合决策规则和约束条件,其目的是通过组合两个或多个元素(解)以获取一个更好的新元
随着多方视频会议等多媒体实时通信应用的增多,多用户间的通信协调机制的研究和实现也越来越受到重视。其中,发言权控制是协调参会各方使用会议共享资源的一种重要手段。长期