好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

软件体系结构Chap03风格(上课件.ppt

41页
  • 卖家[上传人]:石磨
  • 文档编号:208540124
  • 上传时间:2021-11-07
  • 文档格式:PPT
  • 文档大小:189.50KB
  • / 41 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 软件体系结构Chap03风格(上课件,1,课 程 内 容,第1 第2章 软件体系结构概论 第3章软件体系结构风格 第4章软件体系结构建模 第5章 软件体系结构描述 第6章 基于体系结构的软件开发 第7章 流行的软件体系结构 第8章 案例分析,软件体系结构Chap03风格(上课件,2,第三章 软件体系结构风格, 3.1 概述 3.2 经典软件体系结构风格 3.3 公共对象请求代理体系结构 3.4 正交体系结构 3.5 基于层次消息总线的体系结构风格 3.6 异构结构风格 3.7 互联系统构成的系统及其体系结构 3.8 面向体系结构的架构(SOA),软件体系结构Chap03风格(上课件,3,3.1 概述,软件体系结构风格(Style):描述特定系统组织方式的惯用范例,强调组织模式和惯用范例组织模式即静态表述的样例,惯用范例则是反映群众多系统共有的结构和语义 软件体系结构设计的核心问题:能否达到体系结构级的软件重用; 对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题PS:体系结构模式 体系结构惯用描述和体系结构风格是同一个意思,目的:展示软件体系结构丰富的选择空间,在此基础上对风格选择的一些权衡,软件体系结构Chap03风格(上课件,4,使用软件体系结构风格的优点: 促进设计重用; 带来巨大的代码重用; 使系统更易于被他人理解; 使用标准化的风格有利于系统的互操作性; 便于利用特有的体系结分析方法; 提供特定风格的可视化。

      软件体系结构Chap03风格(上课件,5,在体系结构层次上,常出现客户机服务器系统、管道过滤器设计或者分层体系结构等软件风格术语,这些术语一般与特定的设计方法和符号相关,如面向对象和数据流等,虽然还没有对体系结构惯用模式实现分类,但是这种分类的轮廓已开始出现,如下部分主要种类:,软件体系结构Chap03风格(上课件,6,软件体系结构风格是反复出现的组织模式和习惯用法,是对一系列体系结构设计的抽象; 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束; 词汇表包括一些构件和连接件,约束指出系统如何将这些构件和连接件组合起来;,一个软件体系结构风格定义了构件和连接件类型的符号集,以及规定它们怎样组合起来的约束集合软件体系结构Chap03风格(上课件,7,讨论体系结构风格时要回答的问题: 设计词汇表是什么? 构件和连接件的类型是什么? 可容许的结构模式是什么? 基本的计算模型是什么? 风格的基本不变性是什么? 其使用的常见例子是什么? 其优缺点是什么? 体系结构风格最关键的四个要素:提供一个词汇表、定义一套配置规则、定义一套语义解释原则和定义对基于这种风格的系统所进行的分析。

      分析7种通用的风格,软件体系结构Chap03风格(上课件,8,Garlan和Shaw对通用体系结构风格的分类: (1)数据流风格:批处理序列、管道/过滤器 (2)调用/返回风格:主程序/子程序、面向对象系统、多级分层 (3)独立构件风格:进程通讯、事件系统; (4)虚拟机风格:解释器、基于规则的系统; (5)知识库风格:数据库系统、超文本系统、黑板系统,PS: 知识库风格也称为数据中心系统或仓库系统,软件体系结构Chap03风格(上课件,9,3.2 经典软件体系结构,3.2.1 管道和过滤器 3.2.2 数据抽象和面向对象组织 3.2.3 基于事件的隐式调用 3.2.4 分层系统 3.2.5 知识库 3.2.6 模型-视图-控制器(MVC)风格 3.2.7 解释器风格 3.2.8 客户/服务器风格(C/S) 3.2.9 三层C/S结构风格 3.2.10 浏览器/服务器风格(B/S),软件体系结构Chap03风格(上课件,10,3.2.1 管道和过滤器(PIPES AND FILTER),产生于UNIX操作系统,适用于对有序数据进行一系列已经定义的独立计算的应用程序; 每个构件(过滤器)都有一组输入和输出,构件读输入的数据流,经内部处理,产生输出数据流; 连接件位于过滤器之间,起到信息流导管的作用,称为管道; 管道和过滤器系统的输出的正确性不依赖于过滤器的递进处理顺序。

      软件体系结构Chap03风格(上课件,11,管道过滤器通用结构: 过滤器是一个独立实体,其间无需共享状态 管线(Pipelines):限制系统的拓扑结构只能是过滤器的线性序列 有界管线(Bounded Pipes):限制了在管道中能容纳的数据量 类型定义管道(Type Pipes):明确定义在两个过滤器间的数据类型,软件体系结构Chap03风格(上课件,12,管道和过滤器风格的例子: UNIX的shell程序,如命令: cat file | grep xyz | sort | uniq out 在文件file中查找包括xyz的行 排序 去掉重行 输出到out文件中; 编译器:词法分析 句法分析 语义分析 代码生成软件体系结构Chap03风格(上课件,13,管道和过滤器的实现: 将系统任务分成几个独立的处理阶段; 定义每个管道传输的数据格式; 决定管道的连接; 设计和实现过滤器; 设计出错处理; 建立处理流水线软件体系结构Chap03风格(上课件,14,管道和过滤器的优点: 每个过滤器都是独立的整体,相互之间的状态互不影响;只要具备输入条件即可独立地完成自己的处理 支持功能模块的重用;过滤器并不知道它的上游和下游的过滤器的特性;它的设计和实现不会对与它相连的过滤器加以限制。

      系统容易维护和扩展 支持某些特定的分析,如吞吐量和死锁检测 并发性,软件体系结构Chap03风格(上课件,15,管道和过滤器的缺点: 管线或流水线(Pipe Line):过滤器严格限制为单输入、单输出类型,系统拓扑结构只能是线性序列; 交互性比较弱 兼容性相对弱;维持两个相对独立但又存在某种关系的数据流之间的通信可能比较困难; 有名管道:在过滤器之间通过有名的管道来进行数据传送,增加了解析或反馈工作,从而降低系统的效率软件体系结构Chap03风格(上课件,16,3.2.2 数据抽象和面向对象组织,建立在数据抽象和面向对象的基础上,数据表示方法及其相应操作被装到一个抽象数据类型(对象)中; 对象(构件)负责保持资源的完整性,对象通过函数和过程调用(连接件)来交互; 适用于以相互关联的数据实体的标识和保护为中心问题的应用程序软件体系结构Chap03风格(上课件,17,面向对象风格的优点:封装:对象具有信息隐藏特性,内部结构对外不可见;继承:从具有通用特征的对象开始,逐渐定义更具体对象多态:不同类型的对象可以对相同的激励做出不同的响应,软件体系结构Chap03风格(上课件,18,PS: 数据抽象是特殊化的面向对象风格:ADT (Abstract Data Type)只有封装特点,没有继承和多态的特点。

      面向对象风格的缺点: 1、对象调用过程中必须要知道对象的标识,只要一个对象的标识改变,就必须修改所有其他明确调用它的对象 2、同时要修改每一个引用了这个模块的“导入”列表,这样会带来不可预料的副作用软件体系结构Chap03风格(上课件,19,3.2.3 基于事件的隐式调用,基于事件(Event-Based)的风格又称为隐式调用(Implicit Invocation)风格,构件不直接调用一个过程,而是触发或广播一个或多个事件,由系统调用为这一事件注册的其他构件的过程; 每个构件的接口不仅提供一个过程的集合,也提供一个事件的集合;一个构件可注册多个事件,一个事件可触发对多个构件过程的调用; 适用于涉及低耦合构件集合的应用程序,如在用户界面系统中管理数据,在数据库管理系统中确保数据的一致性,在编辑器中支持语法检查软件体系结构Chap03风格(上课件,20,隐式调用风格的优点 为软件重用提供了强大的支持 为改进系统带来了方便 隐式调用风格的缺点 构件放弃了对系统计算的控制 数据交换的问题 既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题,软件体系结构Chap03风格(上课件,21,3.2.4 分层系统,系统组织为层次结构,每一层为上层提供服务,作为下层的客户,通常不允许跨层交互; 适应于可以按照层次结构来组织不同类别的相关服务的应用程序; 系统中构件在一些层实现了虚拟机的功能; 连接件通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束; 如分层通信协议,每一层提供一个抽象的功能作为上层通信的基础,最低层只定义硬件物理连接。

      软件体系结构Chap03风格(上课件,22,例:ISO的OSI/RM (Open Systems Interconnection Reference Model) 7层模型,软件体系结构Chap03风格(上课件,23,分层系统的实现: 为分层定义抽象准则,定义抽象层次; 给每一层命名并指定它们的任务和提供的服务; 为每个层定义接口、实现独立的层; 确定相邻层通信、降低相邻层的耦合程度; 设计错误处理策略软件体系结构Chap03风格(上课件,24,基于微内核模式构建的Windows NT系统: 系统服务层:子系统与NT执行程序间的接口层; 资源管理层:包括对象管理、安全引用监视、进程管理、I/O管理、虚拟存储管理、局部过程调用等模块; 内核:负责基本功能,如中断和异常处理,多处理器同步,线程调度; 硬件抽象层:隐藏不同处理器系列机器间硬件的差异; 硬件层; 非严格分层结构,内核和I/O管理需要直接访问硬件软件体系结构Chap03风格(上课件,25,分层系统风格的优点 可以把一个复杂系统按递增的步骤进行分解 支持功能强,因为每一个层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层。

      支持重用,定义一组标准接口允许各种不同的实现方法 分层系统风格的缺点 层次的划分不太容易 很难找到一个合适的、正确的层次抽象方法,软件体系结构Chap03风格(上课件,26,3.2.5 知识库,适用于无确定性求解策略的问题:实践中许多复杂问题难以用数学精确地描绘和严格地分析,如医疗诊断、法律推理、军事分析等; 解决方法依赖于积累了人类知识和经验的知识库; 知识库风格的体系结构由两种构件组成: 一个中央数据结构,表示系统当前状态; 一个独立构件的集合,对中央数据结构进行操作软件体系结构Chap03风格(上课件,27,对于系统中数据和状态的控制方法分两种: 由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中,知识库为传统的数据库型知识库; 由中央数据结构的当前状态决定进行何种处理,知识库为一黑板体系结构 黑板反映的一种信息共享的系统,传统应用是信号处理领域,源于1970s人工智能的自然语言处理系统HEARSAY-II软件体系结构Chap03风格(上课件,28,黑板体系结构模型通常由3部分组成: 知识源:包含独立的、与应用程序相关的知识; 黑板数据结构:反映应用程序求解状态的数据,按照与应用程序相关的层次来组织; 控制器:一组对公共数据结构进行协同操作的独立程序集合,由黑板的状态驱动。

      软件体系结构Chap03风格(上课件,29,黑板结构实现: 定义问题:指出问题的领域、确定系统输入、输出,细化系统与用户的交互要求; 定义问题解空间:确定目标解的构成,列出解决方案的不同抽象等级,找出能独立工作的完整解的部分解; 求解过程:如何将低级中间解转换成高等解,定义在某抽象层上如何进行启发性搜索,定义黑板词汇集,设计系统控制,实现知识库黑板系统传统上应用在复杂信号处理解释上,如语音和 模式识别,现代编译器也是以共享信息为基础的,软件体系结构Chap03风格(上课件,30,解释器风格中通常有一个虚拟机,弥合程序语义所期望的与硬件提供的计算引擎之间的差距 解释器包括正在被解释执行的伪码和解释引擎本身 伪码由需要解释的源代码和解释引擎分析所得到的中间代码组成 解释引。

      点击阅读更多内容
      相关文档
      高等学校学生手册.doc 2025年区教育系统招聘编外教师储备人才事业单位考试押题.docx 2025年秋季青岛版三年级数学上册认识轴对称现象教学课件.pptx 2025年秋季青岛版三年级数学上册用乘法估算解决问题教学课件.pptx 2025年秋季青岛版三年级数学上册两、三位数乘一位数的笔算(不进位)教学课件.pptx 2025年秋季青岛版三年级数学上册1200张纸有多厚教学设计范文.docx 2025年秋季青岛版三年级数学上册多位数除以一位数教学课件.pptx 2025年秋季青岛版三年级数学上册认识平移、旋转现象教学课件.pptx 2025年秋季青岛版三年级数学上册多位数乘一位数教学设计范本.docx 2025年秋季青岛版三年级数学上册认识平移与旋转教学设计范文.docx 2025年秋季青岛版三年级数学上册乘数中间有0或末尾有0的乘法教学课件.pptx 2025年秋季青岛版三年级数学上册两位数乘一位数的笔算(进位)教学课件.pptx 2025年秋季青岛版三年级数学上册《两、三位数乘一位数的笔算(不进位)》教学设计与意图.docx 2025年秋季青岛版三年级数学上册我学会了吗教学课件.pptx 2025年连云港市妇幼保健院招聘专业技术人员考试笔试试题.docx 2025年深圳市大鹏新区发展和财政局招聘考试笔试试卷.docx 2025年绵阳市梓潼县财政投资评审中心招聘考试试题.docx 2025年来宾市妇幼保健院招聘考试笔试试题.docx 2025年无极县教育系统招聘教师考试笔试试卷.docx 2025年灵山县第三中学调配教师考试笔试试题.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.