浅谈运用插件技术进行计算机软件设计

来源 :科学时代·下半月 | 被引量 : 0次 | 上传用户:rigebi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:本文作者结合自己多年的实际工作经验介绍了计算机软件设计中插件技术的开发应用情况,并以图形标绘软件的研制过程为例进行了详细分析,同时提出了自己的看法和个人意见,仅供参考。
  关键词:计算机;软件;设计;插件
  1前言
  随着计算机技术的飞速发展,人们已经不再满足于开发有限静态功能的软件,在一定的意义下可以与来自用户的新的需求对接是对现代软件的要求,也就是说可以实现软件功能动态的加载。相信都有这种经历。就是自己做的一个系统软件虽然满足了以前用户的需要,但新的用户需要在此基础上进行功能调整,增加其他的功能。如果重新构建这个软件系统就需要花费很大的时间和精力,如果在原有基础上改进则又碰到结构复杂、改进困难等问题。这时候就会想如果程序也象搭积木似的,将增加的模块直接插在原有结构上就好了,这就是在设计系统软件时所说的插件概念。
  2基于插件的应用系统
  2.1基于插件的应用系统体系结构
  基于插件的应用系统一般能够直接调用插件程序,插件安装后就成为该系统的一部分,可以完成特定的功能、处理特定的文件。一个完整的基于插件的应用系统共分2部分:插件主控程序(含插件调度核心模块)以及插件池(存放所有插件)。主控程序通过核心模块提供插件管理功能,主要包括:①注册及卸载插件:插件在使用之前必须注册或存放于特定的路径中,主控程序根据相关配置参数对插件完成初始化工作;②启用及禁用插件:主控程序可以根据用户指令。对某些已装载的插件予以启用或禁用;③显示插件信息:包括插件描述,开发者信息,版本和版权声明等;④配置插件参数:插件本身的运行需要对某些参数进行定制;根据模块规划,插件实现特定的功能并将接口暴露出来,根据需要。可能还需要调用主控程序提供的方法以操作资源或数据。
  2.2基于插件的软件开发方法
  插件化软件开发将软件系统分成1个主系统和若干个子系统。主系统作为1个容器,为插件提供运行的环境,而将这些子系统做成相对独立的插件。插件化软件系统可以划分为主框架和插件2个部分。主框架是系统的核心和基础,它的主要功能应为内核功能和插件管理功能。插件所完成的功能是对主框架功能的扩展与补充。在确定用插件化方式开发一个系统后,需分析哪些功能应该由主框架实现,而哪些功能应该由插件实现。
  为实现主框架/插件结构的软件设计,需要定义2个标准接口:① 主框架实现的主框架扩展接口;② 插件实现的插件接口。主框架扩展接口完全由主框架实现,插件只是调用和使用.插件接口完全由插件实现,主框架也只是调用和使用。主框架扩展接口实现插件向主框架方向的单向通信,插件通过主框架扩展接口可获取主框架的各种资源和数据,包括各种系统句柄.程序内部数据以及内存分配等。插件接口提供主框架向插件方向的单向通信,主框架通过插件接口调用插件所实现的功能,读取插件处理数据等。主框架插件处理功能包括插件注册、管理和调用。插件注册按照某种机制首先在系统中搜索已安装插件,然后将搜索到的插件注册到主框架上,并在主框架上生成相应的调用机制;插件管理完成插件与主框架的协调,为各插件在主框架上生成管理信息以及进行插件的状态跟踪;插件调用则为调用各插件提供相应的功能。
  3插件技术的应用
  3.1可行性分析
  图形标绘软件的主要功能有2大部分:通信资源分布图的制作及管理和网络拓扑示意图的编辑及管理。此外。该软件需要满足一些用户的特殊需求:①需要具备不同业务用户标绘能力:当不同用户(如无线网络设备管理员、有线网络设备员)面对该软件时需要获得不同的业务资源符号以备其进行标绘管理;②需要具备后期升级能力:由于软件设计完成后要扩展其应用领域到不同应用环境,该软件需要在后期新增部分功能,甚至有可能把扩展软件功能的能力提供给用户或第三方厂商,以达到最大限度的功能扩展;③改进软件不应影响既有功能:该软件主要功能相对固定,不需要更改,可以固化为主程序,而改进软件只需要增加或去掉相应的功能调用,如采用”即插即用”的调用方式比改进原有功能对系统的影响要小的多;④需在短期内完成开发:该软件的开发任务工期紧,工作量大,如果将软件分为主件、插件,并将各个插件分配给不同的成员开发。那么在开发中的复杂度势必大大降低。开发的时间也会减少。综上所述,图形标绘软件适合采用插件化体系结构进行设计开发。
  3.2体系结构
  软件中对于各类资源的关联以及生成示意图后的各种调整和修饰功能很多很琐碎.而且在后续的升级改造中很可能会因为用户的需求有所变动,因此考虑将这部分的功能以插件形式实现,而对于相对固定的资源布设、定位、标绘、图形的保存和打开等功能将在主框架程序中实现。根据主程序框架与插件的结构化分析原则,对于该软件系统可以定义以下几个主要插件:①示意图整饰插件:将生成好的示意图加边框、图例、调整颜色、隐藏/显示图标:②图形处理插件:批量调整资源的相对位置,左对齐、右对齐、上对齐、下对齐等;③资源分布插件:将选中资源进行矩形分布、树状分布、圆型分布等;④线路调整插件:调整连接线的颜色、线型、宽度用以标识线路的连接属性(开通、损坏、占用、空闲、申请等);⑤网系选择插件:在不同通信网系间切换。
  3.3设计方法
  在确定系统的需求和体系结构以后其具体的设计步骤如下:① 确定系统的基本功能和插件所要完成的系列化功能或扩展功能;② 定义主程序扩展接口和插件接口;③ 完成主程序设计,主要是对插件处理功能;④ 向插件开发者提供主程序(执行代码),公布扩展接口和插件要实现的接口,可能包括开发用的软件开发工具包;⑤ 插件开发者按要求开发插件,实现插件接KI,并提供主程序测试用插件;⑥ 主程序设计者继续完成内核功能,并可随时公布新增加扩展接口和插件接口;⑦ 实现步骤④一⑥的良性循环,将整个软件系统不断向前进化。
  3.4关键技术及解决方案
  图形标绘软件是以制图为核心功能的软件,需要布设(显示)多种网系资源(即资源符号)。当所需显示的资源数量比较大时,网系内部的资源节点、线路或各个网系之间的资源会在态势图上重叠显示,此时在图上无法看清资源的分布情况且显示刷新速度降低。针对这种情况,在设计时增加了一种显示控制优化策略,制定了不同地图比例尺下各个网系及网系内节点的优先级。在某个比例尺下,资源重叠显示的区域根据优先级程度,优先选择优先级高的资源节点显示,从而使资源符号显示速度提高且不至重叠。优先级包括网系间的显示优先级以及网系内的节点显示的优先级。当地图放大(重叠现象不明显)时,优先级较低的节点逐步显示出来,这样即保证了图形显示的可视性,又提高了显示效率,解决了复杂图形环境下的显示问题。
  具体的冲突显示判断方法如下:
  
  Bi代表第i个冲突资源(O  Level(Bi)=h×( W网系(Bi)+ W节点(Bi))
  其中h取信为1或0,根据该标绘元素是否存当前比例尺下显示而定。W网系(Bi)为该元素所在的网系的优先级权值,W节点(Bi)为该元素在网系内节点类别的优先级权值。根据实际情况得知,不存在网系权值和节点权值相同的地理位置的资源(重复建设),也就是说根据Level(Bi)求出的2个冲突资源的优先级相比只有大于和小于2种情况,所以利用以上的方法即可实现图形资源布设功能并达到优化显示的效果。
  在主程序/插件结构下开发的图形标绘软件,把软件系统划分成一个个的模块,每个模块提供特定的功能。其中主要功能或者说稳定的通用的功能利用主程序进行实现,而对于那些并非所有用户都需要的功能则以插件的方式来实现。这样增强了软件可扩展性,提高了开发效率,节约了资源,提高了软件的重用性,同时也给软件增加了新的生命力。
  4结束语
  插件化的软件体系结构组成清晰、方便扩展、易于维护,很好地实现了软件开发过程中软件模块的“即插即用”。总的来看,基于插件的应用系统存在诸多优势,一定会为系统的设计者带来更多的应用前景和用户体验,实现软件的插件化势必会给电子信息系统的产品带来好处,有利于后续的推广和应用。
其他文献
[摘 要] 针对非航海毕业生海员培训班船舶管理教学的现存问题,从影响因素分析入手,结合教学实践,就如何提高船舶管理教学质量展开讨论并提出了一些建议。  [关键词] 非航海 船舶管理 影响因素 建议    引言  2006年11月,交通部颁布并实施《非航海工科毕业生海员培训管理规定》,2008年12月,交通部海事局又下发《关于船员考试、评估和发证工作有关事宜的通知》,放宽了对非航海毕业生高级海
期刊
[摘 要] 本文通过对高职公共日语课堂教学情景创设的阐述,探讨情景教学应用于日语学习的教学改革实践,试图解决教师在教学过程中如何创设日语教学情景等问题,从而达到培养学生的学习爱好,充分调动学生的学习积极性和主动性,提高教学质量的目的。  [关键词] 情景教学法 情景创设方法 学习环境  一、 情景教学法的定义及其作用  情景教学法,就是指在教学过程中教师有目的地引入或创设具有一定情感
期刊
摘要:陶行知先生曾以“鸡吃米”的演示来阐述教与学的关系。他先是强摁住鸡,抓把米去喂,鸡因害怕,不吃反躲。先生又退至远处,鸡平静下来,向米寻去,自找米吃。先生通过“米喂鸡”和“鸡找米”告诫我们要正确处理教与学的关系,给学生以宽松的环境,让其自主,主动地去寻求知识、获取知识,而不能把知识强加于人。从学生角度看,这也意味着学习方式的转变。在教学实践中,我不断尝试,大胆创新,努力根据学生实际促成学生学习方
期刊
[摘 要]本文通过对高职院校的大学生上网情况的调查和分析,发现沉迷于网络的大学生越来越多,并就如何教育和引导大学生抵制“网瘾”进行探讨与实践。  [关键词]网瘾 大学生 教育   随着社会的发展和因特网的普及,“网络”在我们的生活中渐渐扮演起重要的角色,它的丰富性和便捷性使得人们对它的依赖性日益增强。作为正接受着高等教育的大学生,网络更是成了他们生活中不可或缺的一部分。整日沉迷网络即有“
期刊
[摘 要]通过问卷调查,本文对比分析了上海电力学院70名非英语专业本科生使用英语词汇学习策略的情况,目的在于掌握我校学生词汇学习策略使用情况。本研究结果对学生如何有效地使用学习策略、提高英语水平具有一定的指导意义。  [关键词]非英语专业学生 词汇学习策略  1. 英语词汇学习策略  词汇是学好英语的关键。词汇的传授应该是教学的重点之一。Nation(1990)指出:一个以英语为第二语言的学习
期刊
[摘 要] 本文结合高职工程造价专业工学结合人才培养模式改革实践,阐述了学习领域课程体系构建过程及“3元制”工学结合人才培养模式的内涵与实施。  [关键词]“3元制”工学结合人才培养模式 学习领域课程 工程造价    一、“3元制”工学结合人才培养模式的内涵  “3元制”工学结合人才培养模式是指在构建学习领域专业课程体系基础上,采用校内理实一体课堂教学、模拟企业真实工作环境的校内实践教
期刊
[摘 要]首先介绍面向服务的体系架构(Service-Oriented Architecture, SOA)的基本概念和关键特征,然后针对银电电子对账的具体业务要求,提出基于SOA的银电联网电费对账系统的设计实现,充分利用SOA及Web Service的特性,具有良好的可扩展性和可维护性。  [关键词]SOA Web Service 银电联网 电费对账 可扩展性  1 引言  如
期刊
[摘 要]本文总结了“计算机网络操作系统”课程的教学经验,论述了电大教育的教育对象是应用型人才,根据培养对象的需求,操作系统课程的教学内容、教学方法、实践等方面应突出实用、用得上的特点,课程的安排必须跟实践紧密结合,做到学有所用,学以致用;提出了因材施教、重视实践、建立学习小组的教学思路;也提出了学习这门课程的必要性。  [关键词]操作系统;网络;实践  引言:  随着全球信息化的迅速发展,社会对
期刊
[摘 要]随着信息时代的到来,网络技术的不断更新,新媒体已经渗透到了我们生活的各个方面,而90后大学生正是在新媒体环境下成长起来的。随着90后这个群体中的先锋队迈入大学,作为大学教育工作者,充分了解并掌握90后大学生的思想特点,对开展更好的教育工作显得尤为重要。本文将主要分析新媒体环境下90后大学生的思想特点及其成因,阐述进一步加强大学生教育管理方面的新途径。  [关键词]新媒体环境 90后
期刊
[摘 要]当今体育竞赛比较的不仅仅是体能与技能,更要求运动员在竞技中保持良好的心理状态,才能保证运动员的高水平发挥,这往往成为决定胜负的重要条件。针对比赛中常出现的一些问题,结合实践,对网球运动员的心理训练提出几点自己的看法。  [关键词]网球 运动员 心理素质 训练  当今的体育竞技比赛,已不仅仅是体能与技术的较量了。它不仅要求运动员具有高度精确的感知觉,清晰的运动表现力,灵活快速的反
期刊