一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc

上传人:laozhun 文档编号:2400548 上传时间:2023-02-17 格式:DOC 页数:49 大小:751.50KB
返回 下载 相关 举报
一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc_第1页
第1页 / 共49页
一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc_第2页
第2页 / 共49页
一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc_第3页
第3页 / 共49页
一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc_第4页
第4页 / 共49页
一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc》由会员分享,可在线阅读,更多相关《一种基于Dynamips的GUI路由器仿真系统的设计与应用 毕业设计.doc(49页珍藏版)》请在三一办公上搜索。

1、JIU JIANG UNIVERSITY毕 业 论 文题 目 一种基于Dynamips的GUI路由器仿真系统的设计与应用 英文题目 Design and Application of a GUI Router Simulation System Based on Dynamips 院 系 信息科学与技术学院 专 业 计算机科学与技术 姓 名 孙允磊 班级学号 A081151 指导教师 尧时茂 二一二年五月摘 要在传统网络工程实验中,由于实验室环境下思科网络设备有限并且做实验受地点限制。因此,用PC机模拟真实思科网络设备并在其上进行网络实验有十分重要的现实意义。论文描述了一种思科路由器仿真系统的

2、设计与实现,主要由前端图形化界面和Dynamips内核组成,其中图形化界面的设计通过微软MFC框架实现。系统自动加载Dynamips内核,能够模拟思科产品系列中大部分型号的路由器和交换机,产生与真实网络设备几乎完全一样的运行环境和的实验效果。在实验中,使用Dynamips的虚拟实验平台自动搭建拓扑文件,与SecureCRT相结合,将产生良好的实验效果,也可为广大网络技术爱好者提供一个通过CCNA认证的平台。首先对思科模拟器现状和系统运行环境做了简要概述和需求分析。然后详细描述了系统在微软MFC框架下的全部开发过程,主要内容包括系统主界面的设计,拓扑文件搭建模块设计,设备板卡选择及连接模块设计,

3、设备启动模块设计,以及系统资源优化设计。关键词:路由仿真系统,思科模拟器,微软基础类库AbstractIn the traditional network engineering experiments which, because of the limited laboratory environment, Cisco network equipment and to experiment with and subject to restrictions on the location. Therefore, a PC simulation of the real Cisco network

4、ing equipment and network experiments on a very important practical significance. The paper describes the design of a Cisco router simulation system, to realize its significance, the system is mainly composed of front-end graphical interface and Dynamips core graphical user interface designed by Mic

5、rosoft MFC framework. Load Dynamips core, able to simulate most of the models in the Cisco product line of routers and switches, and almost exactly the same with the real network equipment operating environment and the experimental effect. In the experiment, the use Dynamips virtual experiment platf

6、orm automatically build the topology file, and SecureCRT combination will produce good experimental results provide a platform for CCNA certification, but also a vast network of technology enthusiasts. First a brief overview of Cisco simulator status and operating system environment and demand analy

7、sis. Detailed description of the system development process in Microsoft MFC framework, main contents include the main interface of system design, the topology file to build the module design, device boards to select and connect the modular design the device to start the module design, and system re

8、source optimization design.Keywords: Routing Simulation System, Cisco Simulator, MicrosoftFoundationClasses目 录摘 要IAbstractII1 绪论1.1课题研究的背景(1)1.2课题研究的意义(1)1.3国内外发展现状(2)1.5本课题要达到的设计目标(4)1.6本章小结(5)2 系统分析2.1技术可行性分析(7)2.2系统需求分析(7)2.3本章小结(9)3 系统设计3.1系统结构设计(11)3.2系统功能模块图设计(12)3.3本章小结(13)4 系统实现4.1系统主界面实现(14

9、)4.2拓扑文件模块实现(16)4.3设备板卡模块实现(18)4.4设备连接模块实现(21)4.5设备启动模块实现(24)4.6 CPU资源优化实现(26)4.7设备登录模块实现(29)4.8皮肤模块实现(30)4.9本章小结(32)5 系统测试5.1路由器基本工程测试(33)5.2动态路由实验测试(34)5.3本章小结(35)6 总 结(36)致 谢(37)参考文献(38)1 绪论1.1课题研究的背景随着现代信息技术的发展及摩尔定律所应正的硬件发展规律,技术创新无时无刻给我们的工作生活带来方便,并产生深远影响。其中最为代表性的就是计算机网络技术的发展,计算机网络就是通过线路互连起来的、资源共

10、享的计算机集合,确切的说就是将分布在不同地理位置上的具有独立工作能力的计算机、终端及其附属设备用通信设备和通信线路连接起来,并配置网络软件,以实现计算机资源共享的系统。从地理范围来说,因特网可以是全球计算机的互联,这种网络的最大的特点就是不定性,整个网络的计算机,每时每刻随着人们网络的接入在不断的变化。当您连在互联网上的时候,您的计算机可以算是互联网的一部分,但一旦当您断开互联网的连接时,您的计算机就不属于互联网了。但它的优点也是非常明显的,就是信息量大,传播广,无论你身处何地,只要联上互联网你就可以对任何可以联网用户发出你的信函。由于这种网络的复杂性,所以这种网络实现的技术也是非常复杂的,需

11、求带动市场,因此当越来越多的人想从事于网络通信行业的时候,昂贵的通信设备,又使他们望尘莫及。在这种情况下,一种可以方便的、灵活的、快捷的、清晰的模拟路由器交换机的仿真系统看来是时代所需,因此想到了把现有的Dynamips内核(一个基于虚拟化技术的模拟器,用于模拟思科的路由器,其作者是法国UTC大学)通过面向对象的软件开发模式,以图形化界面工作方式展现给广大思科技术爱好者。1.2课题研究的意义通过基于图形化界面的路由仿真系统,大大提高了使用者的工作效率,尤其是在高校中,网络课程的教学效果加强实验环节是重中之重。但是计算机网络是一种高速发展的技术,要取得好的实验效果就需要为学生提供充分的新技术网络

12、配置优化和故障分析的实验机会,当前网络实验室的设备主要包含路由器交换机,但是由于经费的限制,部分学校只能提供有限数量和型号的设备,种类较少设备更新慢,学生实验机会少,很难掌握最新技术,而且学习效率低。正因为这种局限性,才有想法利用模拟器来进行实验使学生和广大技术爱好者可以在单机或者网络环境下进行网络的实验仿真。利用模拟器进行实验与实际网络实验室相比主要有以下优势:(1)便于教学。学生在任何有计算机的地方随时都可以做实验 并且可以构建大型规模和类型的网络来满足实验的需要。网络课程的综合性设计性实验较为复杂若按照实验课安排的上下课时间无法完成,而且实验结果无法保存,下次实验又需要重新配置。而模拟器

13、网络实验的结果均是保存在配置文件中下次做实验只需调用文件就可以方便的继续实验。(2)模拟多种型号的设备。模拟器几乎包括主流厂家所有型号的设备,通常一套完整的网络实验设备包括二层三层交换机和路由器,这些设备的价格是非常昂贵的,涉及核心层的高端网络设备更是价格不凡。但模拟器可以模拟的产品均是虚拟的,可以根据需要全部模拟。(3)节省资金,升级方便。使学生能够跟上网络设备更新换代的速度掌握最新的网络知识。借助于模拟器进行实验 可以像在真实的环境中一样完成各种实验项目所取得的实验效果等价于甚至优于在真实环境中所取得的效果。1.3国内外发展现状目前世界主流模拟器主要有以下几款,关于思科的模拟器很多都是都是

14、基于Dynamips内核的1。Dynamips是一个基于虚拟化技术的模拟器(Emulator),用于模拟思科(Cisco)的路由器,其作者是法国UTC大学 (University of Technology of Compiegne, France)的Christophe Fillot。Dynamips的原始名称为Cisco7200Simulator,源于ChristopheFillot在2005年8月开始的一个项目,其目的是在传统的PC机上模拟(Emulate)Cisco的7200路由器。发展到现在,该模拟器已经能够支持Cisco的3600系列(包括3620,3640,3660),3700系

15、列(包括3725,3745)和2600系列(包括2610到2650XM,2691)路由器平台2。 根据作者Christophe Fillot的说法,他编写Dynamips这个模拟器的目的主要是:使用真实的CiscoIOS操作系统构建一个学习和培训的平台,让人们更加熟悉Cisco的设备,以及领略Cisco作为全世界计算机网络技术的领跑者的风采测试和实验CiscoIOS操作系统中数量众多、功能强大的特性迅速地构建路由器的配置以便之后在真实的路由器上完成部署。此外,作者ChristopheFillot强调,Dynamips毕竟只是模拟器(Emulator),它不能取代真实的路由器,以NPE-100为

16、例,在PC机上你只能获得约1kbps的带宽(这还要取决于你的机器性能),这与实际中NPE-100所能产生100kbps(仅仅是最旧的NPE模式)是远不能比拟的3。所以,Dynamips仅仅只是作为思科网络实验室管理员的一个补充性的工具,或者那些希望通过CCNA/CCNP/CCIE考试的人们的辅助工具。(1)DynamipsGUI是由CCIE小凡开发的一个思科模拟器图形前端。它不仅整合了思科所有的IOS模拟器,而且还整合了BES以及VPCS,它是一个综合的模拟器解决方案,它配置输出采用的是Bat批处理文件,目前最新版是2.84。(2)PacketTracer是由Cisco公司发布的一个辅助学习工

17、具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细处理过程,观察网络实时运行情况。可以学习IOS的配置、锻炼故障排查能力。软件还附带4个学期的多个已经建立好的演示环境、任务挑战,目前最新的版本是 Packet Tracer 5.7。(3)GNS3是一款优秀的具有图形化界面可以运行在多平台(包括Windows, Linux, and MacOS等)的网络虚拟软件。Cisco网络设备管理员或是想要通过CCNA,CCNP,CCIE等Cisco认证考试的相关人士可以通过它来完成相关的实

18、验模拟操作。同时它也可以用于虚拟体验Cisco网际操作系统IOS或者是检验将要在真实的路由器上部署实施的相关配置。目前最流行的模拟器当属GNS35,它是一款优秀的具有图形化界面可以运行在多平台的网络虚拟软件,他是很多网络爱好者的必备软件6。Pemu:PIX防火墙设备模拟器。 Winpcap:Windows平台下一个免费,公共的网络访问系统。开发Winpcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。 模拟Cisco路由设备和PIX防火墙仿真简单的Ethernet,ATM和帧中继交换机能够装载和保存为Dynamips的配置格式,也就是说对于使用Dynamips内核的虚拟软件具

19、有较好的兼容性,支持一些文件格式(JPEG, PNG,BMP and XPM)的导出7,前提是用户必须自行准备需要使用的IOS文件(4)BosonNetSim,是ITExamPrep-com推荐的路由器模拟软件,可以模拟路由器和部分交换机,而且是它最先提出自定义网络拓扑的功能,大多数人都使用Boson来练手CCNA和CCNP的实验考试试题,与真实实验相比,使用BosonNetSim省去了制作网线连接设备,频繁变换CONSOLE线,不停地往返于设备之间的环节。同时,BosonNetSim的命令也和最新的Cisco的IOS保持一致,它可以模拟出Cisco的部分中端产品35系列交换机和45系列路由器

20、。它还具备一项非常强大的功能,就是自定义网络拓扑结构及连接。通过Boson我们可以随意构建网络,PC、交换机、路由器都可被模拟出来,而且它还能模拟出多种连接方式(如PSTN、ISDN、PPP等)。1.5本课题要达到的设计目标可以模拟大部分思科路由器交换机可以实现的功能,满足日常教学工作及想要通过CCNA/CCNP认证考试的网络技术爱好者。界面简单,系统资源占用少,操作方便灵活,站在用户角度开发,真正实现图形化界面Dynampis模拟器的价值8。基于上述目标,系统主要有以下功能(1)自动编写拓扑文件在图形化的界面中,自动手动连接各种拓扑,不需要手动编辑NET文件9。(2)路由器选型自动完成路由器

21、的选型,其中包括2600系列,2691系列,3600系列,7200系列等路由器交换机类型。(3)路由器模块设置NM-1E,1端口10M以太网网络模块。NM-4E,4端口10M以太网网络模块。NM-4T,4端口广域网串行木块。NM-16ESW,16端口10/100M快速以太网交换机网络模块。NM-1FE-TX,1端口10M快速以太网网络模块。(4)CPU资源利用优化满负载不能超过系统CPU的60%,正常情况下为20%。(5)模拟动态路由协议RIP的实现可是实现动态路由协议RIP,保证其最优路径以及快速收敛10。1.6本章小结本章主要讲述计算机网络通信的发展带动了模拟器的发展11,从总体的方面给仿

22、真系统做了一个概述。首先介绍了模拟器的分类,项目开发的背景,项目研究的意义和目的,国内外模拟器的发展趋势,以及本系统要实现的主要功能。2 系统分析在进行可行性研究和项目开发计划以后,如果确认开发一个新的软件系统是必要的而且是可行的,那么就可进入需求分析阶段。需求分析是指开发人员要理解用户的要求,进行详细的市场调查,确定系统的新目标。为了满足用户的需要,回答系统要“做什么”的问题。2.1技术可行性分析基于GUI的开发:WxWidgets、QT、GTK等,都是很不错的12,其中WxWidgets和MFC很相似,所以熟悉MFC的开发者入门很快;QT是Nokia旗下的。Linux下大名鼎鼎,封装很好,

23、其中槽与信号机制非常优秀,自带IDE,开发很方便;GTK则是Linux下用的非常多,原本是用于GIMP,后来扩展成一套完整的GUI开发类库。以上三种都很优秀,使用也非常广泛,在本次系统设计中使用MFC,以下内容为MFC架构的简介14。MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(Class libraries),以C+类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。MFC实际上是微软提供的用于在C+环境下编写应

24、用程序一个框架和引擎13,VC+是Windows下开发人员使用的专业C+ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包。MFC作为与VC+血肉相连的部分(注意C+和VC+的区别:C+是一种程序设计语言,是一种大家都承认的软件编制的通用规范,而VC+只是一个编译器)。MFC是Win API与C+的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一种软件编程的规范,但不是一种程序开发语言本身,可以允许用户使用各种各样的第三方的编程语言来进行对Windows下应用程序的开发,使这些被开发出

25、来的应用程序能在Windows下运行,比如VB、VC+、Java。编程语言函数本质上全部源于API,因此用它们开发出来的应用程序都能工作在Windows的消息机制和绘图里,遵守Windows作为一个操作系统的内部实现,这其实也是一种必要,微软如果不提供API,这个世上对Windows编程的工作就不会存在,微软的产品就会迅速从时尚变成垃圾,上面说到MFC是微软对API函数的专用C+封装,这种结合一方面让用户使用微软的专业C+ SDK来进行Windows下应用程序的开发变得容易,因为MFC是对API的封装,微软做了大量的工作,隐藏了好多程序开发人员在Windows下用C+ 和 MFC编制软件时的大

26、量内节,如应用程序实现消息的处理,设备环境绘图,这种结合是以方便为目的的,必定要付出一定代价,因此就造成了MFC对类封装中的一定程度的的冗余和迂回,但这是可以接受的。最后要明白MFC不只是一个功能单纯的界面开发系统14,它提供的类绝大部分用来进行界面开发,关联一个窗口的动作,但它提供的类中有好多类不与一个窗口关联,即类的作用不是一个界面类,不实现对一个窗口对象的控制(如创建,销毁),而是一些在Windows(用MFC编写的程序绝大部分都在Windows中运行)中实现内部处理的类,如数据库的管理类等,学习中最应花费时间的是消息和设备环境,对C+和MFC的学习中最难的部分是指针,C+面向对象程序设

27、计的其它部分,如数据类型,流程控制都不难。 MFC是微软封装了的API15。Windows作为一个提供功能强大的应用程序接口编程的操作系统,的确方便了许多程序员,传统的Win32开发(直接使用Windows的接口函数API)对于程序员来说非常的困难,因为,API函数实在太多了,而且名称很乱,从零构架一个窗口动辄就是上百行的代码。MFC是面向对象程序设计与Application Framework的完美结合,他将传统的API进行了分类封装,并且为你创建了程序的一般框架。2.2系统需求分析基于Dynampis的GUI路由器仿真系统的设计主要是为了给广大网络技术爱好者,提供一个操作简单,功能齐全,资

28、源占用少的实验平台。从用户角度考虑,主要有一下几点。(1)操练简单一个好的模拟器不仅要适用于高技术玩家,同时要考虑到大部分网络技术入门者,一款操作简单的软件势必会赢得众多网络技术爱好者的喜爱。同时这也是本次系统设计的重点,将要和以往的Dynamips形成鲜明对比,不需要手动编写NET文件,拓扑文件,直接在图形化界面中操作,创建文件,搭建复杂实验环境。(2)功能齐全模拟器必须要能满足日常运维的各种实验环境,计划满足大部分CCNA实验和CCNP的实验。在路由方面包括静态路由,RIP,EIGRP,OSPFv2,OSPFv3,集成IS-IS协议等。在路由控制和互联操作方面要满足各种路由之间的重发布,路

29、由汇总,路由过滤,路由映射等技术。在交换方面要满足STP,生成树的高级特性,链路捆绑技术,VLAN间路由选择,基于CEF的数据转发,HRSP,VLAN等技术,还要能满足NAT,ACL,DHCP,QOS,组播等技术。还要满足部分安全性能的实验,比如AAA,DHCP监听,IP源防护等16。(3)系统资源占用少Dynamips内核集成系统资源优化,修改路由器部分参数,以实现在本次系统中系统资源利用过大的问题。2.2.1系统软件需求分析基于Dynamips内核的仿真系统主要有以下几个关键组件17。(1)Dynamips内核,模拟器内核,用于加载真实的思科路由器操作系统文件。(2)Dynagen是一个基

30、于文本的前端控制系统,它采用”Hypervisor”超级监控模式和Dynamips通信。Dynagen简化了虚拟网络的创建和工作。可以简单地认为:Dynamips的作用是模拟CiscoIOS,对应文件:.bin文件。Dynagen的作用是模拟网络拓扑,对应文件:.net文件。(3)WinPcap (Windows Packet Capture)是Windows平台下一个免费,公共的网络访问系统。开发Winpcap这个项目的目的在于为Win32应用程序提供访问网络底层的能力。用于提供桥接路由器接口到物理网卡,就是将物理网卡作为虚拟路由器的网卡,可以让虚拟路由器和真实环境中的设备通。(4)C362

31、0-I-m.121-6.BIN思科路由器的IOS文件,这里找到的是3620系列。 (5)3620idlepc.bat文件,用于优化CPU资源利用率。(6)SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,同时支持Telnet和Rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的远程系统的理想工具。在本系统中,该软件用于Telnet登录到路由器。2.2.2系统功能需求分析可以模拟大部分思科路由器交换机可以实现的功能,满足日常教学工作,以及想要通过CCNA/CCNP认证考试的网络技术爱好者。界面简单,系统资源占用少,操作方便灵活,站在用

32、户角度开发,真正实现图形化界面Dynampis模拟器的价值18。基于上述目标,系统主要有以下功能。(1)自动编写拓扑文件,自动编写连接各种拓扑,不需要手动编辑NET文件。(2)路由器选型。自动完成路由器的选型,其中包括2600系列,2691系列,3600系列,7200系列等路由器类型。(3)路由器模块设置,可以模拟常用的以太网,串行接口。(4)CPU资源利用优化,系统占用资源少。 2.3本章小结本章主要从用户需求及设计者的角度详细分析了各种需求,包括系统软件需求分析,系统硬件需求分析,系统功能需求分析,系统环境需求分析,技术可行性分析等,在软件工程中,需求分析指的是在建立一个新的或改变一个现存

33、的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。 在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。3 系统设计系统设计是系统设计工作应该自顶向下地进行。首先设计总体

34、结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分、机器设备、数据的存贮等方面进行合理的安排。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即建立新系统的物理模型。 这个阶段的任务是设计软件系统的模块层次结构,其目的是明确软件系统如何做。这个阶段又分两个步骤:概要设计和详细设计。概要设计解决软件系统的模块划分和模块的层次机构以及数据结构设计;详细设计解决每个模块的控制流程,代码实现和数据调用。3.1系统结构设计基于Dynamips的GUI路由器仿真系统设计目标,并且将用户需

35、求转化为软件工程师所理解的语言,因此将系统实现分为三个主要的步骤:NET文件创建,设备模块的添加及连接,设备启动。(1)NET文件的创建包括详细的设备参数设置,可以实现的主要有文件的创建,并且输入正确的文件文件名称才可以。设备类型的选择主要思科2600、2900、3600、7200系列,运行平台选择,也可以模拟交换机模块。设备个数的调整,虚拟内存大小设计,系统运行是占用PC机的内存,寄存器值输入主要为了下次试验保存相关的配置。Idle-PC值计算为了优化CPU的使用率,IOS文件目录等19。(2)设备模块的添加及连线在上一步的基础之上,进一步完善功能模块,把写好的拓扑文件架构,映射到设备名称以

36、及设备的接口模块选择上面。在设备添加及连线模块中,主要完成的功能包括设备设备名称,模块类型,以及各个设备之间的连接线路。(3)设备启动系统启动模块连完线后要启动服务器和实验台在实验台上输入,即可查看路由器列表,输入“Start 路由器名”,即可启动路由器20。3.2系统功能模块图设计系统主要功能模块有创建、设备类型、平台选择、设备个数、内存、寄存器值、Idle-PC值、IOS文件目录、设备名、连接、确定、启动、取消等。系统功能模块图如图3-1所示。图3-1 系统功能模块图3.3系统流程设计3.3.1系统总体流程图设计系统首先要创建拓扑文件,然后选择相应的类型以及平台,与此同时,填写其他相应的参

37、数,比如内存大小,IOS文件位置,IDLE-PC值,寄存器的值等。当拓扑文件初步建立好之后,选择设备以及为该设备添加需要的实验模块,然后在设备列表和接口列表中按照拓扑图选择相应的端口连接设备,最后启动设备。总体流程如图3-2所示。图3-2 系统流程图3.3.2创建拓扑文件流程系统主要实现的功能就是自动编写拓扑文件用于仿真实验,其中拓扑文件的创建主要有三个部分组成。首先是创建一个文件拓扑名称,把基本消息初始化映射到拓扑文件当中。其次是填写各项参数,最后是物理设备之间的模块选择以及连线,这样就自动完成了一个标准的Dynamips可识别的拓扑文件,拓扑文件创建流程如图3-3所示。图3-3 拓扑文件创

38、建流程图3.3本章小结本章主要介绍了系统的主体设计,系统设计是开发管理信息系统的重要部分,系统设计通常可分为两个阶段进行,首先是总体设计,有哪些功能模块,以及各个模块要实现的主要功能。其中,NET文件创建,设备模块的添加及连接,设备启动这三个步骤为后续工作奠定了基础。进而为下一步系统详细设计打好框架结构,提供一个总体设计,以后的每个模块都在这个框架中进行组织及代码编写,实现控制全局的作用。4 系统实现4.1系统主界面实现微软MFC自带很多框架可供选择,灵活的选择使得在界面设计中更人性化,也更直观美观。在主界面的设计中,直接拖动控件进行叶面布局,在Dlg类中通过和其他的类相联系对对话框的操作实现

39、消息响应。在本次系统设计中主要使用的控件有创建、设备类型、平台选择、设备个数、内存、寄存器值、Idle-PC值、IOS文件目录、生产.Net类型、设备名、Slot0、Slot1、设备列表、接口列表、连接、确定、启动、取消等,这些都是通过拖动控件来实现的,然后再通过消息响应来实现其响应的功能。主界面效果如图4-1所示。图4-1 主界面效果界面图4.1.1 菜单控件设置菜单控件的设计:菜单控件基于MFC自动绘制工具,插入新建等绘制而成,当鼠标或者键盘触发消息响应的时候,系统自动调用库函数处理。主要按钮消息有新建文件,打开文件,皮肤,透明度设置等。在皮肤模块中主要有中国红,金属诱惑,黑色宁静,蓝色忧

40、郁,淡蓝等。菜单如图4-2所示。图4-2 菜单效果图实现菜单的绘制需要三个步骤:(1)将所有的菜单项设置为MF_OWNERDRAW,即自绘模式;(2)在WM_MEASUREITEM消息中设置菜单项的大小;(3)在WM_DRAWITEM消息中进行菜单项的绘制。4.1.2 关于界面设置在菜单栏上面的关于按钮,主要是作者信息,在用自带的控件集画好相关界面之后,添加消息相应函数,当鼠标单击触发关于信息时,系统直接调用OnAuthor()显示输出,这个菜单项的功能是让用户了解制作这个软件的作者的基本信息。作者信息界面如图4-3所示。图4-3 作者信息效果图4.1.3透明控件对话框实现用于设置界面的透明度

