软件体系结构风格.ppt_第1页
软件体系结构风格.ppt_第2页
软件体系结构风格.ppt_第3页
软件体系结构风格.ppt_第4页
软件体系结构风格.ppt_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件体系结构 软件体系结构风格 主要内容 n软件体系结构风格概述 n经典软件体系结构风格 n客户/服务器风格 n浏览器/服务器风格 n层次风格 n异构结构风格 软件体系结构风格概述 n软件体系结构风格style :描述某一特 定应用领域中系统组织方式的惯用模式 。 n体系结构风格定义了一个系统家族 n体系结构风格反映了领域中众多系统所 共有的结构和语义特性 经典的体系结构风格 n数据流风格:批处理序列;管道/过滤 器。 n调用/返回风格:主程序/子程序;面向 对象风格;层次结构。 n独立构件风格:进程通讯;事件系统 n虚拟机风格:解释器;基于规则的系统 n仓库风格:数据库系统;超文本系统; 黑板系统。 经典软件体系结构风格 n管道和过滤器 n数据抽象和面向对象组织 n基于事件的隐式调用 n分层系统 n仓库系统及知识库 nC2风格 管道与过滤器风格 管道和过滤器 n每个构件都有一组输入和输出,构件读输入 的数据流,经过内部处理,然后产生输出数 据流。 n这种风格的连接件就象是数据流传输的管道 ,将一个过滤器的输出传到另一过滤器的输 入 n这里的构件被称为过滤器,这种风格的连接 件就象是数据流传输的管道,将一个过滤器 的输出传到另一过滤器的输入。 管道和过滤器应用举例 nATM机 n汽车牌照识别系统 n图像捕捉 n灰度化 n拉伸 n边缘处理 n模板匹配 n识别 n等数据流水线系统 n每一步数据质量将会影响到下一步 管道和过滤器风格优点 nP52 管道和过滤器风格缺点 nP53 数据抽象和面向对象组织 数据抽象和面向对象组织 n大量运用面向对象的特点 n此风格的组成构件为对象 该风格的优点 n面向对象的优点 该风格的缺点 n对象身份的依赖性 n继承关系导致树状层次,该层次不利于 系统的理解和修改 基于事件的隐式调用 n解决对象依赖问题 n构件不直接调用一个过程,而是触发或 广播一个或多个事件。系统中的其它构 件中的过程在一个或多个事件中注册, 当一个事件被触发,系统自动调用在这 个事件中注册的所有过程 基于事件的隐式调用 n这种风格的构件是一些模块,模块既可 以是一些过程,又可以是一些事件的集 合 n应用举例:Debugger 该风格优点 n为软件重用提供了强大的支持。当需要 将一个构件假如现存系统时,只需注册 事件即可。 n改进系统带来了方便。若需要更改构件 ,不会影响到其他构件的接口。 该风格的缺点 n方法调用无序,会产生不同的结果。 n大数据不广播 分层系统 n层次系统组织成一 个层次结构,每一 层为上层服务,并 作为下层客户。在 一些层次系统中, 除了一些精心挑选 的输出函数外,内 部的层只对相邻的 层可见 分层系统 n层次不能乱划分,是固定的。 n每一层仅向上层提供服务,仅使用下层 的服务,不跨层。 n优秀的分层系统: n操作系统 n网络七层架构 分层系统优点 n容易修改,只需更改内容,保持层与层 接口不变即可。 n支持重用,可移植性高 n信息隐藏 分层系统缺点 n不容易划分层次 n跨层调用可能会损坏分层 n为提高可移植性,层与层之间有虚拟机 仓库系统及知识库 n主要用在交换或共享大量数据的软件中 n对大量素材或元素进行管理的软件,通 常用该风格 n比如:数据库系统、信息检索、黑板系 统、语音和模式识别系统等 黑板系统 C2风格 nC2是最常用的一种软件体系结构风格 n可以概括为通过连接件绑定在一起的、 按照一组规则运作的并行构件网络 C2风格实例 n3个构件:comUser(验证用户信息)、 comUI、comVoucher(单据相关) n1个连接件 comInput C2风格实例-录入数据 comUser 3、验证, 并告诉comInput结果 comUI 1、有用户输入 告诉comInput 7、显示结果 comVoucher 5、录入, 并告诉comInput结果 comInput 2、告诉comUser, 有用户来了,请验证。 4、收到结果,合法,告诉Voucher录入 6、告诉comUI已录入 C2风格特点 n构件的连接靠连接件 n构件相对独立,依赖性少 n可以将任意复杂度的构件组装在一起 n连接件可以和任意数目的其他构件或连 接件相连 下节课内容 n客户/服务器风格 n三层C/S风格 n浏览器/服务器风格 nP2P风格 复习 n管道/过滤器风格 n面向对象风格 n基于事件的隐式调用 n分层系统 n仓库及知识库 nC2风格 本节主要内容 n客户/服务器风格 n三层C/S风格 n浏览器/服务器风格 nP2P风格 客户/服务器风格 n产生背景 n资源不对等,为实现数据共享而提出。 n主要特点: n客户端/服务器端 n重要组成部分: n数据库服务器、客户端程序、网络 客户/服务器风格 任务分配-服务器 n服务器(饭堂)的任务: n数据安全(保证食物质量) n数据并发性控制(排队打饭) n数据完整性(1块钱打1块钱的饭) n数据的备份和恢复(做记录) 任务分配-客户端 n客户端的任务: n提供用户与数据库的交互界面(一只碗) n提交和接受来自数据库的信息(红烧肉) n根据数据,执行逻辑任务(吃、消化) 处理流程 C/S风格优点 n分离客户端、服务器端,增加了系统灵 活性,易于对系统进行扩充和缩小 n客户端与服务端直接相连,没有中间环 节,响应速度快 n操作界面漂亮、形式多样 n方便实现复杂的业务流程 C/S风格缺点 n要专门为客户安装程序,分布功能弱 n兼容性差 n成本高 n客户端压力大(胖客户端) 三层C/S风格 n雇了保姆 n保姆的职责:跑腿、盛饭、打卡 n客户:饭来张口、衣来伸手 n服务器:提供所需饭菜 三层C/S结构风格 优势 n相比两层C/S结构,三层的优势在于: n服务器安全性提高 n客户端成功减肥 n易于维护(若逻辑有问题,不需要重新 安装客户端) n易于开发,每层可用不同的语言。 处理流程 C/S三层结构 n表示层 n提供界面 n检查数据 n功能层 n应用、逻辑相关 n数据层 n迅速对大量数据进行更新和检索 C/S三层结构 n主要用途 n用在数据流量大、频繁读写、逻辑性强 的软件中 n例如ERP系统、图书管理系统等 浏览器/服务器风格 nP66 n由于C/S模式客户端程序安装带来的麻 烦,客户端要求再瘦一些。 n随着浏览器的兴起,C/S模式中客户端 的要求得到了满足。 n客户端皮包骨头 浏览器/服务器风格 nBrowser/Server即:B/S风格 n是C/S三层结构的一种实现方式,具体 表现为: n浏览器/Web服务器/服务器 B/S模式结构 B/S系统优点 n安装、维护、修改 全在服务器端 n工作量减少 n降低成本 n开放性强,都可以来访问 n平台无关性,可以任意扩展 n信息发布和信息交流更加灵活 B/S系统的缺点 n应用服务器负荷过重 n浪费流量(整个页面提交) n不利于大量数据处理(安全性和速度) C/S和B/S比较 网络安全 控制 软件 重用 维 护 开 销 信息 交流 数据 C/S 局域网能力 高 不高大机械式 重在 处理 B/S广域网能力 低 较强小信息中 心 重在 共享 C/S和B/S共同的缺点 n若访问量大,服务器面临崩溃的危险 n如何解决? nP2P的提出 P2P风格 nPeer To Peer n点对点 n资源不被集中在一个地方(服务器),而 是回归个人 n人越多,提供资源的人越多。 P2P风格 n问题: n是否提供资源的人越多,速度越快? n答:否,与网络的带宽也有关系。 复习题 n名词解释: n构件 n4+1模型 nC2风格 下节内容 n正交体系结构风格 n基于层次消息总线的体系结构风格 n异构结构风格 正交体系结构 nP70 n正交软件体系结构由组织层和线索构成 n组织层由相同级别的构件构成 n线索是子系统的特例、它由不同层次功 能的构件组成,每一条线索完成整个系 统中相对独立的一部分功能。 n如果线索独立,线索间有没有互相调用 ,则被称为完全正交结构 正交体系结构框架(3级5层) 一条完整的线索 正交系统举例-播放器 播放控制部分 模式控制部分 个人设置 搜索功能 主控制窗口 菜单层 功能对话 功能定义 物理数据 正交软件体系结构 n正交(orthogonal):相互独立 n该体系结构的特点: n由不同功能的线索组成 n有不同抽象级别的层 n线索之间相互独立(正交) n系统有一个公共驱动层和一个公共数据 结构 正交体系结构的优点 nP77 n结构清晰、易于理解 n易修改,易增加,可维护性强 n可移植性强,重用粒度大 基于层次消息总线的体系结构 nHMB ( Hierarchy Message Bus)层 次消息总线 n由北京大学杨芙清院士提出 HMB风格概述 HMB风格概述 n消息总线是系统的连接件,负责消息的 分派、传递、处理结果的返回 n构件挂在消息总线上,告诉总线自己感 兴趣的消息类型 n由于构件通过总线进行连接,那么并不 要求各个构件“在一起” HMB风格概述 n每个构件内部可以采用不同的风格,如 管道过滤器风格、面向对象风格等。 n整个HMB风格的系统可以是一套完整 的系统,也可以是一个构件 异构结构风格 nP83 n异构:不同的结构 n异构体系结构 n软件体系结构采用的不是单一的体系风格 ,而是多种软件体系风格的融合。 n为什么要使用异构结构? 为什么要使用异构结构 n不同的结构都有不同的强项和弱势 n一些结构在某一个时间段会占据统治地 位,但其变动最终是绝对的 n同一种体系结构下的可重用的部件和连 接件在不同时期可能存在不同的标准 n如果要重用原来系统中遗留下来的代码 ,那么就要解决与新系统结构的不协调 问题。 常见的异构结构 n讨论B/S和C/S的异构 n当传统的C/S遇到新潮的B/S: n内外有别 n查改有别 内外有别 模型 内外有别 特点 n优点:外部用户不直接访问数据库服务 器、企业内部用户的交互性较强,数据 查询和修改相应速度快 n缺点:企业外部用户修改和维护数据时 ,速度慢,较繁琐,数据交互不强 查改有别 模型 查改有别 特点 n优点:体现了B/S体系结构和C/S体系 结构的共同优点 n缺点:因外部用户能直接访问数据库服 务器,会引发安全问题。 汇总风格 n经典风格 n管道、过滤器风格 n面向对象风格 n基于事件的隐式调用 n分层系统 n仓库系统和知识库 nC2风格 nB/S、C/S n正交软件体系结构 n基于层次消息总线 n异构风格 管道过滤器 n数据流向一致 n过滤器都有数据的流入和流出 n过滤器可以任意交换位置或增减 n缺点: n不利于交互性强的软件 面向对象风格 n对象独立 n面向对象的优点 n缺点: n对象名依赖 n继承引起代码复杂 基于事件的隐式调用 n事件广播 n方法与事件注册到一起 n当事件广播时方法被调用 n缺点: n方法调用无序 n大数据不广播 分层系统 n优秀的分层系统 nOS、网络七层协议 n层与层之间独立 n上层向下层索取服务,下层为上层提供 服务 n跨层不通信 黑板系统 n知识源独立 n知识源通过改变黑板来解决问题 n黑板共享数据 n通常用在大数据程序中 C2风格 n构件独立 n构建通过连接件连接 主要内容 n特定领域的体系结构 n复习 n练习题 特定领域软件体系结构 P92 nDSSA ( Domain Specific Software Architecture) n特定领域软件体系结构 n一般的软件过程针对某个特定的软件系 统,获取需求,设计架构。 nDSSA关注于某个特定领域。 neg:web领域、医疗领域、金融领域 等 特定领域软件体系结构 n具体做法:通过对某个特定领域的分析 ,提出典型需求,得到领域模型,设计 架构,实现其组成模块 n若特定软件需要,可以对照需求,配置 架构,选取合适的构件,完成开发。 n因此DSSA重点不是应用,而是提供重 用 DSSA的基本活动 领域分析 领域设计 领域实现 以上三个阶段是反反复复、逐步求精的过程 参加DSSA的人员 n领域专家 n领域中有经验的用户、长期从事该领域的软件工 程师 n领域分析人员 n有知识背景的有经验的系统分析师 n领域设计人员 n有经验的软件设计者 n领域实现人员 n有经验的程序设计者 DSSA的建立过程 n领域不同,DSSA的创建和使用过程也 各有差异 n共有5个框架步骤 DSSA的建立过程-5步 n定义领域范围(画一幅山水画) n定义领域特定的元素(定义山和水) n定义领域特定的设计和实现需求约束

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论