软件体系结构风格精选教学课件.ppt

上传人(卖家):ziliao2023 文档编号:6423795 上传时间:2023-07-07 格式:PPT 页数:47 大小:1.57MB
下载 相关 举报
软件体系结构风格精选教学课件.ppt_第1页
第1页 / 共47页
软件体系结构风格精选教学课件.ppt_第2页
第2页 / 共47页
软件体系结构风格精选教学课件.ppt_第3页
第3页 / 共47页
软件体系结构风格精选教学课件.ppt_第4页
第4页 / 共47页
软件体系结构风格精选教学课件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、软件体系结构风格()体系结构风格概述对在实践中一些常见的体系结构风格(模式)对在实践中一些常见的体系结构风格(模式)的讨论,有助于我们对软件体系结构的理解。的讨论,有助于我们对软件体系结构的理解。对常见体系结构风格的讨论框架对常见体系结构风格的讨论框架(1 1)每一个常见的体系结构风格,都可以看成是一组)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。计算构件以及构件间的交互。(2 2)以图示的方式表示构件和构件间的交互。)以图示的方式表示构件和构件间的交互。2 定义软件体系结构风格是描述某一特定应用领域中软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。系统

2、组织方式的惯用模式。软件体系结构风格定义的主要内涵:软件体系结构风格定义的主要内涵:定义了一个系统家族,即一个体系结构定义一个词定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。汇表和一组约束。词汇表中包含一些构件和连接件类型。词汇表中包含一些构件和连接件类型。约束指出系统是如何将这些构件和连接件组合起来约束指出系统是如何将这些构件和连接件组合起来的。的。3 研究意义 体系结构风格反映了领域中众多系统所共有体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。子系统有效地组织成一个完整的

3、系统。4特别注意:体系结构风格不是对软件进行分类特别注意:体系结构风格不是对软件进行分类的标准。它仅仅是表示描述软件的不同角度而的标准。它仅仅是表示描述软件的不同角度而已。已。例如:一个系统采用了分层风格,但这并不例如:一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。同一个系妨碍它用面向对象的方法来实现。同一个系统采用多种风格造成了所谓体系结构风格的统采用多种风格造成了所谓体系结构风格的异构组合。异构组合。5 体系结构风格的四要素(1 1)提供一个词汇表;)提供一个词汇表;(2 2)定义一套配置规则;)定义一套配置规则;(3 3)定义一套语义解释原则;)定义一套语义解释原则;(4

4、 4)定义对基于这种风格的系统所)定义对基于这种风格的系统所进行的分析。进行的分析。6 经典的体系结构风格 数据流风格:批处理序列;管道和过滤器。数据流风格:批处理序列;管道和过滤器。调用调用/返回风格:主程序返回风格:主程序/子程序;面向对象风格;子程序;面向对象风格;层次结构。层次结构。独立构件风格:进程通讯;事件系统。独立构件风格:进程通讯;事件系统。虚拟机风格:解释器;基于规则的系统。虚拟机风格:解释器;基于规则的系统。仓库风格:数据库系统;超文本系统;黑板系统。仓库风格:数据库系统;超文本系统;黑板系统。7 管道和过滤器模式:模型 构件:过滤器,接收数据输入,进行转化后输出构件:过滤

5、器,接收数据输入,进行转化后输出过滤器是独立的实体,相互之间没有状态的依赖过滤器是独立的实体,相互之间没有状态的依赖对一个过滤器而言,它上游和下游的过滤器是透明的对一个过滤器而言,它上游和下游的过滤器是透明的交互由管道提供,管道负责连接一个过滤器的输交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入出和另一个过滤器的输入。8 管道和过滤器模式 管道过滤器通用的结构有:管道过滤器通用的结构有:(1 1)管线:也称为流水线,即限制系统的拓扑结构只能)管线:也称为流水线,即限制系统的拓扑结构只能是过滤器的线性结构;是过滤器的线性结构;如:批处理系统、如:批处理系统、Unix Shell

