《毕业设计论文基于VB的小型网络实验室管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计论文基于VB的小型网络实验室管理系统.doc(17页珍藏版)》请在三一办公上搜索。
1、目 录引论11 系统分析21.1 需求分析21.2 开发环境21.3 开发工具简介22 总体设计32.1 系统结构图32.2 模块说明32.2.1 登陆模块32.2.2 设备类型模块32.2.3 实验室模块32.2.4 用户管理模块32.2.5数据库设计33 详细设计43.1 登录模块设计43.2 设备管理模块设计43.2.1 主机管理43.2.2 网络设备63.3 实验室管理模块设计73.4 网络控制模块设计83.5 主窗体设计103.6 用户管理模块设计113.7退出登陆113.8 制作安装程序11结 论12参考文献13致 谢14基于VB的小型网络实验室管理系统摘 要众所周知,实验室的管理
2、种类繁多,人员出入频繁,实验室管理者希望能对实验室是的整体状况了如指掌,并为决策管理提供科学依据,工作人员希望能够避免繁琐的手工操作,甩掉陈旧的手工记账方式,达到事半功倍的效果。实验室管理应用软件不仅使以上的希望成为了现实,而且能间接减少工作量,提高实验室的科学管理!本系统通过利用软件工程原理,以VB6.0为主要开发工具,利用ACCESS的数据库功能,设计出系统的功能模块化结构,并根据系统的具体要求和需要实现的功能,详细地定义了各个模块的具体功能。此网络实验室管理系统的开发,可实现对各种网络实验设备、各个网络实验室以及实验室的运行状况科学有效的进行管理,以及对实验室网络的时间设置管理,很适用于
3、小型实验室,可满足管理人员使用的需要,实现管理的自动化。关键词网络实验室管理系统; Visual Basic;Access;面向对象small network laboratory management system Based on VBAbstract Is well known that a wide range of laboratory management, personnel and out frequently, laboratory managers hope to the overall state of the laboratory is well known, and
4、provide the scientific basis for decision-making management, staff hope to avoid the tedious manual operation, get rid of the old manual accounting methods to achieve the multiplier effect. Lab Management Applications for more than the hope of not only become a reality, but also indirectly reduce wo
5、rkload, improve the scientific management of the laboratory! The system through the use of software engineering principles, the main tools to VB6.0, using the database functions ACCESS, the system features a modular design structure, and according to the system to achieve the specific requirements a
6、nd needs of the functions of each module is defined in detail specific function. This network laboratory management system, enabling experiments on various network devices, various network operating conditions in laboratory and laboratory for scientific and effective management, and time setting on
7、the laboratory network management, it is applicable to small laboratory to meet the needs of managers use to achieve management automation.Key wordsNetwork Lab Management System; Visual Basic; Access;Object-orientedIII商丘师范学院2010届本科毕业论文(设计)引论计算机技术高速发展,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。随着计算机
8、信息技术的发展和高校校园网建设的成熟,高校教学也随之实行改革。传统实验室管理方式已经不能满足教学管理的要求,管理人员试图通过计算机的支持来寻求新的方式,运用先进的管理信息系统对高校实验室进行科学化网络管理,已成为高校实验室管理发展的趋势。高校实验室是进行实验教学、开展科学研究、推动科技发展的重要基地,是学校教学科研工作的重要组成部分,实验室建设与管理水平直接关系到培养人才的质量问题。对于大多数高等院校的实验室管理,现在仍停留于传统管理模式下,没有很好的利用计算机网络技术进行管理,因此管理效率低下。校园网络的建成给网络化管理系统的研发打下了基础。由于社会上各种实验室管理软件众多,有的单位采用自主
9、开发或委托软件开发商开发出的专用软件,部分大型实验室也已经使用市场上的实验室管理系统(一般价格也较昂贵)。然而占着绝大多数的小型实验室由于多方面原因不易使用大型管理软件, 而且市场上出现的各类实验室管理软件基本上都是为大型实验室设计的,有很多功能对于一般小型网络实验室根本用不上。软件市场急需一套以低廉的价格、完善的服务、齐全的功能为基础,结合管理的需要进行扩展而开发的一套实验室管理系统。本文在通过对中小型实验室本身的特点、主要作用等各方面进行全面综合的了解、分析、归纳和总结的基础上,介绍了系统开发所使用的环境、工具以及开发语言,并对相关的开发技术进行了阐述。系统的实现将有效提高实验室的管理效率
10、,减低实验室的管理成本。它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低,可大大减少人力物力,极大地提高管理效率,并且具有较广泛的推广价值1。1 系统分析1.1 需求分析本实验室管理系统的开发过程包括系统开发准备、系统调查、系统分析、系统设计、系统实现、系统运行与维护、系统评价等步骤。根据系统开发的大小、复杂、投入方式、方法等因素的不同,各步骤的要求和内容也不同。其中系统分析是实验室管理系统开发的关键环节,要求在系统调查的基础上,对新系统的功能进行细致的分析,并建立一个新系统的逻辑模型。一个新系统是建立在对现行系统的分析和要求的基础之上的,所以系统调查工作要进行的深入细致全面
11、,并完成系统分析报告,通过以后再转入系统开发设计阶段。一个小型实验室一般会有很多网络设备,也会有多各实验室,同时又配备多个管理员。所以在对本系统分析时,对设备信息,实验室信息及管理员信息要作全面的分析和设计。暂时了解到的几个网络设备有:路由器、网桥、交换机等,管理员则需要密码才能登入系统。1.2 开发环境本系统为一个小型的管理系统,所耗费的资源非常的小,具体的系统需求如下:CPU:至少200MHz Intel Pentinm 处理器操作系统:Windows 98第二版、Windows Me 、Windows NT4 、Windows2000或 Windows XP内存:至少mb可用系统内存硬盘
12、:至少mb可用磁盘空间显示器:分辨率1024768Pixels、16位色以上显示器效果最佳光驱:cd-rom驱动器1.3 开发工具简介vb是Visual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大可以与 Windows 专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数
13、据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统2。2 总体设计2.1 系统结构图网络实验室管理系统 设备类型实验室退出系统主机路由网桥交换机实验室1实验室2登录网络控制图2-1 系统结构图2.2 模块说明2.2.1 登陆模块登陆模块用来限制来访者,管理着需要输入正确的账号和密码才可以进入,对系统进行相应的操作,这样可以增强系统的安全性。2.2.2 设备类型模块设备类型模块分别包括主机、路由、网桥及交换机,可以实现对主机进行重启、注销、关闭以及操作完成后的退出。路由器、网桥以及交换机的各种信息与数据库相连接,通过datagrid控件显示设备
14、名称、设备型号、购入时间、生产厂家、产品价格、运行情况和设备的数量,并能够实现对路由器、网桥和交换机三种设备的添加、删除、更新和退出。2.2.3 实验室模块 实验室模块包括对实验室1和实验室2的控制以及网络的控制管理。实验室1和实验室2的操作是相同的,通过调用API函数在窗体上显示本实验室内所有及其的主机名和IP地址,可对选中的主机进行相应的重启注销和关闭的操作。定时网络控制窗体,使用了RasEnuConnections函数来判断连接的状态,可对实验室的网络进行启动和禁用的操作。 2.2.4 用户管理模块管理员可通过此模块修改账户或者密码,这样可以防止信息的泄露.2.2.5数据库设计该系统用的
15、是Microsoft Access2003关系型数据库软件,该软件具有功能灵活、界面友好、易于学习和操作等特点,是开发小型数据库应用系统的理想工具,可独立开发数据库应用系统,也可作为后台数据库与Visual Basic等高级语言使用。本系统创建的数据库有两个:设备类型.mdb和实验室.mdb 。设备类型数据库包括四个字段:主机、路由器、网桥、交换机,其属性分别有型号、购入时间、生产厂家、产品价格、运行情况和设备的数量。实验室数据库包括两个字段:实验室1、实验室2,其属性有计算机名和IP地址3。3 详细设计3.1 登录模块设计登陆模块是用户运行该系统时首先可见的一个窗体,用户要使用本系统,首先必
16、须通过系统的身份认证,这个过程叫做登陆。登陆过程中需要对用户提供的账号和密码进行验证,若用户提供的密码是正确的,那么系统不加任何限制,若输入错误且超过一定限制次数则系统关闭。这样更有利于系统的安全,最大限度的保护了使用者的权益。程序运行时首先判断是否输入了用户名和密码,如果没有输入则返回要求输入用户名和密码。然后将输入的用户名和密码赋值namekey和passwordkey中,调用函数,判断当前用户名是否存在,若果不存在则返回,同时 trytime=1,如果用户名存在则读取此用户的数据,并将用户密码进行比较,若不正确则返回。如果trytime大于3.则退出系统。如果通过密码验证,则用户可以顺利
17、进入该系统4。登陆界面如图3-1所示。图3-1 登录界面3.2 设备管理模块设计3.2.1 主机管理主机管理部分可以实现快速的重启,关闭和注销计算机。在实际应用中,由于主机长时间的开机,难免遇到一些故障,公共的实验室是大家进行学习和练习的地方,稍微出现差错就会延时。因此这需要快速的对机器进行启动。该部分利用了API函数Getcurrentprocess、lookupprivilegevalue、tokenprivileges和openprocessToken来实现重启、注销和关闭计算机的功能。该程序设计时用到的主要控件有frame、text、lable和command。主机管理窗体运行时的界面
18、如下。图3-2 设备类型-主机实现其功能的代码如下。Private Sub Command1_Click()exitwindowsex ewx_reboot, 0End SubPrivate Sub Command2_Click()exitwindowsex ewx_force Or ewx_shutdown, 0End SubPrivate Sub Command3_Click()exitwindowsex ewx_logoff, 0End SubPrivate Sub Command4_Click()EndEnd SubPrivate Sub Form_Load()Dim hprocess
19、handle As LongDim htokenhandle As LongDim tmpluid As LuidDim tkpnew As token_privilegesDim tkpprevious As token_privilegesDim ibufferneeded As Longhprocesshandle = getcurrentprocess()openprocesstoken hprocesshandle, token_adjust_privileges Or token_query, htokenhandlelookupprivilegevalue , seshutdow
20、nprivilege, tmpluidtkpnew.privilegecount = 1tkpnew.theluid = tmpluidtkpnew.Attributes = se_privilege_enabledibufferneeded = 0adjusttokenprivileges htokenhandle, fase, tkpnew, Len(tkpprevious), tkpprevious, ibufferneededEnd Sub3.2.2 网络设备设计网络设备窗体前,首先创建一个数据库,该系统使用的数据库为bring,mdb,在使用时用到以下控件:l Ado Data控件l
21、 Datalist 控件l Datagrid 控件ADO Data控件是使用ADO技术访问数据库的具体实现,用户可以快速的创建一个到数据库的连接,ADOData控件使用Recordset对象支持对存储在数据库的数据的访问,并允许将指针从一个记录一道另一个记录显示和操作记录数据。许多其他的数据库操作控件都需要ADO Data控件提供数据源,ADO Data控件不出现在VB的工具箱中,需要选择“工程”菜单中的“部件”,查找并选择microsoft ado data controls 6.0(oledb)进行添加。Datalist控件是数据绑定列表框,它需要绑定一个ADO data数据源,并使用数据
22、源中的一个字段进行填充。Datalist控件也不在工具箱中,需要选择microsoft datalist controls 6.0(oledb)添加。Datagrid控件以表格的形式显示结果集中的数据,他同样需要ADO data提供数据源,选择microsoft datagrid controls 3.0(oledb)进行添加。程序运行时,通过新增按钮,可以对实验室内新购入的或者接入的设备添加到数据库,然后通过datagrid显示出来。若某一设备出现故障,则可以首先选中该设备,然后删除。更新可以对设备的使用情况进行补充5。窗体运行时的界面如下图所示。图3-3 设备类型-网络设备在设计本窗体时,
23、预先编写了一个类模块,其他的窗体通过调用该模块,可以实现对数据库的访问,这样有利于系统的移植和扩充,增加了系统的可读性。该模块的代码如下:Function getConnection() As ADODB.Connection Dim conn As New ADODB.Connection conn.ConnectionString = getConnectionStr() conn.Open Set getConnection = connEnd FunctionSub executeSql(conn, rs, sql) rs.ActiveConnection = conn rs.Sour
24、ce = sql rs.OpenEnd SubFunction getConnectionStr() As String getConnectionStr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + App.Path + bring.mdb;Persist Security Info=FalseEnd Function3.3 实验室管理模块设计本窗体实现的是在实验室中通过远程控制,主控计算机控制被控计算机的重启、注销和关闭。在主控计算机中选中要控制的计算机,单击“重启计算机”,即可重启受控计算机。本窗体利用了Winsock控件与远程计算机
25、建立连接。(Winsock控件属于Activex控件,因此在使用之前需要添加到工具箱,选择VB菜单的“工程”/“部件”,选择microsofe winsock controls 6.0选项,确定后即可添加到工具箱。)并通过用户数据报文协议(UDP)进行数据交换,该协议可以用来创建用户与服务器应用程序。另外还利用了API函数,API函数是Windoows提供给应用程序的接口,数量很多,涉及各个方面,这里用到的只是API函数中的Exitwindows函数6,其参数说明如下:l EWX_LOGOFF:关闭当前所有进程,然后注销当前用户。l EWX_REBOOT:关闭当前系统,然后重新启动。l EXW
26、_SHUTDOWN:关闭计算机。其界面如下:图3-4 管理实验室1实验室2的窗体设计与实验室1的窗体设计基本相同,只是代码稍微变化。实验室管理的主要代码部分如下:Private Sub Form_Load()Adodc1.ConnectionString = sqlHelper.getConnectionStr()Adodc1.CommandType = adCmdTableAdodc1.RecordSource = lab1Adodc1.RefreshEnd SubPrivate Sub Command1_Click()Dim strsend As String: Dim str_copur
27、e As String strname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send strsend = cxqd: frm_server.udp_data.senddata strsendEnd SubPrivate Sub Command2_Click()Dim strsend As String: Dim str_copure As Str strname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send
28、strsend = zx: frm_server.udp_data.senddata strsendEnd SubPrivate Sub Command3_Click()Dim strsend As String: Dim str_copure As Stringstrname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send strsend = gb: frm_server.udp_data.senddata strsendPrivate Sub Form_Load()Adodc1.Connection
29、String = sqlHelper.getConnectionStr()Adodc1.CommandType = adCmdTableAdodc1.RecordSource = lab2Adodc1.RefreshEnd SubPrivate Sub Command1_Click()Dim strsend As String: Dim str_copure As String strname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send strsend = cxqd: frm_server.udp_
30、data.senddata strsendEnd SubPrivate Sub Command2_Click()Dim strsend As String: Dim str_copure As Str strname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send strsend = zx: frm_server.udp_data.senddata strsendEnd SubPrivate Sub Command3_Click()Dim strsend As String: Dim str_copur
31、e As Stringstrname = Text1.Text str_copure = frm_server.udp_data.localhostname Call send strsend = gb: frm_server.udp_data.senddata strsendEnd Sub3.4 网络控制模块设计 实验室中的计算机,为了信息的完全不能连接到网络的。但由于特殊的需要,必须在固定时间段联网。如果手动操作,则费时费力,也不准时。该部分通过控制网络连接的启动和禁止,控制计算机联网。在控制网络连接时,使用了Rasenumconnection函数来判断连接的状态,Rasenumconne
32、ction函数可以列出所有活动的ras连接状态,返回一个连接的句柄和入口名称7。该函数的参数声明如下:l IpRascon:连接数据的缓冲区。l Lpcb:以字节为单位表示缓冲区的大小。l Lpcconnection:用于写入缓冲的连接数量。l 返回值:如果函数返回成功,则返回0,否则返回一个非0值。其实现过程如下:(1) 新建窗体。(2) 在窗体上添加四个label控件,一个line控件和一个textbox控件。(3) 在窗体上添加两个dtpicker控件和一个timer控件。(4) 在窗体上添加两个commandbutton控件用于执行定时和退出操作。程序运行时,可以选择将要控制的实验室和
33、具体的联网时间,其界面如下所示。图3-4 网络控制实现以上功能只要代码如下:Private Sub Command1_Click()Timer1.Interval = 500End SubPrivate Sub Form_Load()DTPicker1.Value = TimeDTPicker2.Value = TimeEnd SubPrivate Function excnetlinkmenu(ByVal adaptername As String, ByVal menuname As String) As BooleanOn Error Resume NextDim mshell As N
34、ew shell32.ShellDim netconnection As shell32.folderDim folderitem As shell32.folderitemDim netconnectionitem As shell32.folderitemDim verb As shell32.folderitemverbSet netconnection = mshell.namespace(49)If ObjPtr(netconnection) = 0 Thenexcnetlinkmenu = FalseGoTo exitfunctionEnd IfDim flag As Boolea
35、nflag = FalseFor Each folderitem In netconnection.itemsIf folderitem.Name = adaptername ThenSet netconnectionitem = folderitemflag = TrueEnd IfNextIf flag = False Thenexcnetlinkmenu = FalseGoTo exitfunctionEnd IfFor Each verb In netconnectionitem.verbsIf verb.Name = menuname Thenflag = Trueverb.doit
36、excnetkinkmenu = TrueGoTo exitfunctionEnd IfNextIf flag = False Thenexcnetlinkmenu = FalseGoTo exitfunctionEnd Ifexitfunction:Set mshell = NothingSet netconnection = NothingSet floderitem = NothingSet netconnection = NothingSet verb = NothingEnd FunctionPrivate Sub Timer1_Timer()Dim flag As BooleanI
37、f Now = DTPicker1 Thenflag = excnetlinkmenu(Trim(Text1.Text), 停用(&A)End IfIf Now = DTPicker2 Thenflag = excnetlinkmenu(Trim(Text1.Text), 启用(&A)End IfEnd Sub3.5 主窗体设计用户正确登陆该系统后,即可进入主窗体界面,通过菜单实现各种具体的操作。菜单用于给命令进行分组,使用户能够更方面直接的使用命令。在实际运用中菜单有两种基本类型,一是下拉式菜单,有一个主菜单和若干子菜单组成,二是弹出式菜单,是用户在某个对象上单击右键所弹出的菜单,该处使用的
38、是第一类。从本质上讲,他们是与命令按钮相似的控件,有属性时间和方法,都能相应click事件。在设计状态,选择“工具”/“菜单编辑器”命令,就可以打开“菜单编辑器”对话框。在这个窗口中可以指定菜单的结构,设置菜单项的属性8。该菜单项有两个重要的属性:标题(caption):用于设置应用程序菜单上出现的字符。名称(name):用于定义菜单项的控制名。具体设置如下图所示。图4-1 菜单设计 用户登陆后,就可以从菜单选项“设备类型”中进行主机和网络设备的操作,选择实验室后,也可对试验1和实验室2操作以及网络的控制。3.6 用户管理模块设计 根据用户类型的不同,可以包含以下情景:Admin用户可以创建系
39、统管理员或普通用户,修改系统管理员或普通用户的密码,删除系统管理员或普通用户,也可修改自己的密码。普通管理员用户只可以修改自己的用户名和密码。程序运行时首先判断用户是否已经存在,账户和密码是否正确,以及密码长度是否符合规定,如果输入的数据完全符合,则保存到数据库,如果更新了用户名,则必须同步更新数据库里面的用户信息。3.7退出登陆直接点击“退出登陆”即结束管理系统的运行。3.8 制作安装程序应用程序开发完成以后,必须制作成安装程序,才能提供给用户使用。制作时,可以使用VB自带的Microsoft Visual Basic 6.0 中文版工具中的“Package & Deployment 向导”
40、进行VB应用程序打包.在打包过程中“Package & Deployment 向导”会搜索必要的VB运行库文件和ActiveX 控件.OCX文件进入安装包. 跟着向导一步步做,这样就完成了系统连编。结 论本程序的设计已经基本完成,它可以实现对网络设备信息的修改,实验室的管理以及网络的控制,虽然总体功能基本实现,但是由于时间仓促,知识欠缺,数据验证不全面,该系统还是存在有一定的问题的,现在系统仍需要进一步改进和完善的几个方面:由于系统的实现是基于网络的,是在网络的基础上进行应用,但是因为条件的限制,只能用普通的小型交换机,在两台机器的情况下组建家庭局域网进行测试,当移植到大的局域网内时是否可行未
41、进行测试。数据库连接不同的机器平台上出现连接不正常,存在缺陷。当然,除了上述的问题外,仍然会存在一些尚未发现的系统缺陷,需要在以后长期测试中不断地改进。参考文献1 黄梯云. 管理信息系统.M. 北京:经济科学出版社,2005:236-2572 麦中凡. 计算机软件技术基础.M. 北京:高等教育出版社,2005:79-1183 张海藩. 软件工程概论.M. 北京:清华大学出版社,2006:98-135 4 谭浩强等. Visual Basic程序设计(第二版).M. 北京:清华大学出版社,2007:171-1835 李春葆等. Visual Basic程序设计教程.M. 北京:清华大学出版社,2
42、006:206-2436 郑有增. Visual Basic 6.0程序设计与实训教程.M. 北京:清华大学出版社,2005:151-178 7 龚沛曾. Visual Basic 程序设计教程(第三版).M. 北京:高等教育出版社,2007:1-50 8 赛奎春. VB程序开发范例宝典. 北京:人民有点出版社,2009:355-358致 谢经过几个月的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方。整个设计期间都有导师的督促和指导,以及同学们的帮助和支持,才使我顺利坚持到设计的最后。在这里首先要感谢我的毕业设计指导老师黄老师,黄老师在百忙之中关注着课题的进度,从各方面都给予我们关心和帮助,对我的设计提出了非常宝贵的意见和建议。在整个课题设计过程中,黄老师对我的热心指导、严格要求保证了课题的研究和开发工作的顺利完成。感谢我的同学们,感谢他们对我的帮助和支持。感谢计算机科学系的各位领导和老师,在大学期间的学习上给予的无私帮助,在此向他们表示深深的谢意!14