高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx

上传人:李司机 文档编号:7037053 上传时间:2024-04-21 格式:DOCX 页数:37 大小:359.62KB
返回 下载 相关 举报
高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx_第1页
第1页 / 共37页
高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx_第2页
第2页 / 共37页
高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx_第3页
第3页 / 共37页
高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx_第4页
第4页 / 共37页
高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx》由会员分享,可在线阅读,更多相关《高斯网络可嵌入性质模拟系统设计和实现计算机科学与技术专业.docx(37页珍藏版)》请在三一办公上搜索。

1、前言1第一章绪论21.1 Vl21.2 高斯网络概述21.2.1 网络模型的构成31.2.2 网络的特点和优势41.3 独立生成树介绍41.4 本文的主要工作及创新点51.5 本文的组织结构第二章系统主要技术介绍62.1 JaVa相关技术62.1.1 Java的基本介绍以及类库62.1.2 JaVa的图形化界面技术72.1.3 JaVa的事件处理技术82.1.4 JaVa的页面布局技术92.1.5 小结102.2 JDBC连接数据库的技术102.3 C木目JI名召112.3.1 数据库简介112.3.2 数据库的插入和查询操作12第三章设计思路与系统可行性探究143.1 需求分析143.1.1

2、 系统功能设计目标143.1.2 功能模块划分153.3 可行性分析163.3.1 演示可行性3.3.2 用户交互可行性163.3.3 数据支持可行性163.3.4 动态效果可行性163.4 本章小结17第四章系统实现184.1 技术选择4.2 功能实现184.2.1 用户注册登陆功能184.2.2 高斯网络拓扑动态演示功能204.2.3 独立生成树节点查询功能214.3 JDBC驱动的安装与接口编写234.3.1 系统初始界面244.3.2 登陆后的菜单界面254.3.3 高斯网络演示初始界面264.5本章小结27第五章对实验结果数据的分析285.1 了-285.1.1 线条处理285.1.

3、2 文字处理295.2 背景图片的设置295.3 用户交互时数据的准确反馈度305.4 本章小结31第六章总结与展望326.1 本文总结326.2 后续工作展望32参考文献33致谢34近年来,一种名为高斯网络的网络拓扑结构越来越为人们所熟知。在设计容错路由和消息的安全分发算法的过程中,这种网络结构有着许多优势。我们知道,一般来说,并行计算系统的互连拓扑决定了其容错能力以及整体的通信效率,就当前来讲,有着诸如超立方体、广义超立方体、Mesh等多种互连网络的拓扑结构。四阶对称、节点传递且是正则的高斯网络与二维环形网络具有相似的拓扑结构,而且,高斯网络具有相对较小的网络直径,即节点间的距离较小,平均

4、网络延迟也就更小,这就促使其成为了二维环形网络和大型交换网络的潜在替代品。有这样一个关于独立生成树的定义,如果一个网络中的一组生成树满足:首先,所有的树都植根于同一个节点r。其次,对于网络中的每个节点u,从!到U的所有树的路径都是节点不相交的,那么这组生成树是相互独立的。基于在密集高斯网络中与顶点独立生成树的结构,有研究者设计了可用于容错路由和安全消息分发的路由算法以及容错算法来并行构建这些树。本文以上述算法为基础,通过一定的设计和分析,最后实现,完成了一个高斯网络的演示系统。系统主要功能包括用户登录、网络节点介绍、动态网络拓扑、独立生成树演示和生成树路径查询。后端基于SQL数据库,前端则由J

5、ava的GUI设计完成,两者间的交互则由JDBC技术完成。系统完成后经试验测试,各项功能模块符合设计要求,可以满足用户了解高斯网络的需求。关键词:高斯网络;网络延迟;独立生成树;容错路由AbstractInrecentyears,anetworktopologycalledgaussiannetworkhasbecomemoreandmorewell-known.Thisnetworkstructurehasmanyadvantagesindesigningfaulttolerantroutingandmessagesecuritydistributionalgorithms.AsWeknow

6、,ingeneral,theinterconnectiontopologyofparallelcomputingsystemdeterminesitsfault-tolerantabilityandoverallcommunicationefficiency,intermsofthecurrent,withsuchashypercube,generalizedhypercube,meshandotherinterconnectionnetworktopology.Fourth-ordersymmetry,thenodetransmissionandthegaussiannetworkisreg

