论文部分内容阅读
软件系统本身内部构造复杂,同时由于人们对网络需求量的不断加大,使软件内部系统经常出现不易控制、多变、无规则等现象,如何认识、开发、设计、控制、降低软件系统内部的复杂性就成为了大型软件工程系统所要面临的问题与挑战。研究者通过分析、量化、度量等方法将软件系统复杂性等问题进行处理,发现软件系统一系列的设计与复杂网络理论有紧密的联系,从具体和抽象的角度与方法上来深入研究和证明软件系统的静态特征以及演变规律。将大型软件系统看作为复杂网络,利用复杂网络理论能够找到一些潜藏在软件系统内部结构中的一些不变的规律和普遍的模式,在一定程度上促进了对软件系统内部结构复杂性等多方面的了解以及控制,对软件系统拓扑结构分析、网络建模分析以及优化系统结构等方面都有了重要的研究意义。软件系统可以应用网络化构建模型进行本质特征表达的方法。构造建模成源代码解析以及可视化工具实现结构映射,将复杂网络理论引入软件系统结构分析中,选取了度量样本软件的度分布、聚集系数、平均最短路径、介数等多个不同规模的软件参数进行数值分析,对所测量的大量的数据进行了计算与分析,从不同的方面以及不同的测试中得出聚集系数较大以及最短路径较小的显示结果,发现软件系统内部结构具有“无尺度”和“小世界”特征,拓扑特征揭示了潜藏在软件内部的设计思想。并举例一个大型软件系统加以测量分析验证。软件系统的复杂性与软件质量有着密切的关系,软件系统的复杂性也体现在部件与部件间的复杂关系,为了更好的研究和度量这种复杂关系,将软件系统通过用复杂网络的形式抽象进行研究,提出耦合和内聚是反映软件稳定性的基本指标。通过描述CK度量、MOOD度量等几个传统测度手段特性,提出了基于复杂网络大型软件系统的二维测度体系,重新定义了度量方法,分别为类节点度量以及系统结构度量,并利用几个典型的开源软件来验证度量体系的合理性,更加量化了软件质量的评价,有效的控制大型软件系统内部结构复杂性,使软件系统能够被更好的应用在各个领域。