【VC++开源代码栏目提醒】:网学会员--在 VC++开源代码编辑为广大网友搜集整理了:(硕士学位论文)银行ATMPOS综合前置系统 - 硕士论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
湖北工业大学硕士学位
论文 摘 要 随着计算机技术的不断发展,软件产品已深入到社会的各个领域协助人们完成各种各样的任务。
软件产品的质量在应用中扮演着重要的角色,如何保障高效高质的开发软件产品成为软件产品开发的重要议题。
软件能力成熟度模式,统一过程,UML语言的问世也标志了人类在软件工程领域内的努力。
不可忽视的是,设计模式也扮演着重要的角色,促进了软件业的发展。
设计模式为某些经常反复出现的问题给出了成熟的解决方案,采用设计模式可以避免在同类问题上反复的纠缠,同时也有助于提升软件产品的健壮性。
数据库产品广泛的应用在各个领域,尤以关系型数据库最为突出,在实际应用中居于主导地位。
根据实际情况的需要,可能需要同时使用多个不同厂商提供的数据库产品,而与之相匹配的数据库管理工具却互不兼容,需要使用者在多个管理工具阃切换,操作极为繁琐。
基于Java的可扩展开发平台Eclipse提供了一个开发平台,允许软件以插件的形式在其上运行,由Eclipse来提供统一的、美观的图形界面。
并且由于插件基于同一种架构,因此任何第三方插件都可以和Eclipse无缝的集成在一起扩展其功能。
同时,MVC设计模式和GOF设计模式的广泛应用也对软件产品的开发起着积极的作用。
随着Eclipse插件技术的不断发展,通过插件扩展Eclipse平台功能的应用会越来越广泛。
本文的目标是通过开发一个基于Eclipse平台的多种关系型数据库管理工具来说明设计模式在软件开发过程中的应用。
本文首先阐述了Eclipse的体系结构以及插件开发相关的知识,其次对部分设计模式进行详细的说明,由于设计模式是人类在过去经验总结的基础上得来的,较为抽象,因此文中还给出了相应的示例加以说明。
在充分理解Eclipse插件开发原理和设计模式的基础上,结合实际情况,设计并实现了用于不同数据库产品管理员的插件。
设计模式的应用不仅快速的解决了实际开发中的问题,同时也缩短了软件开发周期。
关键词l设计模式,F圮lipse,插件 湖北工业大学硕士学位
论文 Abstract Witll the development of computer technology,software is used widely in everydomain to help people∞hieve various tasks.In application domain,the software’squality plays all important role.How to eusure the quality with rapid development is nllimportant iSSlle.m invention of C删.RUP and UML indicates people have doneSOmething in sothcare engineer domain.And design pattern also play all important roleand improve the development of software industry.Each design pattern provides thegore ofthe solution to a problem which OCCarS over and 0Vel”again in our environment.Design pattgl”lLs can help US to solve problems quickly,and enhance the software’shaleness. Database also iS used widely i11 each domain.And relational database is the mostimportant product;in fact,most enterprise applications adopt relational databases tostore data.But we may use various database according to environment.Eachmanufacture of databases provides a parfcular tool to manage the relational database.But these tools〔Ire incomparable;we need ehauge our choices to fit the concretedatabase product according to the environment. Eclipse is an extemible development platform for building integrated soft’ware,which based on Java.All sofiware,which be insertcd into Eclipse.are called plug.in.Eclipse provides uniform,mce graphic user interface.Becaase all plug—in has the sRmearchitoctUre.SO each plug-.m earl be inserted irite Eclipse.User doesn’t need consider theComparable ofping-in.At the same time,the genetic application ofMVC design paRemand GOF design pattern has positive effect.With the development ofplug-in based onEclipse.the application will be more and more popular. 111c goal of this thesis iS to design and realize a general relational databasesmanagement tool to centrel various telationai database products.Firstly,it describes thearchitecture of Eclipse and related technelegy.Secondly,some detailed instrnctions aredescribed about design pattern.Because of the abstraction of design paUern,someexamples giveil are to assist the desedptions.Eventually,fully understanding thetheoretic of plug-.m development.according to actual situation designed andimplemented plug·in used on control various relational database.11”application of adesign paUerns not only solve problems rapidly,but also dcctcascs the period of thedevelopment ofsoftware.Keyworda:Design Patter,Ecfipso,Plug-in Ⅱ 诹嘉11工繁失法‘ 学位
论文原创性声明和使用授权说明
原创性声明 本人郑重声明:所呈交的学位
论文,是本人在导师指导下,独立进行研究工作所取得的研究成果。
除文中已经标明引用的内容外,本
论文不包含任何其他个人或集体己经发表或撰写过的研究成果。
对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。
本声明的法律结果由本人承担。
学位
论文作者签名:嘶袋 日期:07年‘月j’日 学位
论文版权使用授权书 本学位
论文作者完全了解学校有关保留、使用学位
论文的规定。
即:学校有权保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权湖北工业大学可以将本学位
论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位
论文。
学位
论文作者签名:唠}孳 指导教师签名 习私 日期:c11年‘月r日 日期: 自皇日 湖北工业大学硕士学位
论文 第1章引言1.1研究背景 随着插件技术的不断发展与完善,无论是在应用领域还是在开发领域插件技术都得到了广泛的应用。
与WEB领域中的应用相比,通过插件来扩展桌面应用相对滞后,一方面是近年来WEB应用的迅猛发展;另一方面虽然部分桌面软件采用插件方式来扩展功能,但却没有一个统一完善的平台为插件提供公共的运行环境。
而开源平台Eclipse〔”的出现改变了这种现状,将插件技术的应用发挥到了极致。
Eclipse是一个开源软件项目,目的是提供一个健壮的、全面的集成开发环境 (ⅢE),由于采用了业界普遍使用的开放系统架构为插件开发提供支持,任何符合该架构的第三方产品都可以与Eclipse平台无缝的结合,使用户不必再为软件产品的兼容性而苦恼。
Eclipse为各种应用软件提供了一个统一的平台,在Eclipse中所有的应用软件被统称为“插件”,Eclipse为它们提供了统一、美观的操作界面。
随着Eclipse插件技术及其应用的发展,插件开发中的问题也逐渐浮出水面。
如何实现插件与Eclipse平台的无缝集成,如何设计插件的体系结构以及如何通过降低插件内各模块『白J的耦合性,提升扩展性、复用性和降低维护成本成为插件开发亟待解决的问题。
设计模式的发展与应用为解决这些
问题提供了解决方案。
1.2国内外对设计模式的研究现状 设计模式为软件开发中经常反复出现的问题提供了解决
方案12】。
因此,结合
软件开发的实际情况,应用合适的设计模式成为解决上述问题的一种有效的途径。
1.2.1 GOF设计模式 国外关于设计模式的研究起步较早。
GOF设计模式12l是第一次将设计模式提升到理论的高度.并将之规范化.一共提出了23种设计模式。
GOF设计模式是一种抽象的概念,并没有具体代码或产品给予直观的印象,它侧重于提供解决软件开发问题的一种成熟的方案,重点描述了耍让代码尽可能的重用这个宗旨。
在可复用面向对象软件的发展过程中,它推动了新的大量的设计模式在
计算机应用各个领域中不断出现,成为了某些
设计模式(如J2EE设计模式l,J)的重要理论基础。
设计模式的应用不仅有利于缩短软件开发周期,提高相似模块的复用性,同时也 湖北工业大学硕士学位
论文提升了软件产品的健壮性,即产品质量。
1.2.2 MVC设计模式 MVC设计模式IM是Xerox PARC在20世纪80年代为编程语言Smalltalk.80发明的一种软件设计模式.至今已被广泛使用,最近几年被推荐为SUN公司J2EE平台的设计模式。
Mvc设计模式强制性的把应用程序的输入、输出和处理分开,将应用程序分为三个核心模块:模型、视图和控制器,分别完成业务逻辑、交互界面和控制模型与视图的调度。
MVC设计模式的内部比较复杂,并不适合小型应用程序。
但是它实现了模型共享,降低了各模块问的耦合性,提高了应用程序的灵活性和配置性,虽然最初构建框架时比较复杂,但提高了应用程序后期的开发效率,并且也使更新与维护变得相对容易。
1.3
论文研究内容 本文所描述的数据库插件用于实现为多个不同类型的关系型数据库提供管理功能,避免由于在多个特定的数据库管理器间频繁的切换而导致工作效率的降低,同时降低了操作的复杂度.这点对熟习Eclipse操作的人来说最为突出。
本文首先讨论了Eclipse的体系结构,然后对它的插件开发环境和开发原理做了技术分析。
在此基础之上,分析了基于Eclipse开发平台的数据库插件结构.并提出了一种充分利用现有技术,采用MVC设计模式将插件分为视图、模型和控制器三部分,并结合GOF设计模式和扩展点设计模式完成相应。
其中通过Eclipse提供的扩展点设计模式和SWT/JFage技术来实现视图部分;在模型中应用合适的GOF设计模式完成相应的业务逻辑以满足插件的应用需求;事件监听器则作为控制器用于协调视图和模型。
本文的研究工作包括以下几个方面: (1)Eclipse平台体系结构及其插件开发技术的研究与分析。
(2)GOF设计模式的研究与分析。
(3)MVC设讣模式及其实现方案的研究与分析。
(4)结合上述三点实现了一个基于Eclipse平台,工作在Windows操作系统上 的数据库管理插件。
1.4
论文的组织结构 本文内容的组织结构如下: 湖北工业大学硕士学位
论文 第l章阐述了本文的研究背景,国内外关于设计模式的研究现状以及研究的内容和目标。
第2章描述了Eclipse的体系结构、插件的开发原理,并对开发中应用到的G-OF设计模式和MVC设计模式进行了细致的阐述。
第3章给出插件需求,设计原则,实现环境和应用环境,并作了需求分析和模块设计。
第4章在第3章中需求分析和模块设计的基础上,详细的阐述了设计模式在插件开发中的复合应用。
第5章是全文内容的总结,并阐明了下一步的研究方向。
湖北工业大学硕士学位
论文 第2章EcI ipse与插件开发概述2.1 Eclipse概述2.1.1 Eclipse简介 开源软件(open SOUrCe software,OSS)是公
开源代码的软件。
开源软件的重要特征包括公布源代码以及
免费使用软件。
Eclipse就是一个开源的软件产品,最初由IBM公司投资4千万美金开发研制。
2001年发布时由于设计缺陷饱受业界批评。
直到2003年,Eclipse发布2 l版时才引起业界的重视,而后,IBM公司把Eclipse作为一个开源项目捐赠给了开源组织Eclipse.org。
从此Eclipse凭借着其独创的平台特性和对插件技术的灵活应用.吸引了众多知名公司加入到该平台,促进了Eclipse平台的迅速发展。
至2006年,Eclipse占有Java IDE市场份额的45%,居于首位。
2.1.2 Eclipse体系结构 Eclipse是一个开放源代码的、基于JAVA的可扩展开发平台,即普遍适用的开放式扩展IDEIlJ。
Eclipse提供了功能丰富的开发环境,允许开发者高效地创建能与Eclipse平台无缝集成的软件(插件)。
Eclipse的体系结构由平台加插件组成。
Eclipse平台运行时(runtime)是整个系统的核心,专门为插件提供运行时容器,其本身并不具备任何面向用户的业务功能,如果没有插件的支持,Eclipse平台的运行时就是一个纯粹的容器,什么也作不了。
除了运行时核心外,Eclir’∞还包括工作平台,工作空同,帮助和团队组件。
在此基础上大量的插件为Eclipse平台提供可用的应用
程序。
Eclipse的体系结构如图2.I所示。
4 湖北工业大学硕士学位
论文 Eclipse平台 l亲具卜 l开发工具I。
泖 l JF“c 圃 :O- I第三方 _1插件 玉. l粤坠l l第三方 :O- _1插件 一…眄习 工作空问 :O- l¥-_-:7y 『1插件 最小运行时核心!.,........,.................—......................。
...,,............,............................: 图2.1 Eclil镕e体系结构图 (1)运行时核心 Eclipse运行时核心lIl主要负责在指定的目录中查找可用的Eclipse插件。
每个插件的manifest文件列举了该插件所需的连接,这些连接包含了提供给其它插件的扩展点以及所需韵扩展点。
运行时核心并不是在启动时加载全部插件,而是根据需要动态加载插件以减少启动时间和资源需求。
(2)工作平台 工作平台就是Eclipse呈现给用户的图形用户界面,除了用于显示菜单和工具外,最重要的一个功能就是组织包含各种视图和编辑器的透视图。
工作平台一个最显著的特征是它是一个原生的应用程序.这点与普通的Java应用程序不尽相同。
这是因为使用了Eclipse用户界面开发包Standard WidgetToolkit(SWT)和JFace来实现.与通过模拟来实现界面的标准Java APIs AWT和Swing实现机制不同,SWT直接映射操作系统的原生窗口。
SWT是Eclipse中一个非常有争议的方面,因为SWT必须与承载Eclipse平台的操作系统相匹配,但是与SWT的实用性相比,这点显得并不是那么重要,因为目前主流操作系统(如Windows,Linux,Solaris,Mac OS X)都支持SWT的各种特性。
虽然Eclipse采用SWT/JFace来支持它的图形用户界面,但这并不意味着在编写Java代码时必须使用这种工具包,AWT/Swing同样也可以,只是在开发基于Eclipse的插件时必须使用SWT/JFacet61tsl。
(3)工作空间 湖北工业大学硕士学位
论文 工作空问用于管理用户资源。
工作空『日J的每个子目录与一个或多个Eclipse项日相对应,每个工程可以包含文件夹和各种格式的文件。
一般而言,文件夹即为工程目录的子目录,但是可以处于文件系统中的任何位置,并不要求一定是项目文件夹的子项目。
工作空间同时维护用户对资源操作的历史记录,减少丢失资料的风险。
这使得用户可以即时取消当前操作或者回复到以前的版本。
当然,这取决于用户对历史记录的设置。
工作空间也负责通知用户与工程相关工具的更改。
这些工具负责标记与工程相关的属性。
(4)帮助与团队支持 与Eclipse平台相似,帮助组件本身也是个可扩展的文档系统。
插件开者提供采用XML文件格式定义
导航结构的mML
文档。
通过映射方式,插件
文档可以与Eclipse自身的帮助文档
系统无缝的集成在一起。
团队支持插件运用版本控制系统(CVS)口l管理用户项目资源.并通过定义所需的工作流从“仓库”存储和还原项目资源。
Eclipse的设计思想是一切皆为插件。
E∞lipse的运行时核心是非常小的,其它所有的功能都以插件的形式附加到此核心之上。
这样的功能插件包括它的图形API (swl讦ace)、Java开发环境插件(JD一1lf,】)、插件开发环境(PDEll心)等。
Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单而且无缝集成。
Eclipse对这些插件是动态载入动态调用的。
所谓动态调用就是指只有当Eclipse启动后要真正用到这个插件时,它才会被调入内存,当插件不再被使用时,就会在适当的时候将插件清理出内存。
因此即使安装了多个插件。
也不必担心那些不
常用的插件占据内存,消耗有限的系统资源。
利用这些插件,可以重复的构建新插件(工具)来满足应用的需求,实际上Eclipse也是通过其自身来完成开发任务的。
2.1.3 SWT,lFace SwT,陌∞c本质上是软件库,由包含Java类和接口的包组成。
通过SWT/J-Face提供的组件可以构建形式丰富的图形用户界面。
采用这种方式开发的图形用户界面不仅运行速度快,而且能有效的使用内存,同时能根据基于的操作系统显示与该操作系统提供的默认样式相同的用户界面。
并且不需要重新编写代码。
而其它的Java图形库并没有提供上述的特性。
虽然SWTIJFace都实现了上述目标,但是它们实现的机制却有所不同。
swr采用手动方式提供对操作系统内部的访问与控制,但是使用时极其复杂。
与swr 6 湖北工业大学硕士学位
论文相比,JFace提供了创建图形用户界面的捷径,简化了图形用户界面的开发,自动地完成了许多功能,节省了用swT创建所需的时间。
在事件处理方面,SWT需要分别对每个事件进行单独的处理,因此编写的代码不仅冗长而且复杂。
/Face则将事件的处理组合在一个单一的对象里,使得开发人员只需要关心对事件响应的处理,而不必关心事件是如何触发的。
因此,使用JFacc添加上下文菜单、工具栏等GUl组件相对容易。
同时,JFace在对系统内部的控制和访问以及事件处理也相对容易,但这并不意味着JFace是用来取代SWT的,因为它失去了对图形用户界面操作的弹性。
因此,在开发插件的图形用户界面时需要综合考虑这两种库应用。
2.1.4 Eclipse的未来 Eclipse支持富客户端平台(Rich Client Platform,RCP)u”应用开发模式,用户试图除了将EClipse作为开发工具的基础平台外,还可作为更普遍的商业应用基础。
也就是说,除了将Eclipse作为最基本的开发平台使用外,更多的是将其作为一个通用的承载其它应用软件的应用平台,提供统一的界面样式和运行内核,通过加载各种实用的插件为用户提供应用体验。
美国国家航空航天管理局(NASA)火星探测计划的管理用户界面就是一个EclipseRCP应用。
通过这个应用,工作人员可以控制在火星上运行的火星车,这也是一个比较著名的EclipseRCP应用.2.2 OSGi技术概述2.2.1 0SGi简介 OSOi(OpenServiceGatewayInitiative)【“】技术提出了面向可复用组件的标准化规范。
OSGi技术提供了面向服务的框架,可以在运行期安装、升级或者移除软件组件而且不需要中断操作,同时软件组件可以动态的发现和使用其它库或应用程序以利于相互问更好地协作。
因为OSGi技术提供了预构建和预测试的组件子系统,所以采用OSGi技术在缩短开发时间的同时也降低开发成本。
OSOi技术致力于解决与软件重用性、健壮性和成本相关的问题。
OSOi联盟已经开发出了多个满足通用功能的标准组件接口,比如H1_阻服务器、配置、日志、安全、用户管理和XML等。
兼容性插件机制使得用户可以根据性能和成本的需求从不同的厂商手中获得所需要的软件。
2.2.20SGj架构 从Eclipse 3.0起采用OSCrill2J作为它的插件架构【“,OSCd架构主要由三种元件 湖北工业大学硕士学位
论文组成:框架、服务包和服务,其核心组件是OSGi框架。
框架架构在JvM(JavaVirtualMachine)基础上,服务包就是执行在框架上的应用程序,而服务就是服务包所提供或需求的界面服务。
OSGi框架是集成的服务平台,主要功能是提供服务包的执行环境咀及动态地管理服务包的生命周期。
同时OSG-i框架也提供相应的管理机制允许在其上运行的服务包可以提供或使用服务。
OSGi框架的层次如图2.2所示: 图2.20SGI框架层次图 (1)执行环境 OSGi的执行环境也即Java环境规范,比如J2SE,cDc,MIDP等都是有效的执行环境。
OSGi平台标准化执行环境并作了些改动指定了在执行环境中使用OSGi的最小需求。
(2)模块 模块层定义了类的加载策略。
OSGi框架是基于Java技术并添加了模块化,不仅功能强大而且能快速地指定类加载模块。
在Java中,单一的类路径包含了所有的类和资源,而OS(〕i技术则为每个模块添加相应的私有类和模块间的控制连接,使厂商能够部署封闭系统或完整的用户
管理系统。
(3)生命周期 生命周期层负责添加可被动态安装、启动、停止、更新和卸载的bundles。
除了添加用于在运行时管理模块的API外,bundles依赖于模块层对类的加载。
一般而言.生命周期实现.