版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件体系结构风格()第1页,共46页。
体系结构风格概述对在实践中一些常见的体系结构风格(模式)的讨论,有助于我们对软件体系结构的理解。对常见体系结构风格的讨论框架(1)每一个常见的体系结构风格,都可以看成是一组计算构件以及构件间的交互。(2)以图示的方式表示构件和构件间的交互。
2第2页,共46页。
定义软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。软件体系结构风格定义的主要内涵:定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型。约束指出系统是如何将这些构件和连接件组合起来的。
3第3页,共46页。
研究意义
体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。4第4页,共46页。特别注意:体系结构风格不是对软件进行分类的标准。它仅仅是表示描述软件的不同角度而已。例如:一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。同一个系统采用多种风格造成了所谓体系结构风格的异构组合。5第5页,共46页。
体系结构风格的四要素(1)提供一个词汇表;(2)定义一套配置规则;(3)定义一套语义解释原则;(4)定义对基于这种风格的系统所进行的分析。6第6页,共46页。
经典的体系结构风格
◎数据流风格:批处理序列;管道和过滤器。◎调用/返回风格:主程序/子程序;面向对象风格;层次结构。◎独立构件风格:进程通讯;事件系统。◎虚拟机风格:解释器;基于规则的系统。◎仓库风格:数据库系统;超文本系统;黑板系统。7第7页,共46页。
管道和过滤器模式:模型
构件:过滤器,接收数据输入,进行转化后输出过滤器是独立的实体,相互之间没有状态的依赖对一个过滤器而言,它上游和下游的过滤器是透明的交互由管道提供,管道负责连接一个过滤器的输出和另一个过滤器的输入。8第8页,共46页。
管道和过滤器模式
管道过滤器通用的结构有:(1)管线:也称为流水线,即限制系统的拓扑结构只能是过滤器的线性结构;如:批处理系统、UnixShell、编译器(2)有界管道:限制了在管道中能容纳或传输的数据量;(3)类型定义管道:也称类型管道,即要求明确定义在两个过滤器间传输的数据类型。9第9页,共46页。
管道和过滤器模式实例3.2经典软件体系结构风格10第10页,共46页。
数据抽象和面向对象组织模式
面向对象模型(1)封装(2)继承(3)多态性11第11页,共46页。
数据抽象和面向对象组织模式
构件:对象,或者说是抽象数据类型的实例。(1)对象是一种被称作管理者的构件,负责保持资源的完整性。(2)对象通过函数和过程的调用来交互的。12第12页,共46页。
数据抽象和面向对象组织模式
这种模式的两个重要方面:(1)对象维护自身表示的完整性;(2)这种表示对其他对象是隐藏的。13第13页,共46页。
数据抽象和面向对象组织模式实例人事档案管理系统14第14页,共46页。
基于事件的隐式调用模式对象之间通过方法调用进行交互,但是调用是隐式的,通过事件机制进行调用触发。(1)对象可以发布(广播)事件。(2)对象也可以通过事件注册将某一个方法和事件进行绑定。注意:一旦该事件触发,所有与该事件绑定的方法都将被调用。15第15页,共46页。
基于事件的隐式调用模式
构件:模块,模块既可以是过程,又可以是事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。特点:事件的触发者并不知道哪些构件会被这些事件影响。(1)不能假定构件的处理顺序;(2)不知道哪些过程会被调用;(3)许多隐式调用的系统也包含显式调用作为构件交互的补充形式。16第16页,共46页。
基于事件的隐式调用模式
下图是一个基于事件驱动的软件系统的示意图:17第17页,共46页。
基于事件的隐式调用模式事件驱动风格和面向对象风格的关系基于面向对象风格的系统由多个封装起来的对象构成,对象之间通过消息传递实现通信,而事件驱动正是对消息传递机制的一种实现。所以基于事件驱动风格的系统往往都是面向对象的。18第18页,共46页。
分层模式一个使用分层模式的系统体系出一种层次结构。(1)每一层都向它的上一层提供服务。(2)每一层都使用它下一层的服务。下层无需知道上层的存在,每一层对其上层隐藏其实现细节(虚拟机)。19第19页,共46页。
分层模式实例—计算机网络的设计
20第20页,共46页。
分层模式实例.Net平台也是一个明显的分层系统:21第21页,共46页。
仓库系统及知识库模式仓库系统体系结构:能够描述很多系统;共同点是共享数据;仓库系统运行机制:收集、操作、保存大量的数据;知识库是仓库系统的典型实例:具有成长的特性。22第22页,共46页。
仓库系统及知识库模式
在仓库模式中,有两种不同的构件:(1)中央数据结构构件:代表系统当前状态;(2)一些相对独立的构件的集合:这些构件对中央数据存储进行操作。
23第23页,共46页。
仓库系统及知识库模式
在仓库模式中,各个组件之间进行数据交换,可以使用两种不同的方式:(1)共享的数据放在中心数据库中,所有构件可以通过访问数据库进行交互;(2)每个构件维护自己的数据库,通过显示的传递数据与其他构件进行交互。当要交换或共享大量的数据时,仓库模式是最常用的解决方案。
24第24页,共46页。
仓库系统及知识库模式控制原则的选取产生两个主要的子类:(1)若输入流中某类事件触发系统相应的进程执行,则仓库是传统型数据库;即由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中。(2)若中央数据结构的当前状态触发系统相应的进程执行,则仓库是黑板系统。即由中央数据结构的当前状态决定进行何种处理。25第25页,共46页。
黑板模式-模型
黑板系统由三部分组成:知识源、黑板数据结构、控制。26第26页,共46页。
黑板模式:功能划分知识源把问题分为几个部分,每个部分独立计算响应黑板上的变化。黑板数据结构全局数据库,包含解域的全部状态知识源相互作用的唯一媒介。控制让知识源响应偶然事件。27第27页,共46页。
黑板模式:知识提供知识源提供领域专门知识(DomainExpertise)黑板数据结构提供数据存储和通信(StorageandCommunication)控制问题解决策略编码(EncodesProblemSolvingStrategy)28第28页,共46页。
黑板模式特点没有直接的算法可解
多种方法都可能解决问题需要多个领域的专门知识协作解决具有不确定性
数据和解决方案可能错误或变化数据中信噪比的变化算法接口的变化黑板是一种特别的仓库,主要用于需要对凌乱的信息进行处理的领域,其控制策略必须是机会主义的。
29第29页,共46页。
黑板系统结构
30第30页,共46页。
黑板系统实例
31第31页,共46页。
解释器模式解释器是一个用来执行其他程序的程序。解释器针对不同的硬件平台实现了一个虚拟机。解释器将高级抽象层次的程序翻译为低级抽象层次所能理解的指令,以消除在程序语言与硬件之间存在的语义差异。32第32页,共46页。
解释器模式解释器通常用在程序语言定义的计算和有效硬件操作确定的计算之间建立对应和联系。简单和小规模的解释器只完成基本的信息识别和转换复杂的解释器需要从词法到句法、到语法的复杂识别和处理作为一种体系结构风格,解释器已经被广泛应用在从系统软件到应用软件的各个层次。包括各类语言环境、Internet浏览器、数据分析与转换等;LISI、Prolog、JavaScript、VBScript、HTML、Matlab、数据库系统(SQL解释器)、各种通信协议等。33第33页,共46页。
解释器模式:构件解释器是一个软件虚拟机,它一般包括四个构件:(1)解释引擎(2)被解释的伪程序(源代码)(3)解释引擎的控制状态的表示(在某个时刻需要执行哪些指令)(4)被解释的程序当前状态的表示解释器通过构建一个虚拟机来延伸当前计算平台的功能。34第34页,共46页。
解释器模式:模型
35第35页,共46页。
C/S风格—基本概念◎C/S软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。◎C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。36第36页,共46页。
体系结构3.3客户/服务器风格37第37页,共46页。
C/S风格—处理流程38第38页,共46页。
三层C/S风格—体系结构39第39页,共46页。
三层C/S风格—处理流程40第40页,共46页。
B/S风格—基本概念浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器。B/S体系结构主要是利用不断成熟的WWW浏览器技术,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年办公预算编制 季度文具采购计划
- 高中下学期区域地理复习教案南美洲
- 2026年汽车展会服务智能化停车引导系统建设与应用
- CN119043606B 一种桥梁结构隐性损伤识别方法 (广州航海学院)
- 2026年物流基础知识题库附答案
- 2026年员工安全常识考试试卷及答案
- 2026年国家开放大学(电大)《公共行政学》考试题库及答案
- 2026年理疗学题库及答案
- 2025年社区工作者公基综合冲刺训练题库(含答案)
- 2026年焊工(初级)实操理论考试及答案
- 食品的化学性污染及其预防
- QCT1170-2022汽车玻璃用功能膜
- 府谷县起龙煤矿矿山地质环境保护与土地复垦方案
- 达罗他胺片-临床用药解读
- 翔宇教育集团江苏省淮安外国语学校初一新生编班考试
- 施工工地环保知识培训课件
- 药酒产品知识介绍
- (完整版)人教版小学阶段英语单词默写表
- 海洋地质第一章1
- JJF 1242-2010激光跟踪三维坐标测量系统校准规范
- GB/T 25369-2010金属切割双金属带锯条技术条件
评论
0/150
提交评论