41、,当消息触发时,系统加载MFC库函数CHyaline,直接调用,设置对话框的透明度。透明界面对话框效果图如图4-4所示。图4-4 透明对话框设计实现代码如下。CHyaline:CHyaline(CWnd* pParent /*=NULL*/): CDialog(CHyaline:IDD, pParent)/AFX_DATA_INIT(CHyaline)m_hyaline = _T();/AFX_DATA_INITvoid CHyaline:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CH

42、yaline)DDX_Text(pDX, IDC_EDIT1, m_hyaline);/AFX_DATA_MAP4.1.4 主界面中各个组件的实现及功能主界面中的组件及其实现主要在类CMydyDlg中实现的他主要包括了以下方法:(1)OnAllblue() 把组件的有些部分设置为蓝色;(2)OnAuthor() 创建模态对话框里面显示有关作者的一些基本信息;(3)OnBlack() 把组件的有些部分设置为黑色;(4)OnBlueocean() 设置单选框中的皮肤;(5)OnClear() 清除;(6)OnCommittype() 主要是生成类型包括对型号进行设置;(7)OnOpen() 主要是

43、打开文件;(8)OnSelchangeDivlist1() 主要是对路由器进行操作的;(9)OnShowTask() 弹出一个消息框;(10)OnStart() 启动设备平台;(11)OnPaint() 主要进行图形绘制的。而且在这个过程中要用到很多的变量如:m_effect,m_count等等,这个过程中主要完成了一个大的框架,把所有的大概的任务完成了,剩下的就是对每个具体的模块进行具体的操作。4.2拓扑文件模块实现首先输入文件名称,单击创建,提示创建文件成功,这是系统运行的首要基础。创建好的文件保存在系统当前目录下.Net文件夹中,这只是初次的文件创建,类似于初始化,拓扑文件中还有详细的参

44、数传递进去。拓扑文件模块设计如图4-5所示。图4-5 拓扑文件模块设计图实现代码如下:其中Create函数为创建文件函数。void CMydyDlg:OnCreate() SetCurrentDirectory(path);/设置对应目录char filepath256=0;GetDlgItemText(IDC_FILENAME,filename,256);if(filename0!=0) TCHAR cmd256; wsprintf(filepath,%sDynamipsnet%,path,filename); file=fopen(filepath,w); if(file=NULL) Me

45、ssageBox(文件打开失败,错误,MB_ICONERROR); return; wsprintf(cmd, autostart=falsen localhostn port=7200n udp=10000n); fputs(cmd,file); fclose(file); MessageBox(TEXT(创建文件成功!),TEXT(提示),48);elseMessageBox(TEXT(文件名不能为空!),TEXT(错误),MB_ICONHAND);这个函数创建好文件之后,当单击创建,提示创建文件成功,这就把初次文件创建完成。4.3设备板卡模块实现路由器可用的模块主要有以下几个:(1)NM

46、-1E,1端口10M以太网网络模块;(2)NM-4E,4端口10M以太网网络模块;(3)NM-4T,4端口广域网串行木块;(4)NM-16ESW,16端口10/100M快速以太网交换机网络模块;(5)NM-1FE-TX,1端口10M快速以太网网络模块。在模块选择的对话框中,添加以上五个模块,当鼠标触发模块选择消息的时候,系统调用对OnSelchangeDivlist函数进行调用,选择相应的模块板卡。设备板卡模块界面如图4-6所示。图4-6 设备板卡模块界面效果图设计代码如下,在本系统中有多个设备列表及模块,以下为其中的一个设备代码实现如下。void CMydyDlg:OnSelchangeDivlist1() TCHAR div10;vector:iterator it; CListBox* pListBoxA=(CListBox*)GetDlgItem(IDC_DIVLIST1); pListBoxA-GetText(pListBoxA-Ge

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

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号