7、ularand2dringnetworkswithsimilartopologicalstructure,andthegaussiannetworkhasarelativelysmallnetworkdiameter,thesmaller,thedistancebetweennodes,theaveragenetworkdelayissmaller,thiscausesitto2dringnetworkandlargepotentialalternativetoexchangenetwork.Thereisadefinitionofanindependentspanningtree,ifase

8、tofspanningtreesinanetworkissatisfied:first,alltreesarerootedinthesamenoder.Secondly,foreverynodeuinthenetwork,thepathofalltreesfromrtouisnotintersecting,sothespanningtreeisindependentofeachother.Basedonthegaussianhasnothingtodowiththenodesinthenetworkinthedensestructureofspanningtree,someresearcher

9、shavedesignedcanbeusedinfault-tolerantroutingandsecuritynewsdistributedroutingalgorithmandfault-tolerantalgorithmtoparallelbuildthesetrees.Basedontheabovealgorithm,thispaperrealizesagaussiannetworkdemonstrationsystemthroughsomedesignandanalysis.Themainfunctionsofthesystemincludeuserlogin,networknode

10、introduction,dynamicnetworktopology,independentgenerationtreedemonstrationandspanningtreepathquery.Theback-endisbasedontheSQLdatabase,andthefrontendisdesignedbyJavasGUIdesign,andtheinteractionbetweenthetwoisdonebyJDBCtechnology.Afterthecompletionofthesystem,thefunctionalmodulesmeetthedesignrequireme

11、ntsandcanmeettherequirementsoftheuserstounderstandthegaussiannetwork.Keywords:Gaussiannetwork;Networklatency;Independentspanningtree;Fault-tolerantrouting前S高斯网络模型作为一种有着较多优势的二维环形网络的替代品,近年来频繁受到相关学者的关注。因为网络延迟也就较少,加上高斯网络中存在四个顶点独立生成树的特性,在大型的交换网络以及容错路由和消息的安全分发的领域是相当炙手可热的研究对象。而且高斯网络作为一种拓扑模型,近年来也经历了很多发展变换,在

12、相关研究中我们也常常能够看到混合高斯模型1的应用,不仅仅是在计算机领域,在医药学、神经网络等领域,高斯网络模型也存在着非常广泛的运用。本文主要是在了解了高斯网络的拓扑结构以及构成方法还有其相关性质以后,使用JaVa语言以及SQL数据库技术,设计的一个模拟演示系统的的介绍。其中主要包括了用户登录的操作和动态演示高斯网络拓扑模型以及独立生成树的相关功能。通过本文完成的主要工作及创新点有:(1)设计GUI界面提供静态的网络节点和动态演示高斯网络拓扑模型。(2)使用JDBC连接数据库实现数据的增删查改。(3)提供独立生成树的动态效果演示。(4)通过设计一个窗口可以接收用户输入的一个目标节点,然后通过查

13、询数据库,按顺序将根节点到这个目标节点所经过的路径节点输出。第一章绪论本章首先介绍了高斯网络模型的研究背景和意义,其次简单介绍了高斯网络的形成以及结构性质特点,并概述了本文所做的主要工作和贡献以及创新点,在本章的最后介绍了论文的组织结构。1.1 课题背景及意义高斯网络模型是近年来计算机网络领域的一个研究热点。由于其网络半径较小,所以网络节点间的平均距离较小,网络延迟也就较少,再加上高斯网络中存在四个与节点无关的独立生成树的特性,在大型的交换网络以及容错路由和消息的安全分发的领域是相当炙手可热的研究对象2。在网络中消息在节点与节点之间的转发必然存在时延与误差,而四次正则消息传递的高斯网络模型恰恰

14、很大程度上减轻了这一问题。因为高斯网络中存在四个与节点不相关的独立生成树,也就说从一个根节点到任意一个目标节点都有4条完全不相交的路径,这一点性质一方面提供多条路径有利于消息的安全转发,另一方面,即使某一条路径出现故障,依旧有其他的路径可供替代,这就大大增加了网络传输的可靠性。当然,在网络性能方面,高斯网络依旧存在可以改进的地方,与当前使用的其他网络的性能比较,也是我们之后研究的目标。1.2 高斯网络概述与二维环形网络的某些性质类似,高斯网络是4.正则对称网络,这些网络是基于高斯整数Zi,Zi=x+yix,yZ,Zi是一个欧基里德域。这个网络的节点是残差类别的一些元素,其中Zi被视作一个网络生

