网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章软件体系结构风格详解.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 软件体系结构风格 本章内容 3.1 软件体系结构风格概述 3.2 常用的软件体系结构风格 3.3 新型体系结构风格 3.1 软件体系结构风格概述 软件体系结构是随着软件工程的发展而逐步发展起来的。20世纪90年代,人们开始对软件体系结构进行研究,当时,软件系统程度的提高和规模的扩大使得软件开发人员开始感到很困难,而且,开发出软件的质量也难以保证。软件体系结构概念给人们进行软件开发带来了曙光,至今它已成为现代软件开发过程中一个至关重要的部分 。 MarShaw和DavidGarlan 中提出的软件体系结构定义为:能够用来具体描述软件系统控制结构和整体组织的一种体系结构,能够表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口。 由于软件体系结构作为软件工程的一个独立研究领域出现时间不长,对于软件体系结构概念并没有统一的定义。但研究者们对软件体系结构也达成了一些共识: (1)软件体系结构是对系统的一种高层次的抽象描述。主要是反映拓扑属性,有意忽略细节; (2)软件体系结构是由构件和构件之间的联系组成,构件又有它自身的体系结构; (3)构件的描述有3个方面:计算功能、结构特性及其他特性。 从软件体系结构的定义可以看出,软件体系结构主要涉及构件、构件之间的联系与约束、由构件通过相互交互形成的系统架构三个方面的内容。可用下图来简单表示软件体系结构。 通过使用软件体系结构,可以有效地分析用户需求、方便系统的修改以及减小程序构造风险。随着软件规模的不断增大和复杂程度日益提高,系统框架结构的设计变得越来越关键。 软件框架设计的核心问题是:能否重用已经成型的体系结构方案。由此,产生了软件体系结构风格的概念。软件体系结构风格包括构件、连接件和一组将它们结合在一起的约束限制,诸如:拓扑限制和语义限制等。 3.2 常用的软件体系结构风格 软件体系结构的风格是在开发软件的过程中不断积累起来的,是多年探索研究和工程实践的结果。它由组织规则及结构构成,是描述领域中系统组织方式的惯用模式,是对某一特定领域中系统所共有的结构和语义特性的反映。 体系结构风格的分类: 数据流风格:批处理序列、管道/过滤器; 仓库风格:数据库系统、超文本系统、黑板系统; 独立构件风格:进程通迅、事件系统; 调用/返回风格:主程序/子程序、面向对象风格、层次结构; 虚拟机构格:解释器、基于规则的系统。 管道/过滤器风格 过滤器的基本结构如下图所示: 管道/过滤器结构将数据流处理分为几个顺序的步骤来进行,一个步骤的输出是下一个步骤的输入,每个处理步骤由一个过滤器来实现。 在管道/过滤器风格中,过滤器必须是相互独立的实体,它们相互之间的状态不可共享。每一个过滤器并不能识别它的数据流上游和下游的过滤器的身份,那么就需要在过滤器的输入输出端口的管道必须来保证输入数据和输出数据类型的衔接的正确性。 管道/过滤器风格的系统架构图如下图所示。 管道/过滤器风格的优点 : 设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。 任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接。 整个系统易于维护和升级。 支持并发执行。 传统的编译器是管道/过滤器体系结构风格的另一个著名的例子。编译器由词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成等几个模块组成,一个模块的输出是另一个模块的输入。源程序经过各个模块的独立处理之后,最终将产生目标程序。编译器的框架结构,如图所示。 面向对象体系结构风格 抽象数据类型概念对软件系统有着重要作用,目前软件界已普遍转向使用面向对象系统。这种风格建立在数据抽象和面向对象的基础上,数据表示和相关的基本操作封装在抽象数据类型或对象中。这种模式的构件是对象,或者也可以称为抽象数据类型的实例。对象是一类可称之为管理者的构件实例,因为它负责维护一种资源的完整性。 数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。这种风格的组件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的组件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的,面向对象体系结构如图所示。 面向对象的系统有许多的优点: 一个对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象; 对象将数据和操作封装在一起,提高了系统内聚性,减小了模块之间的耦合程度,使系统更容易分解为既相互作用又相互独立的对象集合; 继承和封装方法为对象重用提供了技术支持。 分层体系结构风格 分层体系结构风格是调用/返回风格的一个代表。层次风格组织成一个层次结构,通过分解,能够将复杂系统划分为多个独立的层次,每一层都具有高

文档评论(0)

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

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

1亿VIP精品文档

相关文档