论文摘要
随着计算机硬件和互联网的高速发展,信息技术的应用越来越普遍,计算机软件在各行各业中承担着越来越重要的角色,解决着很多变化多端的实际问题。与此同时,软件和网络的相互融合使软件的规模、组成元素和用户数量都呈数量级增长,大规模的增长使软件开发超出了开发人员的理解和控制,成为了一类复杂系统。因此,如何认识、度量、控制和降低软件复杂性具有非常重要的研究意义。复杂网络理论研究的发展,为我们研究软件系统的复杂性提供了一个崭新的视角。复杂网络理论可以将结构复杂的软件系统抽象成为网络,从整体结构的视角出发,研究软件系统的拓扑特性以提高开发人员对软件系统的理解。本文在对包括小世界模型和无标度模型等复杂网络理论和软件工程发展进行概述的基础上,关注了现有复杂网络理论在软件工程领域中的应用,利用数学分析工具Matlab和网络分析工具Ucinet等研究了以下几个方面的内容:首先分析了一些软件的复杂网络特性和比较了现有的软件网络化模型,简单做了现有软件网络模型与软件类型的适用性分析,发现现有软件网络建模方法的不足,在此基础上提出了一种基于功能点和数据点的软件网络模型。该模型的建模方法有别于现有的软件网络模型“逆向”的建模方式,能够在软件开发过程中生成软件网络。由于新模型是基于数据点的,所以在一定程度上网络表征了数据在软件系统中的流通,因此基于功能点和数据点的软件网络化模型能够为软件系统特别是数据操作密集型软件系统(如:管理信息系统)的开发提供有价值的参考。随后我结合复杂网络中关于社区结构的理论和算法把基于功能点和数据点的软件网络模型应用到软件模块化设计中,并给出了软件模块化的流程和模块性评价标准。最后把功能点和数据点的软件网络模型和模块化方法应用到广东省高中阶段招生统一服务平台的开发中,得到了中招平台的拓扑网络并分析了中招平台网络的各项复杂网络特性和其反映出平台系统的特征,为解决系统功能繁杂划分困难、系统总体架构设计、识别系统中心等问题提供了有价值的参考,保障了平台安全、稳定、高效地运行。