基于VB的文件自动更新系统的设计与实现.docx
- 文档编号:5469883
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:44
- 大小:380.44KB
基于VB的文件自动更新系统的设计与实现.docx
《基于VB的文件自动更新系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于VB的文件自动更新系统的设计与实现.docx(44页珍藏版)》请在冰豆网上搜索。
基于VB的文件自动更新系统的设计与实现
中国矿业大学
本科生毕业设计
姓名:
彭鹏学号:
22080611
学院:
信电学院
专业:
信息工程
设计题目:
基于VB的文件自动更新系统的设计与实现
专题:
指导教师:
徐永刚职称:
讲师
2012年6月徐州
中国矿业大学毕业设计任务书
专业年级信息工程08学号22080611学生姓名彭鹏
任务下达日期:
2011年12月14日
毕业设计日期:
2011年12月20日至2012年6月5日
毕业设计题目:
基于VB的文件自动更新系统的设计与实现
毕业设计主要内容和要求:
一、熟练掌握VB编程语言;
二、熟练掌握access编程技术;
三、熟悉C/S构架
三、要求实现软件功能功能,具体要求如下:
1、具有人员身份验证功能
2、实现服务器端的登陆功能和文件接收功能
3、实现客户端的登陆功能和文件发送功
4、设计界面美观,实用性强
5、其他功能
院长签字:
指导教师签字:
郑重声明
本人所呈交的毕业设计,是在导师的指导下,独立进行研究所取得的成果。
所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的内容外,本毕业设计的研究成果不包含他人享有著作权的内容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本论文属于原创。
本毕业设计的知识产权归属于培养单位。
本人签名:
日期:
中国矿业大学毕业设计指导教师评阅书
指导教师评语(①基础理论及基本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):
成绩:
指导教师签字:
年月日
中国矿业大学毕业设计评阅教师评阅书
评阅教师评语(①选题的意义;②基础理论及基本技能的掌握;③综合运用所学知识解决实际问题的能力;③工作量的大小;④取得的主要成果及创新点;⑤写作的规范程度;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意答辩等):
成绩:
评阅教师签字:
年月日
中国矿业大学毕业设计答辩及综合成绩
答辩情况
提出问题
回答问题
正确
基本
正确
有一般性错误
有原则性错误
没有
回答
答辩委员会评语及建议成绩:
答辩委员会主任签字:
年月日
学院领导小组综合评定成绩:
学院领导小组负责人:
年月日
摘要
随着Internet的普及和工业自动化的迅速发展,基于网络的应用软件基本都具备了自动版本升级功能。
而淮北矿业集团新的安全监控监管预警联动系统虽满足了生产需要,但在版本自动升级方面有一定欠缺,本文针对淮北矿业集团实际需求设计了一个文件自动更新系统系统,本系统主要包括两部分:
基于C/S结构的服务器端和客户端。
服务器端主要包括客户管理,文件发送功能。
客户端主要包括用户身份认证和自动升级功能,并对设计过程中出现的问题进行了总结。
关键词:
自动升级;VBWinSock;C/S模式
ABSTRACT
WiththepopularizationofInternetandtherapiddevelopmentofindustrialautomation,networkbasedonapplicationsoftwarebasicallyallhaveautomaticversionupgradefunction.ThoughthenewsafetymonitoringsupervisionearlywarninglinkagesystemofHuaibeiminingindustrygroupmeettheneedsofproduction,itislackinginautomaticupgradeofversionAccordingtotheacturalneedsofHuaibeiminingindustrygroup,thisarticledescribethedesignofanautomaticupdateoffilesystemhissystemmainlyincludestwoparts:
Server-sideandclient-sidebasedonC/S,Serversideincludeclientmanagement,filetransmissionfunction.Theclientincludesuseridentityauthenticationandtheautomaticupdatefeature.Thisarticlealsosummarizetheproblemsduringthedesignprocess.
Keywords:
Automaticupgrade;VBWinSock;C/Smodel
1引言
1.1课题背景
随着网络技术的日新月异,基于网络的各种应用软件层出不穷,而用户的需求也随着使用范围和深度的增加不断扩展,由于网络的分散性,软件提供商无法逐一为用户更新升级,因此网络软件自动升级功能显得尤为重要。
目前软件自动升级功能已经在商业、管理、娱乐等领域得到充分应用,是一项十分成熟的技术[1]。
然而,煤矿的信息化相对于高度信息化的现代IT企业,其信息化程度较为滞后。
淮北矿业集团作为国有大型能源企业,其信息化程度在同行业中名列前茅,但由于其应用需求的特殊性,许多应用软件根据生产和管理需求定制,然后由软件开发商定制开发。
淮北矿业集团的OA系统,生产管理系统、物资管理系统、财务系统等已经十分成熟,但企业近年定制的“淮北矿业集团安全生产监测监控智能联网平台”虽在使用功能上基本满足了企业需求,然而某些功能仍需要完善和补充,其中,全局客户端软件的自动升级更新功能即为函待解决的问题之一。
本文基于此,设计一套文件自动更新系统,以帮助企业解决软件自动更新方面的功能欠缺问题,为企业生产提供服务。
1.2国内文件更新系统发展现状
在因特网出现之前,为了使用户得到升级软件,软件的开发商主要采取邮寄的方法,这种方法的缺点是显而易见的:
一是邮寄速度慢,二是邮件过程中可能会损坏或丢失升级软件,三是邮寄费用对软件开发商来说也是一笔不小的开支。
因特网得到广泛应用后,用户可以从开发商的服务器下载升级软件或由开发商利用电子邮件将升级软件发送给用户,大大提高了软件升级的效率,给用户和开发商都带来了很大的便利[2]。
现在通过因特网升级软件已经被绝大多数软件开发商和用户采纳。
不同的软件尽管功能各异,但其升级的过程都是类似的。
目前大多数应用系统所采用的C/S两层体系结构是自PC诞生以来为克服集中式运算的弊端而应运而生的。
该结构安装、运行在客户端的计算机中,通过局域网或广域网与后台数据库服务器连接、共享数据,并把原始数据或处理后的数据存储在后台数据库中,有效地解决了集中式运算的执行效率低及容量不足等问题,使企业信息系统网络化变成现实[3]。
1.3课题研究的意义和目的
本课题的意义在于通过在了解企业需求的基础上,设计完成企业所需的文件自动升级软件,让用户的软件和服务器端的软件第一时间内同步,满足企业的软件自动更新需求。
1.4课题基本思路
本课题的开发思路是以淮北矿业集团对文件更新的需求为向导,以先进的计算机和数据库技术为主要手段,以现有的局域网为依托,采用Windows平台,利用VB程序设计语言和assess数据库进行设计开发,对系统总体设计、各功能模块设计、数据库设计等进行研究,达到逐步实现文件更新系统系统软件开发的目的。
由于该论文主要针对文件更新系统进行设计,所以主要有以下几方面的工作:
(1)服务器和客户端使用人员的登陆,保证其安全性。
(2)文件更新时数据的在服务器端和客户端之间的传输。
(3)利用access数据库,来记录登陆和更新的情况。
1.5论文主要内容及构成
本文的主要内容为:
(1)能使数据库中的用户登陆
(2)能够检测要更新的文件,方便下一步更新
(3)能够自动传输检测到的更新文件
论文构成如下:
第一章为引言部分,主要论述了选题的背景、发展现状、设计开发的基本思路及研究的主要内容等几个方面。
第二章为系统的结构和开发工具的选择部分,主要论述了系统设计所需的环境、系统的体系结构、开发语言的描述、数据库的选择以及开发语言等问题,为系统的设计开发奠定一个良好的基础。
第三章为系统结构总体设计部分,论述了系统的需求分析、功能描述、功能模块划分等,为系统开发提供一个大的方向。
第四章对设计进行详细的说明。
第五章论文中的典型问题的分析。
第六章总结
1.6小结
本章主要介绍了本课题的选题背景、研究现状。
同时简要的说明了课题研究的基本思路以及论文的主要内容构成,先从起源开始了解,这样为以后论文编写做好了准备。
2开发平台与关键技术
2.1系统开发环境
本系统的软件开发环境为Microsoft公司的MicrosoftVisualBasic6.0和MicrosoftOfficeAccess数据库。
MicrosoftVisualBasic6.0是由微软公司推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。
它编程简单、方便、功能强大,具有与其它语言及环境的良好接口,不需要编程开发人员具备C/C++或者TurboPascal语言知识和特别高深的专业知识,只要懂得Windows的界面及其基本操作,就可以迅速上手,而VB在程序界面设计、多媒体开发方面更是独具优势[4]。
MicrosoftOfficeAccess(前名MicrosoftAccess)是由微软发布的关联式数据库管理系统。
它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点,是MicrosoftOffice的成员之一。
其实Access也是微软公司另一个通讯程序的名字,想与ProComm以及其他类似程序来竞争。
可是事后微软证实这是个失败计划,并且将它中止。
数年后他们把名字重新命名于数据库软件。
Access在2000年的时候成为了计算机等级考试中的计算机二级的一种数据库语言并且因为它的易学易用的特点正逐步取代传统的VFP成为二级中最受欢迎的数据库语言[5]。
2.2开发平台的选择
计算机技术日益发达,存在众多的编程工具,开发语言和数据库技术,因此在选择系统的开发平台时做出了慎重的考虑。
2.2.1应用程序开发语言
如今流行的界面开发工具软件像VB、JAVA、VC等都能够实现强大的功能,并且拥有良好的人机交互界面,还可以与数据库进行连接,成为许多软件开发者的首选前台开发软件。
本系统决定采用VB作为前台开发工具主要有以下几个原因:
(1)可视化的用户界面设计功能,把程序设计人员从繁琐复杂的界面设计中解脱出来。
传统的程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。
如果对界面的效果不满意,还要回到程序中去修改,这就大大影响到了软件的开发效率。
VisualBasic提供了可视化设计工具,把Win-dows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量的程序代码。
只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种控件,并设置这些对象的属性。
VisualBasic自动产生界面设计代码,程序人员只需要编写实现程序功能的那部分代码,从而大大提高了程序的效率。
(2)基于面向对象的程序设计思想。
VisualBasic把程序和数据封装起来成为一个个对象,并且为每一个对象赋予各种属性,使对象成为实在的东西。
编程时,不必编写建立和描述每个对象的程序代码,而是用工具画出来,系统自动生成对象的程序代码并封装起来。
每个对象以图形方式显示在界面上,都是可视的。
(3)事件驱动的编程机制。
在VisualBasic程序设计语言中,对象与程序的交互是通过事件来完成的。
即针对每一对象,可能会有多种事件产生,每一事件都可以驱动一段程序运行,完成相应的工作。
(4)结构化的程序设计语言。
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语句结构,接近于自然语言和人类的逻辑思维方式。
语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且灵活使用的调试器和编译器,并且可以随时运行程序。
而在整个应用程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。
(5)基于构件的程序开发。
VisualBasic程序设计中,可以使用已经设计好的程序构件,通过构件的重用和共享,迅速建立应用程序系统,完成应用程序的开发[6]。
此外,数据管理器(DataManager)、数据控件(DataController)以及数据访问对象(DAO)、ODBCAPI、远程数据对象(RDO)都具有极强的功能。
(1)数据管理器
数据管理器是一个可以完全独立于VB之外的数据管理工具,它具有Jet的数据库引擎,既可以建立和修改数据库,也可以实现对数据库的维护。
它可以操作的数据库包括:
MicrosoftAccess,Dbase,FoxPro,Excel和各种ODBC数据库。
恰当的使用数据库管理器可以方便数据库数据的利用,对系统的开发有很大帮助。
(2)数据控件
所谓数据控件,就是用来在数据库数据和数据感知控件之间提供连接方式的程序接口。
而数据感知控件,就是对数据有感觉,通过建立与数据库的连接,能对数据的变化做出及时反应的控件。
VB提供的数据感知控件包括DBList,DBCombo,DBGrid,MSFLexgrid,Pieture,Label,TextBox,CheckBox,Image和ListBox等。
与数据控件建立了连接的数据感知控件,能够自动的显示来自当前纪录的一个或多个字段内容。
但是,在建立数据库、数据控件、数据感知控件的相互关系时,只需要少量的VB语言程序,甚至只需要通过相应控件的属性设置就可以实现这一功能。
(3)开放式数据库链接编程接口(ODBC)
开放式数据库链接编程接口作为一种接口,可以提供大量的动态库函数,这些函数存储在运行动态库ODBC.DLL(16位)或ODBC.DLL(32位)中。
使用时,只需在VB模块中加入ODBCAPI声明语句,然后在VB编程时,直接调用ODBCAPI函数就可以访问ODBC数据库。
如图2-1所示是数据库访问对象关系图:
图2-1数据访问对象关系图
此外,已完成的应用程序是使用VisualBasic虚拟机的真正.exe文件,可以自由发布[7]。
综上所述,VB完全能够实现对数据库的复杂操作,而且编程简单、方便实用,因此该文件自动更新系统采用VB为前端开发语言。
2.2.2数据库管理系统选择
虽然创建数据库可在多种环境(如Access、Excel、Paradox、SQLServer、Oracle等)下进行,但从数据的使用情况着手,我选择了access数据库。
(1)存储方式简单,易于维护管理
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
(2)面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库
(1)存储方式简单,易于维护管理
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或.accdb)的数据库文件中,便于用户的操作和管理。
(2)面向对象Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。
系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。
(4)集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。
(5)Access支持ODBC(开发数据库互连,OpenDataBaseConnectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。
Access还可以将程序应用于网络,并与网络上的动态数据相联接。
利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。
(6)支持广泛,易于扩展,弹性较大
能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。
还可以通过以Access作为前台客户端,以SQLServer作为后台数据库的方式(如ADP)开发大型数据库应用系统[8]。
总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统管理的各种功能封装在各类对象中。
它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。
通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。
同时,这种基于面向对象的开发方式,使得开发应用程序更为简便[9]。
2.3开发的几种关键技术
2.3.1程序与数据接口
使用VisualBasic作为数据库的前端开发语言,其访问数据库的方法很多,一般情况下分成两大类:
接口对象法API和数据控件法,而每一类又有很多方法。
接口对象法需要程序员编程控制数据库的建立连接、打开数据表、修改数据、关闭连接等所有数据库操作,对程序员要求有相当高的数据库和编程技术。
数据控件法是指编程工具已经将大部分数据库操作集成在控件中,只需对控件进行简单的编程就可以满足所有的需要,大大降低了编程难度、减少了编程所需时间。
VB与数据库之间的接口常用的有5种方法,即:
ADO,ODBCAPI,DAO,ODBCDirect,DAO。
ADO是微软最新的数据访问技术,它实际是一种提供访问各种数据类型的连接机制。
它被设计用来同新的数据访问层OLEDBProvider一起协同工作,通过其内部的属性和方法,提供通用数据访问(UniversalDataAccess)。
它以简单的对象模型为特征,能够更好地与Microsoft和非Microsoft的各种技术结合。
ADO具有较高的访问速度,较低的内存占用,熟悉的界面,还提供了对OLEDB的Automation封装接口[10]。
对于数据库程序设计人员而言,最需要得到的就是一个简单、一致的应用程序编程接口(API),从而使应用程序能够访问和修改众多类型的数据源。
数据源可能像文本文件一样简单,也可有SQLServer2000数据库那样复杂。
此外,API不应该预先设定访问和操作数据源的方式。
典型的数据源依然需要支持开放式数据库连接性(ODBC)标准的关系型数据库,并可通过结构化查询语言(SQL)编写的命令对它进行操作。
Microsoft对这个问题所提供的解决方案是OLEDB,即一组“组件对象模型”(COM)接口,以统一的方式访问存储在不同信息源中的数据。
但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,它并不符合简单化的要求。
而MicrosoftActiveXDataObjects(ADO)正是我们所需要的API,它是一座连接应用程序和OLEDB的桥梁。
ADO就是为微软最新和最强大的数据访问范例OLEDB专门设计的,是一个便于使用的应用程序层接口。
OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。
ADO在关键的INTERNET方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
同时ADO使用了与DAO和RDO相似的约定和特性,简化的语义使它更易于学习。
在典型情况下,需要在编程模型中采用所有这些步骤。
但是,由于ADO有很强的灵活性,所以最后只需执行部分模块就能做一些有用的工作。
例如:
将数据从文件直接存储到缓存行,然后仅用ADO资源对数据进行检查。
以程序员的视角来看,使用ADO对象要比DAO和RDO简单得多。
最主要的一点在于,程序员不用像在使用DAO和RDO那样要从对象模型的顶层开始一步一步地创建子对象。
因此ADO提供了一种更灵活的编程方式[11]。
综上所述,我们最终确定本系统调用数据库方法:
利用ADO数据库控件,在VB中通过数据源(ODBC)实现对Access数据库的访问。
2.3.2SQL技术
(1)SQL简介
结构化查询语言(SQL)是工业标准数据库操作语言,是VisualBasic与数据库引擎之间进行通讯的基本方法,在大多数关系型数据库管理系统中,都需要用到SQL。
SQL是一种数据库编程语言,它的起源与关系数据库紧密相联。
现代的SQL己经发展为关系数据库所广泛使用的标准,并且被ANSI标准所定义。
现在的标准是一个SQL查询至少要包括下面3个元素:
一个动词,例如SELECT,它决定了操作的类型;一个谓词宾语,由它来指定一个或多个字段名,或者指定一个或多个对象;一个介词短语,由它来决定动词在数据库中哪个对象上动作。
当一个SQL语句被传送给一个基于SQL的查询引擎,产生结果数据集合。
结果集合以行(记录)和列(字段)的形式给出。
(2)查询的类型
目前的ANSI标准认可4种执行SQL语句的方法[12]:
交互式SQL:
交互式SQL允许在一个类似于Dbase的点命令提示符下输入SQL语句。
系统的结构和开发工具交互式Dbase命令的使用与交互式SQL语句的使用非常类似。
交互式SQL称为一个批过程。
如果在SQL提示符下输入一个查询,查询结果将在计算机显示器上显示。
嵌入式SQL:
大多数SQL语言都支持把SQL语句插入到普通的应用程序代码中。
这样,不一定使用固定的用户接口工具就可以通过SQL访问数据库。
嵌入式SQL允许用户通过在SQL语句之前加入一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VB 文件 自动更新 系统 设计 实现