论文部分内容阅读
软件工程学的奠基人Dijkstra早在1968年就提出:软件工程师不仅要关注系统的功能,还需要理解软件的结构。但随着软件规模的不断扩大,软件系统中大量元素及其之间错综复杂的交互关系,使软件开发人员越来越难以理解其组织结构,致使整个软件难以维护和进行二次开发。本文以理解面向对象软件的组织结构为研究出发点,提出了面向对象软件的核结构(软核结构)的思想以及基于上述核结构的软件理解方法,在简化软件结构的同时达到逐层地理解一个软件的组织结构的目的。另外,根据研究内容的要求,本文建立了面向对象软件的网络模型并且在此基础上设计与实现了基于面向对象软件核结构的软件分析工具。本文选取了50个开源的面向对象软件作为样本软件并对其进行了统计分析,不仅验证了软核结构可以有效地简化一个面向对象软件的结构,而且还发现了提取软核过程中软核简化速率的幂率性衰减特征,以及面向对象软件中广义的类继承树的深度服从幂率分布的特征。数据分析的结果表明,软核结构的提取可以有效地提高软件开发人员理解一个面向对象软件的组织结构的效率。实际的应用表明,本文所设计的基于面向对象软件核结构的软件分析工具很好地满足了研究内容的要求,可以快速、方便地得到理解面向对象软件的组织结构的过程中需要的相关数据,可视化软件的理解过程,有助于软件开发人员对一个面向对象软件的组织结构的理解。