15、成器。我们表示Gk=(Vk,Ek)=G(k),kIo图中的每个节点都标记为x+yi,其中x+y=k,当且仅当(A-B)moda等于正负1或者正负i时,节点A和B相邻。图1.1展示了一个由a=3+4i产生的高斯网络的例子2。图1.1由=3+4i产生的高斯网络K的值从2开始可以取2、3、4等等一直到高维的高斯网络,且其生成的网络中的独立生成树的最大深度即为2Ko从图中我们可以很直观的看出高斯网络的网络直径比较小,节点与节点之间的距离也比较小,且不通节点之间有着多条路径可以到达,这也就直观展示出了之前我们所提到的高斯网络的种种优势。1.2.1 网络模型的构成并行计算系统的互连拓扑决定了其容错能力以及

16、系统总体通信效率。互连网络有各种拓扑结构,如超立方体,广义超立方体,Mesh,k-aryn-cube,圆环,REFINE和RMRN等等。我们本文中所介绍的高斯网络就是一种效率较高的互连拓扑。这种网络拓扑具有较小的网络直径,节点与节点之间的平均距离小,网络延迟也就更小,因此拥有更好的网络性能。之前也已经提到过,高斯网络中的节点是一些元素构成的,Zi被视作一个网络生成器,Zi=x+yiIX,yZ,i是个虚数因子。由a=a+bi生成的高斯网络中的节点总数为a2+b同时,也可以用一个变量k来表示高斯网络生成的参数,由G(ak)表示的密集直径最优高斯网络,其中k=k+(k+l)i是一个包含最大节点数目的

17、K直径高斯网络。1.2.2 网络的特点和优势一些像Avici太比特交换路由器TSR-40-S2-SL的高规模互联网交换路由器。在确定两个网络中的节点数量和缩小前者中的维度数量时,显示出与HyPerCllbeS相比,环形网络的优越性。在实践中,较低维度的环形网络和k维n立方体被证明实现了经济可扩展的高性能。它们具有良好的路径多样性,即使在存在一些故障节点或链路的情况下,也能够在不降低性能的情况下路由高流量负载。所以高斯网络作为一种有效的互连拓扑已经存在。高斯网络和二维环形网络具有相似的拓扑性质。它们是四阶对称的,节点传递的,并且是正则的。然而,高斯网络具有相对较小的直径。因此,它的节点之间的平均

18、距离较小,平均网络延迟较小。这促使它们成为并行计算系统中二维环形网络以及大型交换结构的潜在替代品。在设计容错路由以及进行消息的安全转发方面,高斯网络都提供了一种很好的网络拓扑的基础。1.3 独立生成树介绍在并行计算中,以及在分布式系统中,网络可以表示为其中节点和边分别代表处理器之间的处理器和通信链路的图。所以,首先我们明确一个概念,如果满足两个条件,则同一网络中的一组生成树是独立于节点的。首先,所有的树都植根于同一个节点r。其次,对于网络中的每个节点“从r到U的所有树的路径都是节点不相交的,不包括端节点r和u。即如果在任何两棵树中从r到任何其他节点U的路径是不相同的,那么根节点r上的生成树被认

19、为是独立的。在互连网络中,容错意味着即使网络中存在一些故障节点或边缘,系统也能正常运行。有不同的容错路由算法,如节点到节点,节点到集合,集合间不相交路径;通过网络广播意味着源节点将相同的消息发送到网络中的所有其他节点。即使网络中存在故障节点,容错广播也能正常运行。节点独立生成树已被用于解决网络应用中的重要问题,例如容错广播和安全的消息分发。己经证明了在高斯网络的拓扑模型中存在着最多4棵独立生成树,也就是说,对于一条从固定节点发出的消息,一共有着四条完全不一样的路径能够到达目标节点,这样即使棋中的某一个节点或者线路出了故障,也能有其他的替代路径及时补上,这就极大地提高了网络中消息传递的可靠性。除

