软件体系结构风格精选课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件体系结构风格精选课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 风格 精选 课件
- 资源描述:
-
1、软件体系结构风格()体系结构风格概述对在实践中一些常见的体系结构风格(模式)对在实践中一些常见的体系结构风格(模式)的讨论,有助于我们对软件体系结构的理解。的讨论,有助于我们对软件体系结构的理解。对常见体系结构风格的讨论框架对常见体系结构风格的讨论框架(1 1)每一个常见的体系结构风格,都可以看成是一组)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。计算构件以及构件间的交互。(2 2)以图示的方式表示构件和构件间的交互。)以图示的方式表示构件和构件间的交互。定义软件体系结构风格是描述某一特定应用领域中软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。系统组织
2、方式的惯用模式。软件体系结构风格定义的主要内涵:软件体系结构风格定义的主要内涵:定义了一个系统家族,即一个体系结构定义一个词定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。汇表和一组约束。词汇表中包含一些构件和连接件类型。词汇表中包含一些构件和连接件类型。约束指出系统是如何将这些构件和连接件组合起来约束指出系统是如何将这些构件和连接件组合起来的。的。研究意义 体系结构风格反映了领域中众多系统所共有体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。子系统有效地组织成一个完整的系统。特
3、别注意:体系结构风格不是对软件进行分类特别注意:体系结构风格不是对软件进行分类的标准。它仅仅是表示描述软件的不同角度而的标准。它仅仅是表示描述软件的不同角度而已。已。例如:一个系统采用了分层风格,但这并不例如:一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。同一个系妨碍它用面向对象的方法来实现。同一个系统采用多种风格造成了所谓体系结构风格的统采用多种风格造成了所谓体系结构风格的异构组合。异构组合。体系结构风格的四要素(1 1)提供一个词汇表;)提供一个词汇表;(2 2)定义一套配置规则;)定义一套配置规则;(3 3)定义一套语义解释原则;)定义一套语义解释原则;(4 4)定义对基
4、于这种风格的系统所)定义对基于这种风格的系统所进行的分析。进行的分析。经典的体系结构风格 数据流风格:批处理序列;管道和过滤器。数据流风格:批处理序列;管道和过滤器。调用调用/返回风格:主程序返回风格:主程序/子程序;面向对象风格;子程序;面向对象风格;层次结构。层次结构。独立构件风格:进程通讯;事件系统。独立构件风格:进程通讯;事件系统。虚拟机风格:解释器;基于规则的系统。虚拟机风格:解释器;基于规则的系统。仓库风格:数据库系统;超文本系统;黑板系统。仓库风格:数据库系统;超文本系统;黑板系统。管道和过滤器模式:模型 构件:过滤器,接收数据输入,进行转化后输出构件:过滤器,接收数据输入,进行
5、转化后输出过滤器是独立的实体,相互之间没有状态的依赖过滤器是独立的实体,相互之间没有状态的依赖对一个过滤器而言,它上游和下游的过滤器是透明的对一个过滤器而言,它上游和下游的过滤器是透明的交互由管道提供,管道负责连接一个过滤器的输交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入出和另一个过滤器的输入。管道和过滤器模式 管道过滤器通用的结构有:管道过滤器通用的结构有:(1 1)管线:也称为流水线,即限制系统的拓扑结构只能)管线:也称为流水线,即限制系统的拓扑结构只能是过滤器的线性结构;是过滤器的线性结构;如:批处理系统、如:批处理系统、Unix ShellUnix Shell、编译
6、器、编译器(2 2)有界管道:限制了在管道中能容纳或传输的数据量;)有界管道:限制了在管道中能容纳或传输的数据量;(3 3)类型定义管道:也称类型管道,即要求明确定义在)类型定义管道:也称类型管道,即要求明确定义在两个过滤器间传输的数据类型。两个过滤器间传输的数据类型。管道和过滤器模式实例3.2 3.2 经典软件体系结构风格经典软件体系结构风格 数据抽象和面向对象组织模式 面向对象模型面向对象模型 (1 1)封装)封装 (2 2)继承)继承 (3 3)多态性)多态性黑板系统由三部分组成:知识源、黑板数据结构、控制。它仅仅是表示描述软件的不同角度而已。(1)每一层都向它的上一层提供服务。3 客户
7、/服务器风格(4)被解释的程序当前状态的表示 管道和过滤器模式定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。下图是一个基于事件驱动的软件系统的示意图:需要多个领域的专门知识协作解决让知识源响应偶然事件。基于事件的隐式调用模式知识库是仓库系统的典型实例:交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入。仓库系统及知识库模式(1)每一层都向它的上一层提供服务。让知识源响应偶然事件。Net平台也是一个明显的分层系统:软件体系结构风格定义的主要内涵:管道和过滤器模式:模型(2)以图示的方式表示构件和构件间的交互。数据抽象和面向对象组织模式 构件:对象,或者说是抽象数据类型
8、的实例。构件:对象,或者说是抽象数据类型的实例。(1 1)对象是一种被称作管理者的构件,负责保)对象是一种被称作管理者的构件,负责保持资源的完整性。持资源的完整性。(2 2)对象通过函数和过程的调用来交互的。)对象通过函数和过程的调用来交互的。数据抽象和面向对象组织模式 这种模式的两这种模式的两个重要方面:个重要方面:(1 1)对象维护)对象维护自身表示的完自身表示的完整性;整性;(2 2)这种表示)这种表示对其他对象是对其他对象是隐藏的。隐藏的。数据抽象和面向对象组织模式实例人事档案管理系统人事档案管理系统 基于事件的隐式调用模式 对象之间通过方法调用进行交互,但是调用对象之间通过方法调用进
9、行交互,但是调用是隐式的,通过事件机制进行调用触发。是隐式的,通过事件机制进行调用触发。(1 1)对象可以发布(广播)事件。)对象可以发布(广播)事件。(2 2)对象也可以通过事件注册将某一个方法和事件)对象也可以通过事件注册将某一个方法和事件进行绑定。进行绑定。注意:一旦该事件触发,所有与该事件绑定的方法都注意:一旦该事件触发,所有与该事件绑定的方法都将被调用。将被调用。基于事件的隐式调用模式 构件:模块,模块既可以是过程,又可以是事件构件:模块,模块既可以是过程,又可以是事件的集合。的集合。过程可以用通用的方式调用,也可以在系统事件过程可以用通用的方式调用,也可以在系统事件中注册一些过程,
10、当发生这些事件时,过程被调用。中注册一些过程,当发生这些事件时,过程被调用。特点:事件的触发者并不知道哪些构件会被这些事件特点:事件的触发者并不知道哪些构件会被这些事件影响。影响。(1 1)不能假定构件的处理顺序;)不能假定构件的处理顺序;(2 2)不知道哪些过程会被调用;)不知道哪些过程会被调用;(3 3)许多隐式调用的系统也包含显式调用作为构件)许多隐式调用的系统也包含显式调用作为构件交互的补充形式。交互的补充形式。基于事件的隐式调用模式 下图是一个基于事件驱动的软件系统的示意图:下图是一个基于事件驱动的软件系统的示意图:基于事件的隐式调用模式事件驱动风格和面向对象风格的关系事件驱动风格和
11、面向对象风格的关系基于面向对象风格的系统由多个封装起来的对象构成,基于面向对象风格的系统由多个封装起来的对象构成,对象之间通过消息传递实现通信,而事件驱动正是对消对象之间通过消息传递实现通信,而事件驱动正是对消息传递机制的一种实现。所以基于事件驱动风格的系统息传递机制的一种实现。所以基于事件驱动风格的系统往往都是面向对象的。往往都是面向对象的。分层模式一个使用分层模式的系统体系出一种层次结构。一个使用分层模式的系统体系出一种层次结构。(1 1)每一层都向它的上一层提供服务。)每一层都向它的上一层提供服务。(2 2)每一层都使用它下一层的服务。)每一层都使用它下一层的服务。下层无需知道上层的存在
12、,每一层对其上层隐藏其实下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。现细节(虚拟机)。分层模式实例计算机网络的设计 分层模式实例.Net.Net平台也是一个明显的分层系统:平台也是一个明显的分层系统:仓库系统及知识库模式仓库系统体系结构:仓库系统体系结构:能够描述很多系统;能够描述很多系统;共同点是共享数据;共同点是共享数据;仓库系统运行机制:仓库系统运行机制:收集、操作、保存大量的数据;收集、操作、保存大量的数据;知识库是仓库系统的典型实例:知识库是仓库系统的典型实例:具有成长的特性。具有成长的特性。知识库是仓库系统的典型实例:提供领域专门知识(Domain Expert
13、ise)把问题分为几个部分,每个部分独立计算(2)不知道哪些过程会被调用;它仅仅是表示描述软件的不同角度而已。仓库风格:数据库系统;这种模式的两个重要方面:共同点是共享数据;响应黑板上的变化。对常见体系结构风格的讨论框架黑板系统由三部分组成:知识源、黑板数据结构、控制。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。数据抽象和面向对象组织模式(1)每一层都向它的上一层提供服务。所以基于事件驱动风格的系统往往都是面向对象的。即由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中。解释器是一个软件虚拟机,它一般包括四个构件:词汇表中包含一些构件和连接件类型。(4
14、)定义对基于这种风格的系统所进行的分析。仓库系统及知识库模式 仓库系统及知识库模式 在仓库模式中,有两种不同的构件:在仓库模式中,有两种不同的构件:(1 1)中央数据结构构件:代表系统当前状态;)中央数据结构构件:代表系统当前状态;(2 2)一些相对独立的构件的集合:这些构件对中央数)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。据存储进行操作。仓库系统及知识库模式 在仓库模式中,各个组件之间进行数据交换,在仓库模式中,各个组件之间进行数据交换,可以使用两种不同的方式:可以使用两种不同的方式:(1 1)共享的数据放在中心数据库中,所有构件可以通)共享的数据放在中心数据库中,所有构件
15、可以通过访问数据库进行交互;过访问数据库进行交互;(2 2)每个构件维护自己的数据库,通过显示的传递数)每个构件维护自己的数据库,通过显示的传递数据与其他构件进行交互。据与其他构件进行交互。当要交换或共享大量的数据时,仓库模式是最常当要交换或共享大量的数据时,仓库模式是最常用的解决方案。用的解决方案。仓库系统及知识库模式控制原则的选取产生两个主要的子类:控制原则的选取产生两个主要的子类:(1 1)若输入流中某类事件触发系统相应的进程执行,则仓)若输入流中某类事件触发系统相应的进程执行,则仓库是传统型数据库;库是传统型数据库;即由输入事务选择进行何种处理,并把执行结果作为即由输入事务选择进行何种
展开阅读全文