软件在线升级设计方案及演变过程分析_第1页
软件在线升级设计方案及演变过程分析_第2页
软件在线升级设计方案及演变过程分析_第3页
软件在线升级设计方案及演变过程分析_第4页
全文预览已结束

下载本文档

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

文档简介

软件在线升级设计方案及演变过程分析摘要:本文通过一个虚拟项目,以时间为序,描述了一个软件在线升级设计方案的演变过程,针对遇到的一些典型问题进行分析,提出了相应的解决方法,并对该方案的一些不足提出改进建议。关键字:在线升级自动升级升级包类工厂Xml一、前言目前,各种业务系统的应用软件,部署方式为B/S结构和C/S结构。B/S由于易于部署、维护,但完成一些复杂业务时性能较弱。C/S结构,通过在客户部署客户端,性能优于B/S结构,但随着客户的增多,各种客户端版本的不统一,造成服务器复杂度提高,性能下降。通过在线升级,可以降低新版本软件的部署费用,提高客户满意度。二、项目背景假设某软件公司,有多个产品线,其中一个项目组负责其中一套应用软件,采用C/S结构设计,在全国各地拥有广泛的用户群。由于原有版本只带有简单的升级功能,需要制定完善的升级方案。如果该升级方案设计实现完美,可以推广到全公司各个产品使用。三、第一次设计方案1、接到项目任务后,需要对需求进行分析,确定设计思路该项目需要完成在线升级的功能,部署时,就得采用客户端-服务器结构,可分别简称为升级工具、升级服务器。升级工具向升级服务器查询升级包,并完成升级包的下载。升级工具,需要完成应用软件的升级,待升级的应用软件,简称为应用程序。为了降低应用程序与升级工具的耦合,升级工具设计为单独的可执行程序,通过应用程序调用执行。此时,确定了定义:升级工具,升级服务器,应用程序,相互关系如下图所示:2、进一步分析升级工具,需要升级自己。升级工具已经加载的DLL,是不能升级的,这需要将升级工具的功能一分为二,简称为升级工具A、升级工具B。升级工具A完成升级工具B的升级,升级工具B完成升级工具A的升级。升级工具两部分的功能,可分别描述为:升级工具A主要完成升级包的查询、下载;更新升级工具B;升级工具B主要完成升级应用程序、更新升级工具A。此时,重新确定了定义:升级工具、升级服务器、升级工具A、升级工具B,相互关系如下图示:四、第二次设计方案1、开发中遇到的问题升级工具B,根据升级对象的特征,需要升级应用程序的文件、数据库结构、下载数据,每部分均通过独立模块完成。由于不同升级包的升级项各不相同,如何协调不同升级包的处理模块,调用、显示界面统一,是需要解决的问题。2、解决办法升级包提供包含各个升级项的配置,由类工厂负责生成的各个升级项的实现类,由升级工具的调度模块统一调用。其结构如下图所示:五、第三次设计方案1、内部测试时遇到的问题由于应用程序的开发人员,与升级工具开发人员分工的不同,分别独立开发、测试自己职责范围内的开发任务。应用程序与升级工具之间的信息交换,如何能够标准化、规范化,如果能够在保持结构不变的情况下,扩展新的功能需求,需要解决。应用程序是一个主干程序,同时可以外挂各种扩展性功能组件。这些扩展的功能组件,大多是为某些特定范围内的客户,或者某些指定客户定制的。当应用程序升级以后,这些扩展组件也需要升级才能正常使用,这样,就需要一个非常灵活的配置。2、解决办法应用程序与升级工具间,通过应用程序列表Xml配置文件,完成数据交换。应用程序每次启动时,将自己的信息写入Xml配置文件。各种扩展的功能模块、升级工具,每次启动时,也将自己的信息写入Xml配置文件。同时,参照此设计,为了降低升级工具A与升级工具B的耦合,减少升级工具B对升级工具A的依赖,升级工具A下载完升级包,将已下载升级包的信息写入到已下载升级包Xml配置文件,启动升级工具。升级工具B完成升级后,将新版本信息写入应用程序列表配置文件,可防止检测升级包出现失误。调整后的结构,如下图所示:六、总结与展望1、当前设计方案总结经过调整后的设计方案,由于是通过应用程序列表的Xml配置文件,实现应用程序和扩展组件的数据交换,此时,扩展组件可以任意扩展,升级工具均可通过Xml配置文件,向升级服务器查询、下载升级包。由于每次下载的升级包数量各不相同,升级工具A与升级工具B通过已下载升级包的Xml配置文件,完成数据交换,灵活、规范。升级工具B采用类工厂设计思路,动态生成各升级项的实现类,安装升级包界面统一、正式。但是,此设计方案只能应用于同一产品及其扩展组件的升级,无法应用于同一台电脑内安装多种不同应用程序的情况。2、展望针对公司产品线的多种产品,均可能安装到同一客户的电脑上。为了规范各个独立的应用程序,采用统一的在线升级界面,可采用以下的解决办法:u将升级工具开发成服务,各个不同应用程序均调用相同的升级工具。u将升

温馨提示

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

评论

0/150

提交评论