20、此以外,如果网络遭到了外来攻击,有四条完全不一样的传输路径也增加了网络的安全性。1.4 本文的主要工作及创新点本文主要是在了解了高斯网络的拓扑结构以及构成方法还有其相关性质以后,使用JaVa语言以及SQL数据库技术,设计的一个模拟演示系统的的介绍。其中主要包括了用户登录的操作和动态演示高斯网络拓扑模型以及独立生成树的相关功能。通过本文完成的主要工作及创新点有:(1)设计GUI界面提供静态的网络节点和动态演示高斯网络拓扑模型。(2)使用JDBC连接数据库实现数据的增删查改。(3)提供独立生成树的动态效果演示。(4)通过设计一个窗口可以接收用户输入的一个目标节点,然后通过查询数据库,按顺序将根节点

21、到这个目标节点所经过的路径节点输出。1.5 本文的组织结构本文一共分成了六个部分,简介如下:第一章:绪论。本章介绍了课题的研究背景及意义、高斯网络模型的组形成以及性质特征、本文的主要工作及主要创新点,最后介绍了本文的组织结构。第二章:主要介绍了在系统设计的过程中用到的相关技术,其中主要分了四个模块,一是JaVa的GUl图形化界面技术,二是JaVa中的事件处理技术,三是JaVa中的页面布局,四是使用JDBC连接数据库的技术,五是SQL数据库的相关技术。第三章:主要介绍了前期的资料收集,设计的思路和系统可行性的分析。第四章:主要介绍了如何使用eclipse工具用JaVa语言进行系统设计的过程,包括

22、对界面的设计,对事件的处理以及各个窗口的连贯性,同时也提供了一部分的系统运行截图和部分核心代码。第五章:通过对运行结果进行一定的分析后对系统进行了一些相关的改进使得面向用户时更加人性化与合理化。第六章:总结全文,提出未来工作的设想与展望。第二章系统主要技术介绍在分析研究高斯网络的拓扑结构以及网络的性质特点以后,我考虑选取一些技术和编程语言来完成这个模拟演示系统的设计。结合之前的学习经历和自己的一些课外积累,我决定用JaVa语言来编写,利用JaVa中的GUl编程模块以及事件处理模块设计前端的系统界面,再用SQL数据库存放数据,接着使用JDBC的相关技术连接数据库。2.1JaVa相关技术2.1.1

23、 Java的基本介绍以及类库JaVa是一种被广泛使用的网络编程语言,其定位于网络计算,几乎所有的特点都是服从于这一点,除此以外,JaVa语言也集中体现了利用许多软件技术的新成果。1996年JaVaLO由SUn公司开发,一经发布,立刻就引起人们的广泛关注,它是一种应用于分布式网络环境中的程序设计语言。一般的应用程序、Applet.Web服务器乃至嵌入式系统,JaVa都有着其强大的威力以及优越性,特别是JaVa还对网络提供了强有力的支持,可以说是集各种优势于一身。这也是我选择Java作为毕业设计的编程语言的重要原因。JaVa存在着很多优势性质,这里主要讲讲经常涉及到的:(1)面向对象很多人可能一提

24、到面向对象就会想到C+,但事实上。Java面向对象的特性与C+是旗鼓相当的,两者主要的不同点在于多继承,JaVa的对象序列化特性使得JaVa更容易拥有持久对象并进行GUI创建。(2)可移植性JaVa中的数据类型具有固定的大小,这就解决了代码移植时的主要问题。其中的字符串是用标准的Unicode格式存储的。JaVa语言的可移植性使得编写出的应用程序可以在任何平台上良好运行,这就体现了JaVa语言”仅需一次编译,到处皆可运行”的优点。(3)简单性JaVa的语法规则与C、C+、C#比起来相对简单,它没有头文件、指针运算、操作符重载、虚基类等。除此以外,Java的开发包很小,基本的解释器以及类支持仅4