6、Unix Shell、编译器、编译器(2 2)有界管道:限制了在管道中能容纳或传输的数据量;)有界管道:限制了在管道中能容纳或传输的数据量;(3 3)类型定义管道:也称类型管道,即要求明确定义在)类型定义管道:也称类型管道,即要求明确定义在两个过滤器间传输的数据类型。两个过滤器间传输的数据类型。9 管道和过滤器模式实例3.2 3.2 经典软件体系结构风格经典软件体系结构风格 10 数据抽象和面向对象组织模式 面向对象模型面向对象模型 (1 1)封装)封装 (2 2)继承)继承 (3 3)多态性)多态性11黑板系统由三部分组成:知识源、黑板数据结构、控制。它仅仅是表示描述软件的不同角度而已。(1

7、)每一层都向它的上一层提供服务。3 客户/服务器风格(4)被解释的程序当前状态的表示 管道和过滤器模式定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。下图是一个基于事件驱动的软件系统的示意图:需要多个领域的专门知识协作解决让知识源响应偶然事件。基于事件的隐式调用模式知识库是仓库系统的典型实例:交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入。仓库系统及知识库模式(1)每一层都向它的上一层提供服务。让知识源响应偶然事件。Net平台也是一个明显的分层系统:软件体系结构风格定义的主要内涵:管道和过滤器模式:模型(2)以图示的方式表示构件和构件间的交互。数据抽象和面向对象组

8、织模式 构件:对象,或者说是抽象数据类型的实例。构件:对象,或者说是抽象数据类型的实例。(1 1)对象是一种被称作管理者的构件,负责保)对象是一种被称作管理者的构件,负责保持资源的完整性。持资源的完整性。(2 2)对象通过函数和过程的调用来交互的。)对象通过函数和过程的调用来交互的。12 数据抽象和面向对象组织模式 这种模式的两这种模式的两个重要方面:个重要方面:(1 1)对象维护)对象维护自身表示的完自身表示的完整性;整性;(2 2)这种表示)这种表示对其他对象是对其他对象是隐藏的。隐藏的。13 数据抽象和面向对象组织模式实例人事档案管理系统人事档案管理系统14 基于事件的隐式调用模式 对象

9、之间通过方法调用进行交互,但是调用对象之间通过方法调用进行交互,但是调用是隐式的,通过事件机制进行调用触发。是隐式的,通过事件机制进行调用触发。(1 1)对象可以发布(广播)事件。)对象可以发布(广播)事件。(2 2)对象也可以通过事件注册将某一个方法和事件)对象也可以通过事件注册将某一个方法和事件进行绑定。进行绑定。注意:一旦该事件触发,所有与该事件绑定的方法都注意:一旦该事件触发,所有与该事件绑定的方法都将被调用。将被调用。15 基于事件的隐式调用模式 构件:模块,模块既可以是过程,又可以是事件构件:模块,模块既可以是过程,又可以是事件的集合。的集合。过程可以用通用的方式调用,也可以在系统

10、事件过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。中注册一些过程,当发生这些事件时,过程被调用。特点:事件的触发者并不知道哪些构件会被这些事件特点:事件的触发者并不知道哪些构件会被这些事件影响。影响。(1 1)不能假定构件的处理顺序;)不能假定构件的处理顺序;(2 2)不知道哪些过程会被调用;)不知道哪些过程会被调用;(3 3)许多隐式调用的系统也包含显式调用作为构件)许多隐式调用的系统也包含显式调用作为构件交互的补充形式。交互的补充形式。16 基于事件的隐式调用模式 下图是一个基于事件驱动的软件系统的示意图:下图是一个基于事件驱动的软件系统的示意图:

11、17 基于事件的隐式调用模式事件驱动风格和面向对象风格的关系事件驱动风格和面向对象风格的关系基于面向对象风格的系统由多个封装起来的对象构成,基于面向对象风格的系统由多个封装起来的对象构成,对象之间通过消息传递实现通信,而事件驱动正是对消对象之间通过消息传递实现通信,而事件驱动正是对消息传递机制的一种实现。所以基于事件驱动风格的系统息传递机制的一种实现。所以基于事件驱动风格的系统往往都是面向对象的。往往都是面向对象的。18 分层模式一个使用分层模式的系统体系出一种层次结构。一个使用分层模式的系统体系出一种层次结构。(1 1)每一层都向它的上一层提供服务。)每一层都向它的上一层提供服务。(2 2)

