基于局域加权有向网络的面向对象软件结构研究

来源 :山东师范大学 | 被引量 : 0次 | 上传用户:gordontang530
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的发展,计算机软件的作用越来越重要,涉及人类社会的各行各业,用于解决复杂的实际问题。为了不断满足用户的新需求以及不断适应应用环境的改变,构成软件系统的软件实体及实体间的交互关系呈数量级的增长,软件系统的规模在不断增大,其复杂性也在日趋增长,软件开发者对于复杂软件系统的理解和控制越来越困难。软件的复杂性极大地影响了软件系统的开发和质量,是导致软件危机的主要因素。系统的整体性能取决于系统的结构,影响软件系统性能的往往是整个系统的结构特征和性质,软件的结构与其功能、质量之间的关系十分密切。解决软件质量危机的关键所在就是研究软件系统结构特征进而达到控制软件复杂性的目的。复杂系统和复杂性科学是二十一世纪科学发展的前沿,复杂网络的研究从整体和全局的角度为研究复杂系统的结构和行为提供了一种有力的工具。通过软件工程与复杂系统的学科交叉研究,用网络的观点来审视软件系统,将软件系统抽象为一种人工复杂网络来进行研究。软件系统可以被看成是由类、子程序、构件等软件实体以及它们之间的相互联系构成的复杂网络。将软件实体视为节点,软件实体之间的相互关系视为边,软件系统就被抽象为网络拓扑的形态。本文借鉴复杂网络的相关理论和方法,利用大型工具DependencyFinder对面向对象软件系统JDK源代码进行分析,将面向对象软件系统抽象为网络的形式,在分析前人研究成果的基础上,引入边权的概念,并赋予其特殊的表征意义,开展一系列关于软件系统网络结构的研究。本文所做的主要工作是在抽象出的加权软件依赖网络的基础之上分析其全局拓扑特性,证明软件网络具有复杂网络特性,并在边权的基础上提出依赖度和影响指数的概念,用来度量两个类节点之间的依赖程度和不同类节点对整个软件网络的影响程度。通过分析软件实体间的复杂交互关系,进一步揭示软件系统中软件实体间依赖关系的重要性。然后根据面向对象软件开发的指导原则,解释了软件系统中这些复杂网络特性的形成原因。最后基于软件系统结构的研究,在局域世界的基础之上提出一个演化模型,模拟面向对象软件系统结构的演化过程,揭示了面向对象软件系统的演化规律。本文的主要工作具体分为以下三个部分:首先分析加权软件依赖网络的全局拓扑特性。软件网络的定义是将面向对象软件系统中的类抽象为节点,把相关分析工具抽取的类之间的依赖关系抽象为边,类之间依赖的次数定义为边权。实验表明加权JDK软件网络的度分布服从幂律分布,并且具有小的平均路径长度和大平均聚集系数,这表明加权面向对象软件系统网络拥有“小世界特性”和“无标度特性”。同时发现节点的影响指数分布也服从幂律分布,并且软件网络中存在多个局域世界,每一个局域世界是由JDK库中一组功能相关的类组成的,多个局域世界间的相互作用构成了整个软件网络。其次分析复杂网络特性的形成机理。基于面向对象软件开发的指导原则,解释了软件系统中存在这些复杂网络特性的原因。面向对象软件网络中,如果类之间的距离较大,将会增加程序的复杂性,容易隐藏潜在的危害,并且导致程序可读性下降,不利于程序的编码、修改和测试。大的聚集系数表明了在局部区域存在大量的连边,正好符合软件开发所要求的模块化原则。面向对象软件系统出现无标度特性的原因在于提倡重用。为了降低开发成本,系统中存在一些重用程度高,且实现功能较简单的类。节点影响指数分布呈现幂律特性,表明极少数节点的重用程度较高。节点的影响指数揭示了软件开发过程的一些指导性原则,如果节点影响指数高的类节点设计有缺陷,或者对于这些类的更改不合理,将会影响到大多数的类,导致该类可重用性下降。这些研究成果对于软件开发和测试中软件模块化和重用性的改进有着量化和指导作用。最后基于局域世界提出一个演化模型,用来模拟面向对象软件系统的演化过程。实验结果表明演化之后的系统仍然保持其复杂网络特性,并且该模型能够真实的反映软件网络统计特性的演化。该模型有助于开发人员更好地理解大规模面向对象软件系统的特征及演化,对于面向对象软件系统的进一步演化升级具有重要的指导意义。
其他文献
随着信息技术的迅速发展和互联网规模的不断扩大,互联网已经成为了全球最大、应用最广泛的信息库,如何有效检索这些海量信息成为当前研究的重要课题,因此信息检索(Information R
随着无线网络的不断发展,以固定AP为中心的传统无线接入方式已无法满足人们大容量、高速率、强健壮性的无线通信需求;无线Mesh网的出现成为解决这些问题的可行方案之一。无线M
当今社会环境下,优秀的企业积累了很多历史数据,这些历史数据包含丰富的经验和知识。优秀企业会特别注重这些历史数据,因为历史数据中往往包含着某些重要信息和行业发展趋势,
随着计算机的不断普及发展,人们对计算机软件的需求不断变化,需求量也不断增长。然而随着软件的规模越来越大、结构越来越复杂,加之对软件生产方式、开发工具的研究目前还是
近半个世纪以来,在摩尔定律的支配下,信息技术呈现出了前所未有的繁荣景象,互联网技术也不断改革创新。根据IDC预测,当前形势下每年产生的数据量高达8ZB,到2020年这个数字将
近年来,三维重建技术在考古学、建筑学、地质学、虚拟现实、机器人导航、物体识别以及军事等领域得到越来越广泛的应用。同时,随着计算机技术及网络技术的迅速发展,利用计算
图像去噪是图像处理中关键的预处理环节。由于在含噪图像中,大部分噪声和图像细节分布在高频区域,不易区分,导致去噪时会不同程度地损坏图像的细节信息。因此,如何能在去噪的
随着互联网的普及率越来越高,利用互联网进行信息的承载、传播以及人与人之间的交流已经成为人们生活和工作中不可缺少的一部分。然而,网络环境的日益复杂导致针对政府、军队
20世纪90年代以来,随着我国持续不断增长的网络规模、不断丰富的各类应用,互联网的价值和重要性也进一步突出,计算机进入到网络应用阶段,呈现出前所未有的社会化趋势。然而,由于各