25、0KBo而且,JaVa保留了一些C+的特性,如果是对C+比较熟悉的程序员很容易就能把诸如switch语句之类的语法转换成Java语句。(4)多线程我们已经了解到,线程可以看作是进程中的小进程,在一个程序中同时运行多个不同的小程序,这样可以较大地提高程序运行的效率,JaVa把多线程的实现交给了底层的操作系统或者线程库来完成,因此多线程成为了JaVa语言魅力的主要原因之一。除了以上提到的这些JaVa语言的特点以外,JaVa提供了许多自带的类库,例如我们接下来要讲到的Java.awt和Java.swing以及与数据库相关的一些类库,这些类库给我的编程设计提供了比较大的便利。2.1.2 Java的图形

26、化界面技术一般来说,编程中涉及的数据是通过键盘输入或者在代码中设置,然后在屏幕上显示输出,但是这种程序和用户的交互界面不是我们所希望看到的,通常我们都是比较喜欢图形界面的交互。JaVa提供了丰富的GUl编程工具,可以设计出美观漂亮的窗口,同时给用户提供操作便利的界面。Java中进行图形用户界面设计时常用的类库是java.awt和javax.swing。(1) AWT概述AWT是很原始的图形化界面的工具包。AWT作为一种标准配置存在于Java的各个版本中,我们不需要单独的安装这个包,在JaVa的各个版本中都自带这个包,而且能在各种环境中运行,这是比较好的特点。AWT是JaVa的早期版本,其本身存

27、在很多不完善的地方,比如它的组件和布局管理器的工具包都很简单。因此它只会使用为所有Java主机环境定义的GUI组件。然而这就导致了不良结果,像树、表、进度条这些经常使用的组件都不支持。对于需要更多组件类型的应用程序来说,程序员需要从头编写这些组件,对于编程效率来说毫无疑问是一个巨大的问题。AWT类组件的体系结构如图2.1所示:图2.1AWT组件体系结构(2) Swing概述JavaSwing是JFC的一部分,它尝试着改进AWT中的一些缺点。它位于JaVaX中。在Swing中,Sun开发了一个经过仔细设计的、灵活而强大的GUI工具包。但是,这就意味着我们又要花时间来学习Swing了,然而对于一些

28、比较常见的情况,Swing或许显得过于复杂了。Swing是在AWT组件基础上构建的。所有Swing组件实际上也是AWT的一部分。Swing使用了AWT的事件模型和支持类,例如COlors、ImageS和GraPhiCS。Swing组件、布局管理器。正如大家可以看到的一样,这些组件集比AWT提供的组件集更为广泛,与SWT组件集相比也毫不逊色。所以,总的来说,AWT是SWing的基础,在编程的时候如果能根据其各自特点选择适当方法便会使得程序设计的界面更加简洁、美观。2.1.3 Java的事件处理技术在之前的介绍中,我们已经可以利用Java的图形化用户界面的知识,熟练运用各种容器和组件设计出简洁美观

29、的图形用户界面,但是我们的界面还是动态的,为了让其“动”起来,就设计到了接下来所要提到的事件处理技术。事件处理指的就是程序对用户的某种操作做出相应的反应,这里的操作可以是鼠标点击,也可以是键盘输入,这些操作都可以被称作事件。Java中的事件类主要存放在Java.awt.event和Java.swing.event中。Java里引发事件的组件就被称为事件源,当在事件源上注册了对应的侦听接口后,一旦侦测到事件发生,事件侦听器就会调用相应的方法进行处理,从而实现用户和程序的交互。JDKLl以后JaVa采用的是事件源一一事件监听者模型,引发事件的对象称为事件源,与之对应的,接收并处理事件的就是事件侦听

30、者引。一般来说有以下几种事件处理的方式:(1)使用内部类处理事件,这种方式的优点是可以直接访问外部类,使用这种方法处理事件会更加方便。(2)使用内部匿名类(接口)对象处理事件,如果一个对象只使用一次,那么我们可以将类的定义与对象的创建过程“合二为一”,尽管其中的代码包括了类定义、方法重写等内容,但最终还是创建一个侦听器对象。(3)在容器类中实现侦听接口,这是比较常用的一种方法,容器类要实现接口中的所有方法,对于不使用的方法也要写方法体,此时容器类对象本身用this表示,并注册到事件源中。(4)事件源所在类与事件侦听类完全独立,常用方法是为事件侦听器类增加一个事件源所在类的对象作为其成员,在创建