12、每一层都使用它下一层的服务。)每一层都使用它下一层的服务。下层无需知道上层的存在,每一层对其上层隐藏其实下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。现细节(虚拟机)。19 分层模式实例计算机网络的设计 20 分层模式实例.Net.Net平台也是一个明显的分层系统:平台也是一个明显的分层系统:21 仓库系统及知识库模式仓库系统体系结构:仓库系统体系结构:能够描述很多系统;能够描述很多系统;共同点是共享数据;共同点是共享数据;仓库系统运行机制:仓库系统运行机制:收集、操作、保存大量的数据;收集、操作、保存大量的数据;知识库是仓库系统的典型实例:知识库是仓库系统的典型实例:具有成

13、长的特性。具有成长的特性。22知识库是仓库系统的典型实例:提供领域专门知识(Domain Expertise)把问题分为几个部分,每个部分独立计算(2)不知道哪些过程会被调用;它仅仅是表示描述软件的不同角度而已。仓库风格:数据库系统;这种模式的两个重要方面:共同点是共享数据;响应黑板上的变化。对常见体系结构风格的讨论框架黑板系统由三部分组成:知识源、黑板数据结构、控制。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。数据抽象和面向对象组织模式(1)每一层都向它的上一层提供服务。所以基于事件驱动风格的系统往往都是面向对象的。即由输入事务选择进行何种处理,并把执行结果作为当前状态存

14、储到中央数据结构中。解释器是一个软件虚拟机,它一般包括四个构件:词汇表中包含一些构件和连接件类型。(4)定义对基于这种风格的系统所进行的分析。仓库系统及知识库模式 仓库系统及知识库模式 在仓库模式中,有两种不同的构件:在仓库模式中,有两种不同的构件:(1 1)中央数据结构构件:代表系统当前状态;)中央数据结构构件:代表系统当前状态;(2 2)一些相对独立的构件的集合:这些构件对中央数)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。据存储进行操作。23 仓库系统及知识库模式 在仓库模式中,各个组件之间进行数据交换,在仓库模式中,各个组件之间进行数据交换,可以使用两种不同的方式:可以使

15、用两种不同的方式:(1 1)共享的数据放在中心数据库中,所有构件可以通)共享的数据放在中心数据库中,所有构件可以通过访问数据库进行交互;过访问数据库进行交互;(2 2)每个构件维护自己的数据库,通过显示的传递数)每个构件维护自己的数据库,通过显示的传递数据与其他构件进行交互。据与其他构件进行交互。当要交换或共享大量的数据时,仓库模式是最常当要交换或共享大量的数据时,仓库模式是最常用的解决方案。用的解决方案。24 仓库系统及知识库模式控制原则的选取产生两个主要的子类:控制原则的选取产生两个主要的子类:(1 1)若输入流中某类事件触发系统相应的进程执行,则仓)若输入流中某类事件触发系统相应的进程执

16、行,则仓库是传统型数据库;库是传统型数据库;即由输入事务选择进行何种处理,并把执行结果作为即由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中。当前状态存储到中央数据结构中。(2 2)若中央数据结构的当前状态触发系统相应的进程执行,)若中央数据结构的当前状态触发系统相应的进程执行,则仓库是黑板系统。则仓库是黑板系统。即由中央数据结构的当前状态决定进行何种处理。即由中央数据结构的当前状态决定进行何种处理。25 黑板模式-模型 黑板系统由三部分组成:知识源、黑板数据结构、控制。黑板系统由三部分组成:知识源、黑板数据结构、控制。26 黑板模式:功能划分知识源知识源 把问题分为几

