软件体系结构课件-大连交大-第3章软件体系结构风格.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《软件体系结构课件-大连交大-第3章软件体系结构风格.ppt》由会员分享,可在线阅读,更多相关《软件体系结构课件-大连交大-第3章软件体系结构风格.ppt(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件体系结构软件体系结构 -软件体系结构风格软件体系结构风格课课程程内内容容 软件体系结构概论软件体系结构概论 软件体系结构建模软件体系结构建模 软件体系结构风格软件体系结构风格 软件体系结构描述软件体系结构描述 动态软件体系结构动态软件体系结构 WebWeb服务体系结构服务体系结构 基于体系结构的软件开发基于体系结构的软件开发 软件体系结构的分析与测试软件体系结构的分析与测试 软件体系结构评估软件体系结构评估 软件产品线体系结构软件产品线体系结构1/21/第第3章章 软件体系结构风格软件体系结构风格3.1 软件体系结构风格概述软件体系结构风格概述 软件体系结构设计的核心问题:软件体系结构设计
2、的核心问题:能能否否使使用用重重复复的的体体系系结结构构模模式式,即即能能否否达达到到体体系系结结构级的软件重用。构级的软件重用。软件体系结构风格:软件体系结构风格:是描述某一特定应用领域中系统组织方式的是描述某一特定应用领域中系统组织方式的惯用模式惯用模式。体体系系结结构构风风格格反反映映了了领领域域中中众众多多系系统统所所共共有有的的结结构构和和语语义义特特性性,并并指指导导如如何何将将各各个个模模块块和和子子系系统统有有效效地地组组织成一个完整的系统。织成一个完整的系统。1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式模式
3、的构成关键要素模式的构成关键要素:问题出现的背景是什么:问题出现的背景是什么:语境语境在此背景下重复出现什么问题:在此背景下重复出现什么问题:问题问题采用什么方案来解决:采用什么方案来解决:解决方案解决方案如何实现解决方案:如何实现解决方案:实现实现1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 模式的定义模式的定义Christopher AlexanderChristopher Alexander对城市和建筑模式的描述对城市和建筑模式的描述:“每每一一个个模模式式描描述述了了一一个个在在我我们们周周围围不不断断重重复复发发生
4、生的的问问题题,以以及及该该问问题题解解决决方方案案的的核核心心内内容容。这这样样,你可以一次又一次地使用该方案而不必做重复劳动你可以一次又一次地使用该方案而不必做重复劳动”软件体系结构模式软件体系结构模式:描描述述了了在在特特定定设设计计语语境境中中重重复复再再现现的的设设计计问问题题,并并为为之之提提供供一一个个经经过过充充分分验验证证了了的的通通用用解解决决方方案案。该该方方案案提提供供了了构构件件、构构件件的的责责任任、构构件件之之间间的的关关系系、以以及它们之间的协作方式及它们之间的协作方式。1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格
5、概述 关于模式关于模式 -模式的优势模式的优势促进设计复用促进设计复用带来巨大的代码复用带来巨大的代码复用系统组成更易于被他人理解系统组成更易于被他人理解有利于系统的互操作性有利于系统的互操作性模式的存在,有利于模式的存在,有利于SA的分析的分析有利于特定模式有利于特定模式SA的可视化的可视化使用模式的优势使用模式的优势1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 -模式分类模式分类低层模式:低层模式:惯用法惯用法(idiom)(idiom)中层模式:中层模式:设计模式设计模式(design pattern)(design
6、pattern)高层模式高层模式:体系结构模式体系结构模式 (architecture pattern)(architecture pattern)根据模式的抽象范围和规模根据模式的抽象范围和规模,将模式分为将模式分为:1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 体系结构体系结构(SA)(SA)模式模式 SASA模式是模式系统中的最高等模式模式是模式系统中的最高等模式 描述了软件系统基本结构的组织方案描述了软件系统基本结构的组织方案 用在粗粒度设计的开始阶段用在粗粒度设计的开始阶段1/21/第第3章章 软件体系结构风格软件
7、体系结构风格-软件体系结构风格概述软件体系结构风格概述 GarlanGarlan和和ShawShaw给出的给出的SASA风格的分类风格的分类数据流风格数据流风格:批处理序列、管道:批处理序列、管道/过滤器过滤器调用调用/返回风格返回风格独立构件风格独立构件风格虚拟机风格虚拟机风格仓库风格仓库风格:主程序:主程序/子程序、面向对象、层次结构等子程序、面向对象、层次结构等:进程通信、事件系统:进程通信、事件系统:解释器、基于规则的系统:解释器、基于规则的系统:数据库系统、超文本系统、黑板系统:数据库系统、超文本系统、黑板系统1/21/第第3章章 软件体系结构风格软件体系结构风格3.2 经典软件体系
8、结构风格经典软件体系结构风格 3.2.1 3.2.1 管道和过滤器管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道n 构件:过滤器构件:过滤器n 连接件:数据流传输的管道连接件:数据流传输的管道1/21/3.2 经典软件体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道 过滤器过滤器:独立的实体,不能和其他过滤器共享数据:独立的实体,不能和其他过滤器共享数据对一个过滤器而言,它上游和下游的过滤器是透明的。对一个过滤器而言,它上游和下游的过滤器是透明的。管道管道:提供交互:提供交互负责连接一个过滤
9、器的输出和另外一个过滤器的输入。负责连接一个过滤器的输出和另外一个过滤器的输入。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器词法分析词法分析/扫描器扫描器语法分析语法分析/分析器分析器语语 义义 分分 析析中间代码生成中间代码生成Unix shell:Unix shell:cat cat filefile|grepgrep xyzxyz|sortsort|uniquniqoutout 即找到含即找到含xyzxyz的行,排序、取掉相同的行,最后输出的行,排序、取掉相同的行,最后输出 信号处理系统信号处理系统 并行计算并行计算编译器1/21/3.2 经典软件
10、体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器 优点:优点:良好的隐蔽性,高内聚低耦合良好的隐蔽性,高内聚低耦合系统的总体输入输出是每个过滤器的简单组合,易于理解系统的总体输入输出是每个过滤器的简单组合,易于理解支持软件重用支持软件重用系统维护和增强系统性能简单系统维护和增强系统性能简单系统的一些特性容易分析,如吞吐量、死锁等系统的一些特性容易分析,如吞吐量、死锁等支持并行执行支持并行执行 缺点:缺点:经常退化为批处理系统经常退化为批处理系统不适合处理交互的应用不适合处理交互的应用编写过滤器复杂编写过滤器复杂1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构
11、风格经典软件体系结构风格 3.2.2 3.2.2 数据抽象和面向对象组织数据抽象和面向对象组织数据数据操作操作n构件:对象构件:对象n连接件:过程连接件:过程(方法方法)调用调用1/21/3.2 经典软件体系结构风格经典软件体系结构风格-数据抽象和面向对象组数据抽象和面向对象组织织抽象数据类型抽象数据类型(ADT)(ADT)和和OOOO的区别:的区别:ADTADT只有封装的特点,没有继承和多态的特点只有封装的特点,没有继承和多态的特点要点:要点:封装封装隐藏实现细节隐藏实现细节 继承继承由通用的对象开始,逐步定义具体的对象由通用的对象开始,逐步定义具体的对象 多态多态不同类型的对象对相同的激励
12、产生不同的响应不同类型的对象对相同的激励产生不同的响应1/21/3.2 经典软件体系结构风格经典软件体系结构风格-数据抽象和面向对象组数据抽象和面向对象组织织 优点:优点:隐藏内部实现,容易修改隐藏内部实现,容易修改封装的对象使复杂问题更容易分解封装的对象使复杂问题更容易分解支持软件重用支持软件重用 缺点:缺点:过程调用依赖于对象的标识过程调用依赖于对象的标识继承使设计变得复杂,引入多层对象结构使得维护困难。继承使设计变得复杂,引入多层对象结构使得维护困难。1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.3 3.2.3 基于事件的隐式
13、调用基于事件的隐式调用 对对象象之之间间通通过过方方法法调调用用进进行行交交互互,但但是是调调用用是是隐隐式式的,通过事件机制进行调用触发。的,通过事件机制进行调用触发。p 对象可以广播事件对象可以广播事件p 对象也可以通过事件注册将某个方法和事件进行绑定对象也可以通过事件注册将某个方法和事件进行绑定一旦该事件触发,所有与该事件绑定的方法都将被调用。一旦该事件触发,所有与该事件绑定的方法都将被调用。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用广播媒介agentagentagentagent声明事件声明事件监听事件监听事件n构件:模块(过程或事
14、件的集合)构件:模块(过程或事件的集合)n连接件:对过程的隐式调用连接件:对过程的隐式调用1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用比如,请同学帮忙擦黑板比如,请同学帮忙擦黑板指定某位同学帮忙擦指定某位同学帮忙擦请问谁可以帮忙擦?请问谁可以帮忙擦?1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用n数据库中的一致性约束数据库中的一致性约束n集成开发环境中的编辑器支持的语法检查集成开发环境中的编辑器支持的语法检查n开发工具中调试过程中的变量监视器刷新变量值开发工具中调试过程中的变量监视器刷新变量值
15、nWORD的词正确性检查的词正确性检查n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用 优点:优点:问题分解问题分解 将计算和交互分离,使得对象更加独立将计算和交互分离,使得对象更加独立系统演化和重用系统演化和重用 通通过过事事件件注注册册,新新的的组组件件可可以以被被轻轻易易引引入入系系统统,为改进系统带来了方便为改进系统带来了方便 缺点:缺点:构件放弃了对系统计算的控制构件放弃了对系统计算的控制数据交换的问题数据交换的问题 大数据量的数据交互往往没法用事件携带大数据量的数据交互往往没法用事件携带可能会对正确性保证带来问题可能会对
16、正确性保证带来问题 对事件触发的方法调用次序无法控制对事件触发的方法调用次序无法控制1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.4 3.2.4 分层系统分层系统层次系统体现出一种层次结构层次系统体现出一种层次结构n 每一层都向它的上一层提供服务每一层都向它的上一层提供服务n 每一层都使用它的下一层的服务每一层都使用它的下一层的服务下层无需知道上层的存在,每一层对其上层隐藏其实现细节下层无需知道上层的存在,每一层对其上层隐藏其实现细节用户应用用户应用标标 准准 库库操作系统操作系统硬硬 件件1/21/3.2 经典软件体系结构风格经典
17、软件体系结构风格 分层系统分层系统用户系统用户系统基本工具基本工具核心层核心层各种构件各种构件过程调用过程调用n构件:实现虚拟机构件:实现虚拟机n连接件:定义层间交互的协议连接件:定义层间交互的协议1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统n广广泛泛应应用用在在分分层层通通讯讯协协议议中中,诸诸如如OSI/ISOOSI/ISO的的分分层通讯模型层通讯模型n计算机网络协议组,如计算机网络协议组,如TCP/IPTCP/IPnOSOSnX X窗口系统窗口系统n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-操作系统的
18、分层结构操作系统的分层结构1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-操作系统的分层结构操作系统的分层结构1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-ISO/OSI互联参考模型互联参考模型1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-ISO/OSI互联参考模型互联参考模型1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统 优点:优点:支持基于抽象程度递增的系统设计支持基于抽象程度递增的系统设计 设计者可以吧一个复杂系统按递增的步骤进行分解设计者可
19、以吧一个复杂系统按递增的步骤进行分解支持功能层强支持功能层强 功能的改变只影响相邻的上下层功能的改变只影响相邻的上下层支持重用支持重用 缺点:缺点:并非每个系统都可以进行分层设计并非每个系统都可以进行分层设计很难找到一个合适的、正确的层次抽象方法很难找到一个合适的、正确的层次抽象方法1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.5 3.2.5 仓库系统及知识库仓库系统及知识库 仓仓库库模模式式构构建建的的系系统统中中通通常常有有两两种种截截然然不不同同的的功功能能构件:构件:n 中央数据单元构件,中央数据单元构件,代表系统当前的各种
20、状态代表系统当前的各种状态n 相对独立的构件集合,相对独立的构件集合,这些构件对中央数据库单元进行操作这些构件对中央数据库单元进行操作 中中央央数数据据单单元元与与外外部部构构件件集集合合之之间间的的信信息息交交互互成成为为基基于于仓仓库库模模式式的的一一个个重重要要问问题题,系系统统承承担担功功能能不不同同,这这两个构件之间的交互方式也有很大差异。两个构件之间的交互方式也有很大差异。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库 信信息息交交互互方方式式的的差差异异导导致致了了控控制制策策略略的的不不同同。主主要要的的控制策略有两种,由此基于仓库
21、模式的系统被分为两类:控制策略有两种,由此基于仓库模式的系统被分为两类:系系统统由由输输入入数数据据流流中中的的事事务务信信息息来来驱驱动动,即即输输入入数据流中的事务指令可以触发系统响应的进程执行。数据流中的事务指令可以触发系统响应的进程执行。n 传统型数据库传统型数据库 系统由中央数据结构的当前状态决定进行何种处理。系统由中央数据结构的当前状态决定进行何种处理。n 黑板系统黑板系统1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库黑板黑板(共享数据)(共享数据)知识源知识源存储器存储器计算计算直接存取直接存取知识源知识源知识源知识源知识源知识源知识
22、源知识源知识源知识源知识源知识源知识源知识源控控制制器器知识源知识源黑板黑板(共享数据)(共享数据)控控制制器器黑板风格的体系结构:黑板风格的体系结构:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库n信号处理与模式识别领域信号处理与模式识别领域n用于具有松散用于具有松散-偶合实体对共享数据的存取偶合实体对共享数据的存取nFtpFtp服务器服务器n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库 优点:优点:便于多个用户共享大量的数据便于多个用户共享大量的数据便于添加新的知识源应用程序便于添加新
23、的知识源应用程序 缺点:缺点:对黑板数据结构的修改比较困难对黑板数据结构的修改比较困难 要考虑不同的知识源对共享数据结构达成一致要考虑不同的知识源对共享数据结构达成一致系统复杂系统复杂 因为需要一定的同步因为需要一定的同步/加锁机制保证数据结构的完整性和一致性加锁机制保证数据结构的完整性和一致性1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.6 C23.2.6 C2风格风格 通通过过连连接接件件绑绑定定在在一一起起的的按按照照一一组组规规则则运运作作的的并并行行构构件件网络网络。构件构件构件连接件连接件连接件连接件连接件连接件构件连接
24、件连接件构件连接件连接件连接件连接件构件构件1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格C2C2风格中的系统组织规则如下:风格中的系统组织规则如下:n 系统中的构件和连接件都有一个系统中的构件和连接件都有一个顶部顶部和一个和一个底部底部;n 构构件件的的顶顶部部应应连连接接到到某某连连接接件件的的底底部部,构构件件的的底底部部则则应应连连接接到到某某连连接接件件的的顶顶部部,而而构构件件与与构构件件之之间间的的直直接接连连接接是是不允许的;不允许的;n 一个连接件可以和任意数目的其它构件和连接件连接;一个连接件可以和任意数目的其它构件和连接件连接;n 当当两两个个连
25、连接接件件进进行行直直接接连连接接时时,必必须须由由其其中中一一个个的的底底部部到另一个的顶部。到另一个的顶部。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格通讯规则:通讯规则:所有构件之间的通讯必须通过消息来实现,也是所有构件之间的通讯必须通过消息来实现,也是构件间唯一的通讯途径。构件间唯一的通讯途径。构件构件构件构件构件构件连接件连接件请请 求求 通通 知知服务调用规则:服务调用规则:每每个个构构件件只只能能感感知知层层次次高高于于自自己己的的构构件件提提供供的的服服务务,而而不不能能感感知知层次低于自己的构件的服务。层次低于自己的构件的服务。即请求消息只能向上层
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 课件 大连 交大 风格
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内