31、事件侦听器的时候就把事件源所在类的对象的引用赋给相应的成员字段。2.1.4 Java的页面布局技术在图形化用户界面的设计过程中,页面布局的处理是很重要的一环。JaVa中组件由AWT和Swing的相关类生成,但是这些组件的位置大小是由布局管理器来安排的。Java中有一些专门来管理GUI布局的类,被称作布局管理器类(LayoUtManager)3。布局管理器的主要类型有:(1)流式布局管理器:FlowLayouto(2)网格布局管理器:GridLayouto(3)卡片布局管理器:CardLayouto(4)边界布局管理器:BorderLayouto(5)网格包布局管理器:GridBagLayout

32、o不同的容器一般都有自己默认的布局管理器,比如Frame默认的是BorderLayOU3Panel默认的是FlowLayout,当然,我们也可以自己调用SetLayout方法自定义页面布局,或者像我在设计中设置初始值为NULL,自定义设定组件的大小和位置。2.1.5小结总的来说,为了设计出一个漂亮美观又简洁明了的程序,我们首先要认真深入地学习相关的图形化用户界面的设计方法,不仅是各类容器和组件的熟练组合运用,更加包含着界面布局等多方面的考量。同时,不能忽略的是在必要的组件上添加事件侦听,只有做好了事件处理这一环节,用户界面才能有生机,才能“动”起来。当然,为了让程序更加充实,还需要有大量的数据

33、支撑,所以数据库是必不可少的一个重要部分。在接下来的内容中,主要介绍了我在实践中用JaVa的JDBC连接到数据库的技术。2.2 JDBC连接数据库的技术数据库可以存储大量的信息,并且能够对这些信息进行高效的整合和处理。而JaVa责具有强大的数据库操作功能,如果能将两者完美地结合在一起,就能编写出优秀的数据库应用程序。JDBC便是提供了一些用JaVa语言编写的类与接口,因此程序开发人员就能用纯Java语言来编写完整的数据库应用程序3。SUn公司从1995年开始,就致力于扩展JaVa标准类库,使之可以应用SQL语言访问数据库。最终,SUn公司给出了两套接口:应用程序开发者使用JDBCAPI,而数据

34、库供应商和工具开发商试用JDBC驱动APL当时其实己经己经有了类似的比较成功的模式,微软公司使用ODBC为C语言访问数据库提供了一套编程接口,JDBC就是遵循了这种成功的模式。其两者的核心思想是类似的,即根据APl编写的程序都可以与驱动管理器进行通信,而驱动管理器则通过插入其中的驱动程序与实际数据库通信。图2.2展示了JDBC连接数据库的通信路径图。JDBC APIJDBC 驱动API图2.2JDBC至数据库的通信路径一般来说,在传统的客户端/服务器模式中,在客户端安装GUl界面,数据库是配置在服务器端的,在这种模式中,JDBC驱动程序多被配置在客户端。不过如今,更多使用的是“三层应用模式”,

35、客户端和中间层之间的通信通过HTTP、RMl或者其他机制来完成,而JDBC则只是负责中间层和后台数据之间的通信。2.3 数据库相关介绍2.3.1 数据库简介当今时代,信息资源已经成为各个领域极为重要的资源和财富,但是,随着信息量的爆炸式增加,如何高效地对信息进行存储和管理也成为了一个亟待解决的问题。一个企业或组织想要生存和发展,建立一个满足各级部门信息处理要求的信息系统尤为重要。因此,数据库应运而生。对数据库的了解,应该从数据、数据库、数据库系统和数据库管理系统这四个与数据库技术密切相关的四个基本概念入手。数据,是数据库中存储的基本对象,或许很多人一提到数据想到的都是数字,其实不然,描述事物的

36、符号记录都可以被称为数据,文字、图像、声音、视频等等都可以被数字化后存入计算机。同时数据还需要根据其语义来进行区分,即数据的具体含义,例如一个数字,可以是年龄,也可以代表数量,数据与其语义是密不可分的。数据库,简单来说就是存放数据的仓库,人们在获取所需的大量数据后,需要将其保存起来,以供进一步处理,充分抽取有用信息。数据库中的数据具有较小的冗余度、较高的数据独立性和易扩展性,概括来说,数据库数据具有永久存储、有组织和可共享三个基本特点。数据库管理系统,位于用户和数据之间的数据管理软件,其主要包括以下几个功能:(1)数据定义功能。(2)数据操纵功能。(3)数据库的建立和维护功能。(4)数据组织、