17、个部分,每个部分独立计算把问题分为几个部分,每个部分独立计算 响应黑板上的变化。响应黑板上的变化。黑板数据结构黑板数据结构 全局数据库,包含解域的全部状态全局数据库,包含解域的全部状态 知识源相互作用的唯一媒介。知识源相互作用的唯一媒介。控制控制 让知识源响应偶然事件。让知识源响应偶然事件。27 黑板模式:知识提供知识源知识源 提供领域专门知识(提供领域专门知识(Domain ExpertiseDomain Expertise)黑板数据结构黑板数据结构 提供数据存储和通信(提供数据存储和通信(Storage and CommunicationStorage and Communication)

18、控制控制 问题解决策略编码问题解决策略编码(Encodes Problem Solving StrategyEncodes Problem Solving Strategy)28 黑板模式特点没有直接的算法可解没有直接的算法可解 多种方法都可能解决问题多种方法都可能解决问题 需要多个领域的专门知识协作解决需要多个领域的专门知识协作解决具有不确定性具有不确定性 数据和解决方案可能错误或变化数据和解决方案可能错误或变化 数据中信噪比的变化数据中信噪比的变化 算法接口的变化算法接口的变化黑板是一种特别的仓库,主要用于需要对凌乱的信息进行黑板是一种特别的仓库,主要用于需要对凌乱的信息进行处理的领域,其

19、控制策略必须是机会主义的。处理的领域,其控制策略必须是机会主义的。29 黑板系统结构 30 黑板系统实例 31 解释器模式解释器是一个用来执行其他程序的程序。解释器是一个用来执行其他程序的程序。解释器针对不同的硬件平台实现了一个虚拟机。解释器针对不同的硬件平台实现了一个虚拟机。解释器将高级抽象层次的程序翻译为低级抽象层次所解释器将高级抽象层次的程序翻译为低级抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语能理解的指令,以消除在程序语言与硬件之间存在的语义差异。义差异。32 解释器模式解释器通常用在程序语言定义的计算和有效硬件操作确定解释器通常用在程序语言定义的计算和有效硬件操作确定的

20、计算之间建立对应和联系。的计算之间建立对应和联系。简单和小规模的解释器只完成基本的信息识别和转换简单和小规模的解释器只完成基本的信息识别和转换复杂的解释器需要从词法到句法、到语法的复杂识别复杂的解释器需要从词法到句法、到语法的复杂识别和处理作为一种体系结构风格,解释器已经被广泛应用和处理作为一种体系结构风格,解释器已经被广泛应用在从系统软件到应用软件的各个层次。在从系统软件到应用软件的各个层次。包括各类语言环境、包括各类语言环境、InternetInternet浏览器、数据分析与转浏览器、数据分析与转换等;换等;LISILISI、PrologProlog、JavaScriptJavaScrip

21、t、VBScriptVBScript、HTMLHTML、MatlabMatlab、数据库系统(、数据库系统(SQLSQL解释器)、各种通信协议等。解释器)、各种通信协议等。33 解释器模式:构件 解释器是一个软件虚拟机,它一般包括四个构解释器是一个软件虚拟机,它一般包括四个构件:件:(1 1)解释引擎)解释引擎(2 2)被解释的伪程序(源代码)被解释的伪程序(源代码)(3 3)解释引擎的控制状态的表示(在某个时刻需要执)解释引擎的控制状态的表示(在某个时刻需要执行哪些指令)行哪些指令)(4 4)被解释的程序当前状态的表示)被解释的程序当前状态的表示解释器通过构建一个虚拟机来延伸当前计算平解释器

22、通过构建一个虚拟机来延伸当前计算平台的功能。台的功能。34 解释器模式:模型 35 C/S风格基本概念 C/SC/S软件体系结构是基于资源不对等,且为实现共享软件体系结构是基于资源不对等,且为实现共享而提出来的,是而提出来的,是2020世纪世纪9090年代成熟起来的技术,年代成熟起来的技术,C/SC/S体体系结构定义了工作站如何与服务器相连,以实现数据和系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。应用分布到多个处理机上。C/SC/S体系结构有三个主要组成部分:数据库服务器、体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。客户应用程序和网络。36所以基于

23、事件驱动风格的系统往往都是面向对象的。知识库是仓库系统的典型实例:软件体系结构风格定义的主要内涵:仓库系统及知识库模式(2)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。让知识源响应偶然事件。(2)不知道哪些过程会被调用;数据抽象和面向对象组织模式实例(1)每一层都向它的上一层提供服务。仓库系统及知识库模式 分层模式实例计算机网络的设计 调用/返回风格:主程序/子程序;在仓库模式中,有两种不同的构件:C/S风格基本概念从某种程度上来说,B/S结构是一种全新的软件体系结构。仓库系统及知识库模式(2)以图示的方式表示构件和构件间的交互。黑板模式-模型把问题分为几个部分,每个部分独立计算

