面向构件框架的研究与设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向构件框架的研究与设计   摘要:面向构件软件开发的主要思想是使用现存的构件来建构软件系统,是提高软件开发效率和质量的有效途径,可复用的构件在软件复用技术中作用重大。该文首先阐述了构件的概念和面向构件技术优点,研究并设计了一种面向构件的架构,接着结合现行主流的开源框架,以 eclilpse 插件的方式给予实现和检验;最后,对面向构件技术的发展进行了展望。   关键词:软件复用;构件;面向构件   中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)13-3430-02      1 引言   基于构件软件开发的主要思想是使用现存的构件来建构软件系统。在软件复用方面,传统的开发方法最多只能做到代码复用,面向对象技术促进了软件复用,但也只是实现了类和类继承的复用,对于整个系统来说,还存在很大的缺口,不能做到核心功能的复用。面向构件的开发是软件复用领域的研究热点,被视为软件工业化生产的必由之路。      2 构件技术概要   2.1 构件的定义   什么是构件(component)?“软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖。软件构件可以被独立部署并由第三方任意地组装。”[1] 它的基本理念是把软件开发过程中会重复用到的部分封装起来,等到有新的同样的需求时再调用。被封装的对象类、类树、一些功能模块、(framework)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等都可视为构件。   2.2 面向构件技术   构件技术(如CORBA、COM、JavaBean),关注的是构件的描述方法、调用方法和运行体系,业界用得比较多的是“基于构件的软件开发(CBSD)”。而这里的面向构件的软件开发是指在软件开发中,以构件为中心组织整个开发过程,从分析、设计、开发、测试、发布和管理,一直到维护,整个软件生命周期中的每个阶段都统一以构件为基本单位进行工作。   面向构件的软件开发,使得开发人员能够通过拖拉式的图形化编程方式快速地实现面向构件的系统的设计、开发、组装和调试。整个开发工作屏蔽了技术细节,使得开发工作像“搭积木”一样利用构件库中的每个构件的映射实现编程,从而实现了业务和技术的分离[3]。   2.3 面向构件与面向对象的比较   面向构件的软件开发(CBD),吸收包括面向对象技术在内的众多传统方法和技术的优点。因此,面向构件技术与面向对象技术即紧密相关,又有区别。首先,在概念层面上,对象描述客观世界实体,构件提供客观世界服务; 其次,在复用策略上,对象是通过继承实现复用,而构件是通过合成实现复用; 再次,在技术手段上,构件通过对象技术而实现,对象按规定经过适当的接口包装之后成为构件,一个构件通常是多个对象的集合体。最后,从抽象程度来看,面向对象技术己达到了类级重用(代码级),它以类为封装的单位,构件将抽象的程度提到一个更高层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。   2.4 面向构件的软件生产模式及其优点   面向构件的软件体系,使得用户的需求改变可以直接通过构件装配式的图形化设计思路得以体现,使得软件架构师和程序员跳出传统开发模式的局限,是代码式软件体系的颠覆和革新,使得软件生产有了一全新的模式,如下图 1所示。   面向构件开发能够屏蔽技术实现细节、提高软件的质量和稳定性、得化软件开发流程、提高开发的灵活性、降低大型系统的复杂度和维护难度等优点。目前, CBD主要被用来帮助控制大型系统开发的复杂度和风险,在开发的构造和部署阶段中提供一种以架构为中心和以重用为中心的方法。      3 框架的设计与实现   3.1 设计思想   为降低大型系统的复杂度,软件系统的架构经历了对问题空间分解,垂直分割、横向切割,横切竖割相结合的发展过程。面向构件的思想,就是把复杂业务进行横切竖割的分解,再用一个个的不同粒度的构件“编织”整个架构,它可以把精力全部放在业务功能上而不必操心太多技术细节。 [3]   本系统采用多层次的构件体系,在实现上,利用现有成熟的技术支撑,在 eclipse 平台上,结合开源技术如 Hibernate、Spring、Struts 等,以插件的方式实现框架功能。系统框架如图 2所示。   3.2 具体设计与实现   本平台使用主流的开源框架 Hibernate实现O-R 实体映射;再通过对 Hibernate 的封装,实现与低层数据库无关的通用数据库操作构件。另外,本框架采用现行主流框架 Spring 来实现事务管理。   这里的运算构件层主要用是带静态的方法的Java类来实现,以XML文件描述其接口和参数,对业务逻辑提供接口调

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档