37、存储和管理功能。(5)数据库的事务管理和运行管理功能。数据库系统,是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统4。2.3.2 数据库的插入和查询操作SQL,即结构化查询语言,是关系数据库的标准语言,其功能多样,包括了数据库模式创建、数据的插入修改、数据库安全性完整性定义等一系列功能4。在本论文所设计的演示系统中主要便是设计到了SQL语句的对数据库数据的插入和查询功能。SQL的数据插入语句为INSERT,在时机应用中,一种是插入元组,另一种是插入子查询。第一种插入的模式如下:INSERTINTo表名(属性列1,属性列2.)VALUES(常量1,常量第二

38、种插入子查询结果的模式如下:INSERTlNTOV表名(v属性列1L属性列2)子查询;相比于插入语句,SQL中的查询功能要更加的多样与复杂,除了最基本的单表查询语句以外,还有连接查询、嵌套查询、集合查询等等。查询语句SELECT的一般格式为:SELECTALLIDISTINCTk目标列表达式别名,目标列表达式别名FROMV表名或者视图名别名儿表名或者视图名别名k(SELECT语句)AS另I名WHERE条件表达式GROUPBY歹IJ名1HAVING条件表达式ORDERBYV列名2ASCDESC3;2.4 本章小结本章首先简单介绍了利用Java语言编写一个图形用户界面的相关技术,再概述了提供数据库

39、连接的驱动JDBC的相关知识,最后是花了少量篇幅对设计中涉及到的数据库和数据库操作进行了一些介绍。从本章节中,我们能够看出,想要做出一个系统化的程序应用,首先少不了的是一个美观的图形化用户界面,其次是添加事件处理机制给用户友善的简洁操作,再者便是底层数据库的支持,只有多学习各方面的知识,才能融汇在一起做出美观又实用的程序。第三章系统设计与系统可行性探究3.1 需求分析想要做好一个系统,在动手设计以前,首先要明白用户需要什么,自己的系统要提供什么,自己能做到的又有哪些,说白了就是需求分析。我的这个系统主要是能够给用户演示出高斯网络的网络拓扑结构以及其中的独立生成树性质,从而加深用户对该网络的了解

40、。所以我认为,我的系统最起码要实现两个基本功能,一个是网络拓扑的动态效果展示,另一个是独立生成树的形成,当然作为一个完整的系统来说,最好也能提供用户登录功能。然后还可以根据需求相应的添加诸如路径节点查询之类的功能。3.2 系统设计321系统功能设计目标在进行了相关需求分析以后,我在正式开始编程以前,基本罗列出了系统功能设计所需要完成的目标:(1)实用一个供用户使用的系统在有完善功能的基础上,应该符合大多数用户的操作习惯,有着易学友好的用户界面,满足不同年龄不同领域的用户的使用需求。(2)安全作为提供了用户登录的一个演示系统,要确保后台用户的信息安全,管理员可以设置权限实现系统维护,确保系统的安

41、全运行。(3)先进编程时采用的技术应该是当下比较流行的语言或者说软件,便于跨平台的拓展以及系统的维护管理。(4)模块化系统需要有良好的可扩充性,针对不同的功能有不同的子界面,当项目变化时可以相对独立地进行维护与修改。(5)演示功能强大说到底,演示系统的根本还是要把高斯网络给用户演示清楚,那么就应该用最美观、最便捷的方式,把网络拓扑演示清楚。3.2.2功能模块划分在明确了我的潜在用户可能有哪些要求以后,我脑海中就逐渐有了整体功能模块的思路。我应该先有一个最初始的封面,即程序的初始界面。然后用户想要使用的时候接触到第一个功能,即用户登录,这时候通过和数据库进行数据交互确认身份。接着在登陆进去以后,

42、会进入到一个基本的菜单界面,用户的功能分类在这个界面完成,而用户选择了某一个功能以后又会进入该功能的基础界面,这个界面内又有相应的子操作。总的来说,操作流程应该是如同一棵树一般逐次逐层有条不紊地进行下去。设计的系统框架图如图3.1所示。逻辑顺序由初始界面开始扩展开来。每一个单3.3 可行性分析3.3.1 演示可行性怎样才能表示一个网络,用什么样的方法才能美观得体地把高斯网络的拓扑结构描绘出来,这是我系统可行性分析首先要思考的问题。本文采用的是Java的相关技术,而JaVa里面的图形类GraPhiCS可以绘制各种各样的线条、图形,我从中获得灵感,完全可以重写GraPhiCS类,在介绍网络节点的时

43、候用空心圆球来表示网络节点,在其中可以加上节点的名称说明,而在实现网络拓扑的时候用直线和弧线来描绘节点间的路径。由此,本文的演示系统需要考虑的最主要的问题基本解决。332用户交互可行性不管是什么样的系统,如果最后是要交付给用户使用的,那么,与用户之间的交互性都是系统设计者需要着重考虑的问题。不能让用户仅仅是启动程序,之后一下子就把所有要显示的内容显示出来,而是要循序渐进,根据用户的需求,接收到用户点击或者输入的相关内容以后根据要求提供相应的界面或者功能。本文的设计中,我觉得这一块内容主要可以通过Java的界面设计和事件处理功能来综合完成,系统可以提供下拉菜单,菜单栏,甚至是文本框,用户在输入一

44、定的内容后点击确定,系统就会响应给出一定的结果。3.3.3 数据支持可行性系统的界面只能说是一个人的外在,即使再美观再完善,没有内在的支持也一样难以为继。系统设计也同样如此,如果只有前端,而没有后台的数据支持,那就像没有灵魂的躯壳一般,始终上不得台面。那么在本文的系统里面数据支持怎么实现呢?Java提供了JDBC的驱动可以用来与SQL数据库或者MYSQL数据库进行连接操作。因此,在数据支持这一块就以我现行的技术来说是可行的。3.3.4 动态效果可行性由于本文的系统最主要的功能是能够把高斯网络拓扑和其相关性质展示给用户,所以能否做出动态的演示效果就显得尤为重要。怎样才能让静止的图形动起来,我的想

45、法是设置了程序的休眠时间,在每一条路径绘制完毕以后,程序都会睡眠零点五秒再继续执行,从效果上来看实现了动态的演示。3.4 本章小结不管是做系统设计还是做某项研究,如果能在正式动手以前做好充足的调查并有清晰的一步步前进的思路,再加上全面仔细的系统可行性分析,那么,整个设计的过程将会有事半功倍的效果。本章节作为全文的第三部分。就是起到了这样一个举足轻重的作用。不仅仅是具体阐述了前期思路的由来,同时也从多个方面对系统各个模块的效果能否达到预期进行了详尽的可行性分析,最后还拿出了完整的逻辑框架图,可以说是为整个系统设计奠定了基础。第四章系统实现在学习了解了相关技术之后,有了基本的构思和技术支持,便开始

46、了程序的实现,即代码的编写。其中就包括通过各种页面布局和容器类组件类完成了界面的设计,还有安装JDBC驱动,以及设置事件侦听器将功能实现等等。4.1技术选择之前也已经介绍了Java的一些优点,简洁,面向对象,多平台兼容且比较方便与数据库互联应该是我选择这个语言和JDBC技术最主要的原因。要想系统比较完善,对于用户来说比较友好,我也参考了其他的一些比较优秀的小程序和软件,觉得一个系统应该满足以下几点要求:(1)美观的图形化用户界面。(2)供用户选择的总菜单。(3)动态的效果演示。秉承着这些思路原则,我开始了代码编写。4.2 功能实现一个演示系统最主要的应该就是功能是否具有多样性,是否和用户有着比较多的交互,以及最好是有动态的效果而不仅仅是几个静态的界面。所以我专门设计了一些供用户选择的交互界面,以及帮助用户进行路径查询的小功能。以下就几个主要的功能进行了一些简单介绍。4.2.1 用户注册登陆功能在程序的一开始,我编写了一个用户登录的窗口,首先,如果用户还没有注册过的话可以点击注册按钮将用户名和密码信息储存到数据库中,然后会返回登陆界面重新登陆,匹配成功后就会进入初始菜单界面。效果如图4.1所示。图4.1登陆界面考虑到密码的保密性,我在输入密码时使其显示为符号,登陆的事件处理部分的代码如下所示。Overridepublicvoida

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号