应用系统自动升级 毕业设计论文.doc_第1页
应用系统自动升级 毕业设计论文.doc_第2页
应用系统自动升级 毕业设计论文.doc_第3页
应用系统自动升级 毕业设计论文.doc_第4页
应用系统自动升级 毕业设计论文.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XX院本科毕业设计(论文)应用系统自动升级学生姓名:XX学生学号:院(系):计算机学院年级专业:07网络工程指导教师:XxXXXX教授二一一年五月XX本科毕业设计(论文)摘要I摘要随着软件需求的变化和技术竞争的加剧,软件供应商不断提供更多更好的软件产品和服务来满足日益变化的市场需要。对于通用的软件产品来说,用户数量众多,更新频繁,运行的软件平台和网络环境多,因此在每次新产品发布时如何简单、高效地帮助用户更新换代软件产品,成为领先的软件供应商关注的课题。对商品化软件来说,良好的售后服务是至关重要的,而软件升级是软件售后服务中非常重要的一个部分。在平时开发C/S系统时,大家都清楚C/S系统的最大弱点就是不利于维护,当客户端程序更新时不得不到每个用户的机子上去部署。虽然微软的SmartClient技术使得传统的C/S系统更加利于维护,但现在还不打算采用。SmartClient是一个不同于以往常见的应用程序的比较复杂的系统,所以它的调试技术也比以前复杂的多,至今仍然是一个难点。因为,开发的代码大都不是一个可执行的应用程序,更多的是dll库文件,这样就无法直接调试,必须得写出一个调试程序来进行间接调试。同时因为松耦合和网络加载的原因,使得本地紧耦合调试和实际运行情况多少有些不同。这一点还没有有效的解决办法。尽管VS2005推出了ClickOnce,也具有实现自动更新的功能,但其可控性差和不够灵活等缺陷,导致其实际用途较少。而UpdaterApplicationBlock组件的配置和使用相似地麻烦,所以我们选择采用传统的自动更新的程序。自动更新的步骤就是客户端检查服务器端的版本号是否比本地的新,如果不同于本地版本,就向服务器请求下载文件。在这里我们服务器端部署的升级文件是任何人都可以下载的。从上面的描述可以看出,其实所有系统自动升级的步骤都是类似的,所以做一个通用的自动升级程序能够减少不少麻烦。关键词自动更新,服务器端,版本号XX本科毕业设计(论文)ABSTRACTIIABSTRACTWiththeincreasingchangesoftheSoftwarerequirementsandthecompetitionintechnology,Softwarevendorstrytosupplymoreandmoreconvenientsoftwareandservicetomeetthemarket.Forgeneralsoftwareproducts,moreandmoreusersareinvolved,theyhavetoadapttoallkindsofsoftwareplatformandnetworkenvironment,andtheyhavetobeupdatedfrequently.SoitsveryimportantfortheSoftwarevendorstothinkabouthowtosupplymoresimpleandefficientproducts.Asisknowntoall,itshardtomaintaintheC/Ssystem.OncetheClientupdated,wehavetosetupthesoftwareforeverycomputertomakethemupdate.ThoughSmartClientfromMicrosoftmadeitveryeasytorealize,Iignoreit.SmartClientisamorecomplexsystemthanthatwehaveseen.Whichmakesitbecomeverydifficulttodebugthecode.WhenwecodewiththehelpofSmartClient,itwillproducesomeDDLfiles,whichcannotbedebuglikeapplications.Moreover,therearesomedifficultcasesexistedbecauseofloosecouplingandloading.Wehavenotovercomeitsofar.ThoughMicrosofthavereleasedVS2005whichcontainedacomponentnamedClickOnce,whichcouldrealizeupdate.Unluckily,ithassomedefectssuchasbadcontrollingandbadflexible.MayyouwillthinkaboutUpdaterApplicationBlock,yougotit,butitstrivialconfigurationsmakeustired.AnditsveryinconvenienttoconfigureandusetheUpdaterApplicationBlockComponent.Sowechoosetoadopttraditionalautomaticupdatesprogram.Sointheend,Iselectthetraditionalstrategytocompletethistopic.Automaticupdatesprocedureistoclientcheckwhenserverversionnumberisnewerthanthatofclient,anddecidingwhethertoupdatedependontheresults.Everyonecoulddownloadthefilewhichwedeployedontheserver.Accordingtothedescriptionabove,itissimilartoallkindsofAutomaticupdatesoftware.Soifwedesigngeneralpurposesoftware,itwillreducelotsoftrouble.Keywordsautomaticupdates,server,versionXX院本科毕业设计(论文)目录III目录摘要IABSTRACTII1绪论11.1自动升级的背景11.2自动更新系统的研发与现状11.3什么是软件升级31.4软件升级的意义31.5软件升级的现状41.6应用程序的升级41.6.1获得最新版本的软件41.6.2对应用软件进行升级51.7常见的升级方式61.8软件升级原理71.9论文主要的工作内容72相关开发技术和工具介绍82.1Windows应用程序介绍82.2.NETFramework简介82.3ASP.NET的发展基础92.4C#编程语言102.5开发平台112.6通信协议112.7相关知识122.7.1委派122.7.2事件122.7.3线程132.7.4泛型132.7.5装箱与拆箱143需求分析153.1应用需求分析153.2系统功能需求163.2.1系统主要功能分析16XX院本科毕业设计(论文)目录IV3.2.2自动升级原理图174系统设计184.1系统设计思想184.2系统目标205系统实现215.1服务器端215.1.1IIS的安装与配置215.1.2启动Internet信息服务器(IIS)215.1.3服务端配置文件格式225.1.3服务端文件的配置过程225.1.4浏览器访问测试255.1.5上传文件到服务器端265.2客户端275.2.1客户端配置文件格式275.3代码设计276结论34参考文献36致谢37XX本科毕业设计(论文)1绪论11绪论1.1自动升级的背景即便拥有多年软件开发经验的团队也不敢保证自己所做的软件是完美的,它或多或少会存在一些缺陷,甚至会存在诸多的漏洞。在软件的使用中,也会不断发现更多的问题,这些问题可能是软件本身的问题,也可能是运行的软硬件环境变化造成的,而且用户也会对软件不断地提出新的要求。所以,软件的升级是不可避免的。对于用户而言,软件升级可以修补漏洞,确保数据安全;可以更新和增加新功能。对于软件开发商而言,为了满足市场需求,也需要不断地升级自己的软件,力求做得更好。相信有许多程序员都喜欢用Winform做开发吧?因为Winform相对Webform而言,优点是,功能更强大,编程更方便。但是它的缺点,就是软件的安装及维护是相当麻烦的,要实现软件更新,需要到客户端一台一台地升级。当然,实现应用系统自动更新功能有很多方法,但是他们的基本原理是大同小异的。自动更新的步骤就是客户端检查服务器端的版本号是否比本地的高,如果高于本地版本,就向服务器请求下载文件。在这里我们服务器端部署的升级文件是任何人都可以下载的。从上面的描述可以看出,其实所有系统自动升级的步骤都是类似的,所以做一个通用的自动升级程序就可以减少不少麻烦。实现软件的自动升级存在的困难:第一,为了查找远程服务器上的更新,应用程序必须有查询网络的途径,这需要网络编程、简单的应用程序与服务器通讯的协议。第二是下载。下载看起来不需要考虑联网的问题,但要考虑下载用户请求的文件,以及在没有用户同意时下载大文件。友好的自动更新应用程序将使用剩余的带宽下载更新。这听起来简单,但却是一个技术难题,幸运的是已经有了解决方法。第三个考虑因素是使用新版应用程序更换原应用程序的过程。这个问题比较有趣,因为它要求代码运行时将自己从系统删除,有多种办法可以实现该功能,本文程序主要通过比较新旧版本的版本号来实现替换新版本应用程序的功能。1.2自动更新系统的研发与现状自动更新特性是通用软件的常用特性,当前国内外各大软件提供商都对软件更新系统投入相当的关注和研发力量,并且已有一些软件产品已经发布。经研究,当前市场上存在的更新工具主要有四种:XX本科毕业设计(论文)1绪论21)基于Client/Server架构的自动更新工具此类工具界面嵌入在产品程序中或与产品程序集成,用户启动产品客户端,程序搜索可更新的软件包,下载后自动安装。代表产品有金山毒霸和诺顿(NortonAntivirus)。以金山毒霸为例,其产品特性如下:支持20多个服务器,从中选择最快的服务器下载升级工具嵌入在产品中,升级界面为定制的向导式界面更新前通过检测分析来确定要下载和更新的内容文件支持HTTP下载,不支持FTP下载,支持代理服务器,不支持断点续传更新过程中若有失败则可以撤销更新支持更新自身程序更新结束时能重启软件2)直接使用安装程序的自动更新系统此类系统能自动检测是否有更新,后台下载安装程序,用户运行安装程序的形式来安装,一般用于升级补丁程序。代表产品有MicrosoftWindowsUpdate工具。其产品特性有:支持单服务器,支持但产品后台下载安装程序,安装程序是一个完整的可执行程序包,下载时用户无需操作,下载完成通知用户采用系统默认的网络设置下载,由于安装包文件会比较多,下载量大,支持断点续传用户运行安装程序,安装过程就是安装某个更新包,安装后可卸载更新包安装结束时能重启软件此特性演变成Microsoft.NET中的智能更新服务3)基于Web/ActiveX的自动更新工具此系统的界面为WEB页面,用户首先接受下载一个具有更新功能的ActiveX控件,此ActiveX控件自动运行,搜索下载可更新的内容,并在下载后自动更新。代表产品有MicrosoftPlatformSDKUpdate工具。界面是WEB页面进行,通过运行Active控件执行功能一个产品一个站点,完全定制的更新内容后台自动检测、下载和安装软件采用浏览器的网络设置,下载不支持断点续传XX本科毕业设计(论文)1绪论3更新失败不可撤消更新更新后能重启的软件4)采用后台服务形式的自动更新工具此系统采用后台服务的方式运行在用户计算机,服务程序自动检测、下载和安装软件。如InstallShield的自动更新服务系统。制作产品安装程序时设定更新服务信息,安装产品时将服务程序安装到用户计算机,安装程序和更新服务程序集成得比较好系统启动服务程序,后台检测、下载和安装软件包,没有更新界面采用浏览器的网络设置,下载支持断点续传更新失败可撤消更新更新后能重启的软件1.3什么是软件升级软件产品技术复杂,功能需要不断完善,要不断更新、修改,这就是软件升级。对于软件版本,前一部分数字的递增表示该软件产品有较大的,往往带有实质性的改进,后一部分数字的递增则表示只有局部的、较小的改进,通常是对较小的bug或安全性的修改或对性能的较小的提高。为了为维护软件项目,我们提出了对版本进行管理控制的要求。而对于用户来说,版本直接体现在版本号命名上。那么,如何对版本号进行命名呢?我查了许多资料,希望能够解释的比较具体。下面让我们看一下比较普遍的三种命名格式。GNU风格的版本号命名格式:主版本号.子版本号.修正版本号.编译版本号示例:1.2.1,2.0,5.0.0Windows风格的版本号命名格式:主版本号.子版本号修正版本号.编译版本号.NETFramework风格版本号命名格式:主版本号.子版本号.编译版本号.修正版本号在本文中,软件升级包括安装计算机上已有软件的新的版本、从原版本上升到新的版本、对现有软件的更新。1.4软件升级的意义面对目前计算机应用的普及,越来越多的行业离不开计算机,这无疑给计算机软件开发人员和软件供应商带来很大压力。对计算机软件行业而言,计算机技XX本科毕业设计(论文)1绪论4术的普及既是挑战也是机遇。必须承认,软件供应商已经为我们提供了优质的软件和服务,但这仍然不能满足用户们的需求。几乎同时在每个行业的每台计算机上都同时安装了数十款软件,对于用户数量较多的企业,寄希望于系统维护人员去更新每一台计算机上的应用软件简直是天方夜谭。他们更希望软件供应商能够提供带有自动更新功能的软件,这样似乎更人性化。面对这些需求,本课题试图寻求一种Windows应用系统从开发和变化的角度来适应市场需求和工程领域的实际需求,以减少系统维护人员的压力,提高他们的工作效率,以求得最大的经济效益和社会效益。在软件工程中,软件升级属于软件维护阶段。通常有四类维护活动:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论