软件网络 :软件网络

更新时间:2024-09-20 15:07

《软件网络》针对大规模软件开发中设计和维护存在的实际问题,借鉴复杂网络研究的最新成果,系统地介绍了复杂系统和复杂网络与软件工程相融合的思想以及软件网络(softwarenetwork)的概念、分析度量体系、调控方法和核心技术。

图书信息

出版社: 科学出版社; 第1版 (2008年6月1日)

作者:何克清,马于涛,李兵,刘婧,彭蓉

平装: 261页

正文语种: 简体中文

开本: 16

ISBN: 9787030219763

条形码: 9787030219763

尺寸: 25.6 x 18.4 x 1.4 cm

重量: 481 g

内容简介

《软件网络》针对大规模软件开发中设计和维护存在的实际问题,借鉴复杂网络研究的最新成果,系统地介绍了复杂系统和复杂网络与软件工程相融合的思想以及软件网络(softwarenetwork)的概念、分析度量体系、调控方法和核心技术。

《软件网络》共分四个部分:第一部分(第一~三章)介绍软件网络的研究背景和研究现状;第二部分(第四~九章)介绍软件网络结构特性的分析与度量;第三部分(第十~十二章)介绍基于复杂网络的软件结构优化和系统演化生长,同时对网络式软件的结构特征进行了初步分析(关于网络式软件的其他问题可参考《软件网络》的姊妹篇《网络式软件》);第四部分(第十三章)对今后的研究工作进行了展望。

目录

序言

前言

第一章 绪论

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.1 Web服务与SOA

12.1.1 Web服务

12.1.2 面向服务的体系结构

12.2 Web结构分析

12.2.1 经典的Web结构分析算法

12.2.2 基于复杂网络的Web结构分析方法

12.2.3 Web拓扑演化

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 中英文术语对照表

前言

目前,以网络为基础的软件系统的规模和复杂度与日俱增、应用环境日益复杂,使得软件开发的风险增加,软件质量很难得到有效的控制,传统软件工程正在接近其复杂性的极限。以较低的代价、在规定的时间内生产出高质量的软件产品是所有软件工程方法努力实现的目标。经过长期的工程实践,软件开发者认识到对于大规模的复杂软件系统而言,软件的结构与其功能、质量之间的关系十分密切。因此,系统设计时如何构建软件良好的结构、系统维护时如何对软件的结构进行优化,一直都是软件工程领域研究的重要问题。

传统的软件工程方法(如面向对象程序设计方法)通常关注于软件的局部(微观层面)结构特征,而往往忽略了更加重要的反映全局结构的一些整体特性。这使得研究人员难以习惯从整体和全局的角度来研究大规模的软件系统,导致长期以来对软件的本质缺乏清晰的认识。比如,一个复杂的面向对象软件的结构到底是什么样的,开发人员和管理人员都很难给出准确的答案。近年来,一些研究者将软件系统抽象为有向图或网络模型(类抽象为节点,类之间的关联关系抽象为有向边)来研究,发现软件系统的结构并不是随机和无序的,大多数软件系统的结构都展现出“小世界”(即熟知的“六度分离”现象,网络拥有较小的平均最短路径长度和较大的平均聚集系数)和“无尺度”(网络中节点的度分布服从幂率分布)的复杂网络特性,被认为是一种人工复杂网络,突破了软件的传统思维方式。

复杂系统和复杂性科学被国内外许多科学家认为是二十一世纪科学发展的前沿。软件系统作为一类人工复杂网络受到了来自软件工程、信息科学、统计物理等领域研究人员的关注;同时,复杂系统和复杂网络研究的成果为探索大规模软件系统的结构特性和行为特征提供了有力支持。通过软件工程与复杂系统的学科交叉研究,从复杂系统和复杂网络的角度来重新审视软件,形成软件的网络观,即将软件系统抽象为一类(人工)复杂网络来进行研究,从整体和全局的角度来探索和发现复杂软件系统的结构特性、演化规律和由此产生的行为特征,将有助于科学、工程地认识和理解软件的本质特征,为量化软件的复杂性奠定基础。

到目前为止,总的来说,软件网络的研究才刚刚开始,对大规模软件系统结构的理解、度量和优化还缺乏系统、体系化的研究,使得软件开发人员很难在开发过程中分析和理解软件的组织结构(及其变化)和由此产生的行为特征(如涌现行为),也很难实时对软件结构进行宏观调节和优化,因此对软件开发并不具有太多的实际指导价值。

在这种研究背景下,本书针对现有的面向对象软件系统,借鉴复杂网络的相关理论和方法,以分析和度量软件系统组织结构的整体特性为着眼点、以控制和优化软件的复杂结构为目标,本书从软件结构信息的度量、结构特性与软件质量属性的关系、结构调节与优化三个方面,系统化、体系化地阐述了结构信息度量的标度体系(以软件网络中节点的连通性为指标,提出了软件结构有序性、复杂性和稳定性的度量方法,建立起度量的标度体系),探讨了结构特性与软件质量属性的关系(在更宏观的层次上研究软件整体结构特性与软件可维护性之间的关系),从而提出了基于复杂网络的软件结构(宏观)调节和优化的方法和策略,为检测软件结构设计的缺陷、揭示软件演化的客观规律、提高软件系统的设计质量提供了理论基础,进一步促进软件工程从传统纯粹的“经验型”向“计算型”发展。

本书内容分为四个部分,共十三章。其中,第一部分主要介绍软件网络的研究背景和研究现状,包括第一章(由李兵教授撰写)、第二章(由丁琦伟和马于涛博士共同编写)和第三章(由马于涛博士和刘婧博士共同编写);第二部分主要介绍软件网络结构特性的分析与度量,包括第四章(由刘婧博士撰写)、第五章(由马于涛博士撰写)、第六章(由马于涛博士撰写)、第七章(由马于涛博士撰写)、第八章(由马于涛博士撰写)和第九章(由刘婧博士撰写);第三部分对软件网络进行深入探讨,主要介绍基于复杂网络的软件结构优化和系统演化生长,同时对网络式软件的结构特性进行了初步分析(关于网络式软件其他问题的讨论请参考本系列丛书的下册《网络式软件》一书),包括第十章(由刘婧博士撰写)、第十一章(由何克清教授、彭蓉副教授、马于涛博士、刘婧博士和李兵教授共同编写)和第十二章(由操宝华、李增扬和马于涛博士共同编写);第四部分对今后的研究工作进行了展望,包括第十三章(由马于涛博士撰写)。最后,全书的统稿和审定工作由何克清教授主持完成。

本书是作者在武汉大学软件工程国家重点实验室和复杂网络研究中心长期从事交叉学科研究的成果积累基础上编写的。由于软件网络是一个全新的领域,有许多问题尚待进一步研究,再加上我们的学识有限,书中难免会出现错误和遗漏,敬请各位读者批评指正!

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: