节点文献
面向对象软件的结构特性及演化模型的研究
Research on Structural Characteristics and Evolving Model of Object-Oriented Software Systems
【作者】 高洋;
【导师】 郭世泽;
【作者基本信息】 北京邮电大学 , 信息安全, 2011, 博士
【摘要】 自21世纪初,计算机和信息技术的迅猛发展及其应用领域的快速扩张使得软件系统规模及复杂性激增,这直接导致了软件安全问题的不断产生,软件的安全性、可靠性和可控性很难得到有效的保障。为了应对这种局面,就需要软件技术转换新的视角进行不断的创新。软件的结构影响着软件的功能、性能、安全性及可靠性等指标。对于软件结构的研究往往过于关注软件系统的局部特性,忽略了更为重要的整体和全局特性,导致对软件本质特征缺乏清晰的认识。复杂网络理论具有忽略细节突出普遍性客观规律的特点,它为软件结构整体特性的研究提供了有力的支撑。因此,对软件结构的复杂网络拓扑形态所独有的特性及演化规律的研究成为研究人员关注的焦点。在结构化的软件中,高质量的软件需要遵循的一个重要的原则就是低耦合。耦合是软件系统最为重要的内部属性之一,其在网络化的软件结构中表现为元素间的交互属性,直接影响着软件结构中元素交互的复杂性,而元素间交互的复杂性也是判断软件结构复杂性的重要因素。因此,软件的耦合性与软件结构之间的关系以及耦合性对结构特性的影响就成为研究的关键性问题。本论文的创新性工作具体表现如下(1)实证分析了软件耦合网络的拓扑特性,得出相关结论并修正已有结论。在建立软件耦合网络的基础上通过大量的实证研究分析了软件耦合网络的拓扑特性,对软件网络中出度具有幂率分布的结论进行了修正。同时,通过实证分析,首次发现软件耦合网络的度分布存在指数稳定性的现象,这可以帮助研究人员更为清晰的理解软件的内部结构。(2)建立了多重耦合关系软件网络族,并分析了不同耦合关系子网络的拓扑特性,发现耦合类型与拓扑特性之间具有相关性。基于网络拆分的思想,考虑软件的类间耦合类型,把软件耦合网络拆分成不同的子网络,进而建立了多重耦合关系的软件网络族。通过对比分析发现了不同软件系统的各个子耦合关系网络都存在一些相同的规律,如入度分布均具有较好的稳定性,而出度分布情况变化较大等。在此基础上进一步从软件结构的内部机制和形成机理的角度对这些现象的产生原因进行了分析。(3)建立了基于耦合频率的加权软件网络,通过实证分析发现权重(耦合频率)的分布规律及权重与软件结构特性之间的关系。基于加权网络的相关理论与方法,考虑软件的类间耦合频率,对软件耦合网络中的边进行加权,建立了基于耦合频率的加权软件网络。通过研究加权软件网络的拓扑特性,发现了权重(耦合频率)具有与度相似的分布规律,并确定了两者之间的函数关系。模型的建立为更细致地了解耦合属性与软件结构之间的关系提供了有效的方法。(4)研究面向对象度量方法,提出了刻画软件系统类级结构耦合性和核心功能模块内聚性的度量参数。研究了传统的面向对象耦合性度量方法中存在的复杂网络特性,并结合软件的设计原则和机制分析了其产生的原因。进一步运用了k-核解析方法对软件耦合网络的分层特性进行了研究,并在此基础上对面向对象软件系统类级结构的耦合性及核心功能模块的内聚性进行了分析,从宏观层面上提出了相应的度量参数。参数的提出为掌握由这些属性引起的软件设计问题提供了有效的依据。(5)建立了多重边软件耦合网络的动态演化模型。基于软件系统类间的耦合类型和耦合频率,并考虑软件系统的拓扑结构及系统中类的动态演化行为,建立了多重边软件耦合网络的动态演化模型。在此基础上进一步对软件耦合网络的动态稳定性进行分析,得出了动态模型稳定的充分性条件,并根据实际软件系统的拓扑数据进行了仿真,发现模型能够较好的反映软件系统的无标度特性。模型的建立在一定意义上刻画了类间的耦合属性和软件结构之间的关系,为开发人员更好的了解软件的内部属性与软件质量的关系起到一定的指导性作用。
【Abstract】 Since 21st century, the rapid developing of information technology and computer science and the expansion of its application lead to the increasing scalability and complexity of software system, which constantly generate problems related to software security and hinder the effective application for security, reliability and controllability of the software. To turn the situation around, the new ideas about software technology and methods are needed.Software structure has impact on the function, capability, security and reliability of software. The focus of the past researches was almost emphasizing in the locality of the software system while ignoring the global properties. Therefore, it leads to lack clear comprehension of the essence characteristic of the software. The complex network theory provides powerful support to the research of the global structure of the software for the reason that it ignores the details and emphasizes the universal objective principles. Thus, the researches about the unique characteristic and evolving model of the topology of the software structure have aroused many people’s interest.In the structured software, the essential principle followed by the high-quality software is low coupling. Coupling is the most important inner characteristic. Coupling is symbolized as the characteristic of interaction of elements. It directly affects the complexity of the interaction of the elements, which is a very important index to judge the complexity of the software structure. Therefore, it becomes a key research that the relationship between coupling characteristic and the structure and the impact to the structure characteristics introduced by coupling.There are several innovative contributions in this paper and its major work is:(1) Empirical analysis of software coupling networks is processed. In addition, the related conclusions are gotten and some existing ones are amended.By empirical analysis of software coupling networks, the conclusion that the degree distribution obeys power-law is amended. At the same time, the degree distribution of the software coupling networks which has the phenomenon of stability of exponent is first found and this is very helpful to understand further the inner structure of the software for the designers of software system.(2) The multi-coupling software networks clusters are established and the topology of sub-networks with different types of coupling are respectively analyzed, and then the correlation of coupling characteristic and topology characteristic is found.Based on the principle of decomposition of networks, the software coupling network is decomposed into several different sub-networks depending on their types of coupling and multi-coupling software networks clusters are established. After the comparison and analysis, the same rule is found in their individual sub-networks on the characteristic of coupling, such as the perfect stability of in-degree distribution in contrast to huge variation of out-degree distribution. Further, the reasons producing the phenomenon from the angle of inside formation mechanism are analyzed.(3) Weighted software network based on the coupling frequency is established and the correlation between the distribution of weight (coupling frequency) and the software structure is found.Based on the methods and theory of weighted network, the weight is added to the edges in software coupling network after taking accounting into coupling frequency between classes. Then the weighted network based on the coupling frequency is established. Through studying the topology of weighted network of software, we find weight (coupling frequency) has the same distribution as degree. In addition, the exact functional relation of the two is found. The models provide more effective method to overall comprehend the relationship of the coupling characteristic and software structure.(4) The measuring parameters that depict the coupling characteristic of class level and cohesion characteristic of core functional modules are proposed.The researches on the property of complex network in the traditional object-oriented coupling measurement are conducted, and the reasons are analyzed from the principles and mechanism of software designing. Further, k-core decomposition is applied to study the hierarchical structure of the coupling software networks and the coupling characteristic of class level and cohesion characteristic of the core-function modules are analyzed. Moreover, measurements of coupling in the class level and of cohesion in the core function are proposed. They provide effective solution to mastering the troubles caused by the two characteristics.(5) The dynamic evolving model of software coupling networks with multi-links is established.Through considering the coupling characteristic between classes and the dynamic evolution of software coupling network, the dynamic evolving model of software coupling networks with multi-links is first built. After that, the analysis of dynamic stability of the model is conducted. At the same time, the sufficient condition for the stability of the dynamic model is derived. At last, some simulations are implemented and it well reflects the scale-free characteristic of the software system according to the practical software system data of the topology. The model reveals some connections between coupling of classes and complexity of software system. It is very instructive to understand the impact of the inner characteristics to the quality of software systems for the designers.