面向对象软件的软件网络构建和可视化(5)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

面向对象软件的软件网络构建和可视化(5)


随着(UML)和(MDA)的流行,现代软件的开发重点从实现(编码)转移到设计(模拟)。一系列的UML图,比如类图和协作图已被用来模拟解决了大量相互作用的类和对象的系统的需求。在这些UML模型当中,类图是一个重要的一类,它描述类(包括属性和方法)和它们之间的关系。
显然,一个UML类图可以直接映射到一个图,其中节点代表类别,边表示不同类型的类之间的关系。图形理论长期以来一直被用在软件工程的几个领域,但关于这一学科领域迄今只有很少研究。人们早已知道软件结构对其功能和质量具有重大影响。最近,为了更好发展更强大的大型软件,有些研究人员开始研究复杂网络的面向对象软件系统中的结构性能。到现在,他们提出了若干图级别指标去测量面向对象的内容的具体性能的复杂性和稳定性。一般来说,这些指标有效评价软件设计质量和帮助开发人员确定问题的依赖结构和软件网络的缺陷节点。通过学习面向对象软件网络的知识,我需要构建软件网络,并且通过具体的可视化工具实现软件网络的可视化。
1.3  论文结构
第一章 介绍论文研究背景,以及整篇论文的大体结构。
第二章 认识软件网络,并进行深入研究,结合图论的知识,介绍软件网络的构建方法。
第三章 基于一些具体的软件源代码进行软件分析,通过一些构建工具构建软件网络,包括包级软件网络、类级软件网络和特征级软件网络。
第四章 展示软件网络可视化的实验结果。
2  软件网络相关知识
2.1  软件网络相关概念
2.1.1   软件网络定义
软件网络是由不同粒度上许多互相交互的单元组成的,因此可以用网络的方式来描述。软件网络是复杂技术网络中重要的一类。从不同的尺度看,软件系统可以看成由数据结构、类、包或者子系统组成。这些组成元素之间按照不同方式相互作用。例如,类可以继承其父类的属性和操作,它可以定义一个类型为另一个类型的成员变量,或者它可以定义另一个类为它的输入输出变量。所有这些关系都可以用网络的方式来描述,用节点代表软件实体,比如类、模块等,用边来表示它们之间的关系。
2.1.2   复杂网络的表示
对网络本身的表示,运用数学图论的基本方法是比较合适的,将网络本身在数学上表示为图,在图论中,网络被表示为二元组(V,E),其中,V是网络中所有节点的集合,E是网络中节点之间相连的边的集合,故E中的每一条边心,都有V中的一对节点(u,v)与之对应。如果网络中一对节点(u,v)与(v,u)对应的是同一条边,则该网络称之为无向网络,反之则称为有向网络;一个复杂网络本身是由点和边所构成的,这里的点和边是抽象意义的,具体所指根据网络类型的不同也有所分别,一般来说,点代表复杂系统中的基本元素,两点连线的边则表示两个点之间的关系。
正是由于复杂网络结构可以用几何图形表示出来,所以可以非常直观形象的观察网络的特点,同时,图还可以用矩阵来进行表示,这样便可以运用高等数学上的技巧解决图论中的问题,并且符合计算机数据结构,方便运用计算机程序进行运算,在实际的计算中,每一个图都使用一个邻接矩阵来表示,虽然比较简单,但是这样的网络模型可以充分展现系统高度的复杂性和延展性,类似互联网,Web页面,基因网络,生态网络等。如前所述,网络可以分为有向网络和无向网络两种类型,无向网络中每个点所具有与之相连的边数称为这个点的“度”,相应,在有向网络中,根据边的主体与客体的不同,将度分为“出度”和“入度” 两种。 (责任编辑:qin)