软件网络
分類: 图书,计算机/网络,软件工程/开发项目管理,
作者: 何克清等著
出 版 社: 科学出版社
出版时间: 2008-6-1字数: 386000版次: 1页数: 261印刷时间: 2008/06/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787030219763包装: 平装内容简介
本书针对大规模软件开发中设计和维护存在的实际问题,借鉴复杂网络研究的最新成果,系统地介绍了复杂系统和复杂网络与软件工程相融合的思想以及软件网络(software network)的概念、分析度量体系、调控方法和核心技术。
本书共分四个部分:第一部分(第一~三章)介绍软件网络的研究背景和研究现状;第二部分(第四~九章)介绍软件网络结构特性的分析与度量;第三部分(第十~十二章)介绍基于复杂网络的软件结构优化和系统演化生长,同时对网络式软件的结构特征进行了初步分析(关于网络式软件的其他问题可参考本书的姊妹篇《网络式软件》);第四部分(第十三章)对今后的研究工作进行了展望。
本书可供从事软件研究的科技人员阅读,亦可作为计算机软件与理论专业的研究生教材或参考书。
目录
序言
前言
第一章绪论
1.1软件复杂性
1.2软件范型的转变
1.3软件网络观
1.4问题及意义
1.5本书的组织结构
参考文献
第二章复杂网络研究进展
2.1什么是复杂网络
2.1.1网络的定义及表示
2.1.2网络的研究历史
2.1.3复杂网络的定义
2.1.4复杂网络研究的意义
2.2复杂网络基本参数
2.2.1平均最短路径长度
2.2.2聚集系数
2.2.3度分布
2.2.4介数
2.2.5实际网络的一些统计特性
2.3复杂网络经典模型
2.3.1规则网络模型
2.3.2随机模型
2.3.3“小世界”模型
2.3.4“无尺度”网络
2.4复杂网络研究在信息领域的应用
2.4.1网络生存能力的分析
2.4.2因特网和万维网拓扑结构研究
2.4.3复杂系统生长与演化建模
2.4.4网络资源的复杂性分析
2.4.5网络上的传播特性
2.4.6大型软件系统的结构刻画与度量
2.5小结
参考文献
第三章软件网络研究进展
3.1软件系统的拓扑结构分析
3.2形成机理和演化规律
3.3软件复杂性度量和评估
3.4研究现状小结
3.5小结
参考文献
第四章面向对象软件中的复杂网络特性
4.1面向对象软件网络
4.1.1研究历程
4.1.2类级软件网络的定义
4.1.3不同粒度的软件网络
4.2类级软件网络的复杂网络特性分析
4.2.1复杂网络特性
4.2.2权分布
4.2.3结果分析
4.3不同粒度的面向对象软件网络
4.3.1网络统计特性分析
4.3.2其他特征参数分析
4.3.3结果分析
4.4分析工具
4.4.1开发背景
4.4.2系统主要功能
4.5小结
参考文献
第五章层次型软件结构特性度量方法体系
5.1面向对象度量方法的不足
5.1.1经典的面向对象度量方法
5.1.2存在的不足
5.2复杂网络的基本参数及其含意
5.3层次型度量方法体系
5.4案例分析
5.4.1系统简介
5.4.2实验及数据分析
5.5小结
参考文献
第六章基于结构熵的有序性度量方法
6.1结构熵研究
6.2软件网络的结构熵
6.3度量指标与方法
6.3.1度量指标
6.3.2度量方法
6.4实验与数据分析
6.4.1度量方法的评估
6.4.2理论分析
6.4.3实证分析
6.4.4演化规律分析
6.5小结
参考文献
第七章软件结构复杂性的简化和度量方法
7.1基于角色的结构简化方法
7.1.1复杂网络方法存在的问题
7.1.2模块性与角色
7.1.3角色分类
7.1.4实证分析
7.2构造复杂性度量方法
7.2.1度量指标
7.2.2实证分析
7.3结构缺陷检测
7.3.1多重依赖性
7.3.2结构缺陷分析
7.4小结
参考文献
第八章基于motif的结构稳定性度量方法
8.1软件可靠性与稳定性
8.1.1软件可靠性研究
8.1.2稳定性与可靠性
8.2网络motif
8.3结构稳定性度量方法
8.3.1实验系统与工具
8.3.2出现频率与统计重要性
8.3.3度量方法
8.3.4实验分析
8.4宏观结构稳定性与微观结构稳定性的关系
8.5小结
参考文献
第九章软件的结构与易变性
9.1软件的易变性
9.2传播代价
9.3真实软件网络的传播代价
9.4不同网络结构对传播代价的影响
9.4.1边数与传播代价
9.4.2度分布与传播代价
9.5小结
参考文献
第十章基于社区发现的软件网络中类结构的理解和优化
10.1类和社区
10.1.1信息封装与类
10.1.2社区发现
10.2基于社区发现的软件结构优化方法
10.3社区发现算法
10.3.1已有的社区发现算法
10.3.2局域社区发现算法
10.4实证研究
10.4.1研究对象
10.4.2最大连通子图的模块性
10.4.3结构理解和优化
10.5小结
参考文献
第十一章面向对象软件网络的演化模型
11.1已有的演化模型
11.1.1软件演化的基本原理
11.1.2基于复杂网络的演化模型
11.2基于演化算法的演化模型
11.3加权多局域世界模型
11.4基于软件模式的演化模型
11.4.1不同拓扑的网络模型演化与软件建模方法论的发展
11.4.2软件模式生长特性的分析
11.4.3基于软件模式的软件网络演化生长的偏好依附性
11.4.4基于软件模式的演化生长算法
11.4.5实验分析
11.5小结
参考文献
第十二章基于Web服务的软件系统的复杂网络特性分析
12.1Web服务与SOA
12.1.1Web服务
12.1.2面向服务的体系结构
12.2Web结构分析
12.2.1经典的Web结构分析算法
12.2.2基于复杂网络的Web结构分析方法
12.2.3Web拓扑演化
12.3语义Web
12.3.1什么是语义Web
12.3.2语义Web的体系结构
12.3.3研究现状与应用
12.4本体概念模型中的复杂网络特性
12.4.1什么是本体
12.4.2本体的组成元素
12.4.3本体概念模型中的复杂网络特性发现
12.5小结
参考文献
第十三章研究展望
参考文献
附录A缩写符号对照表
附录B中英文术语对照表
书摘插图
第一章 绪论
计算机作为20世纪最激动人心的发明之一,自诞生以来,已经渗透到我们工作和日常生活的各个方面,正在改变并且还将继续改变我们的生活。随着计算机技术的应用不断推广和深化,计算机软件正承担起越来越重要的作用,涉及人类社会的各行各业、方方面面,用于解决变化多端的实际问题。应用领域在深度和广度上的拓展,导致了软件系统规模的激增和软件应用环境的日益复杂,同时因特网的飞速扩张,使网络作为信息基础设施,成为人们新的生活和工作方式,例如网上银行、电子商务、电子政务等。桌面应用向网络应用转移,从网上获得的不仅是信息,还包括软件服务——程序和交互式应用。
20世纪60年代,为解决“软件开发与维护费用居高不下、生产率低下,开发周期与版本升级时间过长,软件质量不能满足用户需要”等软件危机,诞生了软件工程(software engineering)学科。众所周知,软件生产是逻辑性很强的智力活动,其产品质量不像工业产品那样有严格的标准可以直接检测,因而难以得到有效控制和保障(Kan,2002)。因此,开发具有正确性、可用性以及开销合宜的高质量软件产品就成为软件开发人员和研究人员的共同目标(王立福,2002)。然而40年来,人们对软件工程的预测一直是发散的,尽管经历了面向过程、面向对象(object—oriented,OO)、面向构件等阶段,软件工程在许多软件项目开发中得到了一些成功应用。但是,形势仍旧不容乐观,目前软件项目完全成功的比例只是从20世纪80~90年代的10%上升到目前的30%,“软件危机”的呼声依旧不绝于耳,科学家们对软件工程的期望和软件自身的实际发展难以吻合。
……