24、 仓库系统及知识库模式 体系结构体系结构3.3 3.3 客户客户/服务器风格服务器风格 37 C/S风格处理流程38 三层C/S风格体系结构39 三层C/S风格处理流程40 B/S风格基本概念浏览器浏览器/服务器(服务器(B/SB/S)风格就是上述三层应用结构的)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器一种实现方式,其具体结构为:浏览器/Web/Web服务器服务器/数据数据库服务器。库服务器。B/SB/S体系结构主要是利用不断成熟的体系结构主要是利用不断成熟的WWWWWW浏览器技术,浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原结合浏览器的多种脚本语言,用通用

25、浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,开发成本。从某种程度上来说,B/SB/S结构是一种全新的软结构是一种全新的软件体系结构。件体系结构。41 B/S风格体系结构4243 C/S与B/S混合之查改有别模型 C/S与B/S混合之内外有别模型 46 经典的体系结构风格(2)对象通过函数和过程的调用来交互的。解释器将高级抽象层次的程序翻译为低级抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语义差异。(4)定义对基于这种风格的系统所进行的分析。(2)一些相对独立的构件的集合:这些构件对中央数

26、据存储进行操作。让知识源响应偶然事件。软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。词汇表中包含一些构件和连接件类型。(3)许多隐式调用的系统也包含显式调用作为构件交互的补充形式。解释器针对不同的硬件平台实现了一个虚拟机。解释器通常用在程序语言定义的计算和有效硬件操作确定的计算之间建立对应和联系。(4)被解释的程序当前状态的表示(1)对象可以发布(广播)事件。解释器通过构建一个虚拟机来延伸当前计算平台的功能。解释器是一个用来执行其他程序的程序。管道过滤器通用的结构有:(1)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。(2)有界管道:限制了在管道中能容纳

27、或传输的数据量;2 经典软件体系结构风格 仓库系统及知识库模式(1)对象可以发布(广播)事件。即由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中。管道和过滤器模式黑板系统由三部分组成:知识源、黑板数据结构、控制。分层模式实例计算机网络的设计让知识源响应偶然事件。(2)对象也可以通过事件注册将某一个方法和事件进行绑定。仓库风格:数据库系统;在仓库模式中,有两种不同的构件:解释器模式:模型 数据抽象和面向对象组织模式提供数据存储和通信(Storage and Communication)交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入。(4)被解释的程序当前

28、状态的表示(4)定义对基于这种风格的系统所进行的分析。让知识源响应偶然事件。构件:对象,或者说是抽象数据类型的实例。数据抽象和面向对象组织模式(1)提供一个词汇表;具有成长的特性。在仓库模式中,有两种不同的构件:仓库系统及知识库模式能够描述很多系统;算法接口的变化体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。当要交换或共享大量的数据时,仓库模式是最常用的解决方案。解释器将高级抽象层次的程序翻译为低级抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语义差异。(2)不知道哪些过程会被调用;即由输入事务选择进行何种处理,并把执

29、行结果作为当前状态存储到中央数据结构中。过滤器是独立的实体,相互之间没有状态的依赖数据中信噪比的变化 分层模式实例计算机网络的设计 分层模式实例计算机网络的设计共同点是共享数据;同一个系统采用多种风格造成了所谓体系结构风格的异构组合。下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。解释器模式:模型(1)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。2 经典软件体系结构风格(1)提供一个词汇表;管道过滤器通用的结构有:提供领域专门知识(Domain Expertise)特别注意:体系结构风格不是

30、对软件进行分类的标准。能够描述很多系统;对在实践中一些常见的体系结构风格(模式)的讨论,有助于我们对软件体系结构的理解。虚拟机风格:解释器;特别注意:体系结构风格不是对软件进行分类的标准。黑板模式-模型(2)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。简单和小规模的解释器只完成基本的信息识别和转换例如:一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。(2)有界管道:限制了在管道中能容纳或传输的数据量;提供领域专门知识(Domain Expertise)3 客户/服务器风格事件驱动风格和面向对象风格的关系LISI、Prolog、JavaScript、VBScript、HTML、Matlab、数据库系统(SQL解释器)、各种通信协议等。让知识源响应偶然事件。仓库系统及知识库模式 数据抽象和面向对象组织模式 C/S与B/S混合之查改有别模型谢谢观看!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件体系结构风格精选教学课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|