论文部分内容阅读
随着软件技术的发展和互联网的普及,软件系统的规模逐渐增大,软件的复杂性不断地提高,软件开发经常处于失控状态,软件产品的质量无法得到保证,软件的结构复杂性成为影响软件质量的主要因素,因此如何认识、度量、管理和控制软件的结构复杂性就成为软件工程领域面临的一个棘手问题。在软件体系结构方面,软件的结构出现了多种层次、多种粒度、多种集成方式的组织方法。但是目前还没有有效的度量方法对软件结构复杂性进行度量。针对上述问题,有必要对软件系统结构复杂性进行深入细致的研究,了解软件结构中蕴含的特性与规律,进而控制软件的质量。本文借鉴复杂网络的研究理论和方法,将软件原代码表示成节点和边的形式,构造软件静态结构网络拓扑图,进而将软件的结构通过网络拓扑进行特征量化描述。实现了一种软件静态结构网络化特征分析工具,将软件静态结构抽取为网络拓扑,利用网络拓扑对软件结构进行量化描述和计算分析。本文以全局和整体的角度来审视软件结构特性,基于软件构造特征的具体特性,提出一种软件结构复杂性的度量指标,并对其进行实验验证。实验结果表明这些度量指标与实际系统的特性相吻合,度量正确有效,可以作为对现有软件度量方法的一个补充。最后基于软件结构复杂性的度量指标,结合软件工程思想,从结构复杂性角度研究软件结构的设计缺陷。作为软件结构复杂性研究的一个应用及扩展,这有助于开发人员在设计的早期阶段分析和检测软件结构的缺陷,避免等到软件开发工作完成之后进行测试时才发现大量缺陷,进而有效提高软件质量、缩短开发周期并节省开发成本。