(精品)软件体系结构讲义九:软件框架构造技术及案例分析.ppt

(精品)软件体系结构讲义九:软件框架构造技术及案例分析.ppt

  1. 1、本文档共135页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 报告分为四个部分,首先简单回顾软件构造技术的发展历史;然后对软件框架的有关方面进行概述,包括软件框架的定义和相关方法学;最后进行总结以及浅谈一点对学位论文的考虑。 * * * 我们开发框架目的是实现领域共性,并支持领域变化性。因此需要在框架中设置扩展点,目的是提高框架的灵活性和可复用性 * * * * 在基于构件组装的框架扩展点的设计主要通过接口调用和构件组装两种途径。 利用接口调用处理基于构件的系统功能的变化性。构件接口定义和实现分离的特性本身就可以支持构件功能的特定行为、算法和实现的变化。 还可以利用插件的形式来支持 构件组装可以处理构件系统结构的变化性。以下列举出不同的组装机制以及相应的实现方法。 * 插座-插件扩展模式支持用户完成的特定算法的加载和执行,考虑在CBSF框架中,由计算构件完成一个复杂的、包括局部变化性的处理流程,其中变化部分需要在框架扩展中由用户提供。一种实现途径是:将流程处理中不变的部分设计为Socket构件,而将用户完成的部分实现为Plug构件(或简称插件),并且Socket构件能够动态加载并直接调用插件提供的功能。目前许多软件通过插件方式支持扩展,如Web浏览器通过插件以处理网页中特定的内容,而一些图像处理软件则支持将实现特定图像处理效果的功能作为插件动态加载并执行。 通过抽象构件作为应用构件的占位符,定义应用构件和框架的协作关系。 CBSF框架在通过调用应用构件功能接口实现应用功能变化性的同时,也定义了应用构件的接口约束,抽象构件显式描述了应用构件在协作中扮演的角色,并通过角色/构件组装建立框架和应用构件的联系,实现框架扩展。 将领域共性部分在模板构件内部实现,而通过模板的参数化方式处理变化性。在领域应用中,如果存在着基本一致的处理算法,那么可以将其实现于一个模板构件中,同时在模板构件中尽可能多地涵盖了各种变化性处理,并通过参数设置选择一种或多种变化性以实现扩展,具体的参数化方式可以包括数值参数设置和类型参数设置两种方式。 将框架提供的体现领域共性的功能暴露到框架外部,并被应用构件调用,实现被调用扩展。框架内部实现了领域的共性,一般来说,这些共性功能由框架计算构件承担,如果直接由应用构件访问计算构件,则会在一定程度上破坏框架的封装性,因此需要为计算构件访问提供一致的接口形式,达到该目标的途径是采用一个外观接口构件,封装内部接口并向外提供。 * * 脚本模式实现一个包括多个构件协作流程的定制,并且能够组装应用构件 ,在CBSF中,脚本可以用于定义构件的配置及连接关系,这需要定义脚本语言的语法,并提供脚本的定义和解释执行工具。 以相似的方式连接数目不定的框架构件和应用构件,并能够处理多选多的变化性。大部分CBSF扩展模式主要提供了多选一变化性的支持,即一次只能连接一个应用构件以处理特定的变化性。当需要处理更为复杂的变化性时,可以采用消息服务连接多个应用构件。 在进行构件连接的同时提供相关的服务和运行环境,同时为应用构件定义接口约束。在CBSF扩展中,框架除了调用应用构件提供的特定于应用的功能外,还往往需要为应用构件提供相应的运行环境,并通过该环境为被组装构件的运行提供了特定的属性,如事务、安全等等。在提供连接的同时,容器的一个优势在于它封装了具体的构件,使得外界只能透过容器边界来访问构件,而容器边界截获了客户(框架构件)对服务(应用构件)之间的消息,从而使得外部访问构件的接口变得一致。 * * 当我们复用一个领域应用框架开发应用系统时,遇到的第一个重要问题就是:我们是否能够理解描述框架的文档? 因为框架覆盖了应用领域的大部分复杂性,需要对这些复杂性进行描述和理解,形成易于理解的框架文档。 框架文档必须在不同的抽象层次进行描述,以适应不同层次和水平的开发者阅读。 下面介绍几种典型的框架描述方法,它们利用不同的途径从不同的角度给出框架的描述。 * 大多数框架使用者对框架的内部细节并不感兴趣,他们希望看到介绍如何使用框架的描述文档,类似“菜谱(Cook book)”的、一步一步的讲述如何使用框架。 Cookbook方法在表达框架的目的和展示实例方面有很好的表达能力,用非形式化的自然语言表示如何使用框架。除了Aactive cookbook 方法给出了对框架设计的理解之外,其它的Cookbook方法几乎没有考虑框架中的设计细节。 * 模式有很多种存在形式,其中面向对象设计模式和主题比较适合于框架设计的描述。 相比之下,主题方法更擅长描述框架如何被使用,而面向对象设计模式擅长描述框架的设计细节。 * 用框架描述语言和基于X

文档评论(0)

119220 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档