网站大量收购闲置独家精品文档,联系QQ:2885784924

《现代软件工程(第七讲1)软件体系结构》课件.ppt

《现代软件工程(第七讲1)软件体系结构》课件.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 基本的软件体系结构风格 ----数据抽象和面向对象组织(data abstraction and OO-organization) 部件:对象,或者说是抽象数据类型的实例。 连接:对象间通过函数和过程调用发生相互关系。 特征:1.对象负责维持本身的完整性; 2.信息隐藏:对象的结构和方法的实现对其它对象不可见。 ?抽象、封装、信息隐藏、继承、多态性、动态联编等…... ?一个对象与另一个对象交互时必须知道对方的标识,这种显式调用使得系统的维护变得较困难。 * * 基本的软件体系结构风格 ----基于事件的隐式调用(event -based,implicit invocation) 思想:组件不直接调用一个过程,而是触发或广播一个或多个事件。系统中其它组件的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。这样,事件的触发就可以隐式调用模块中的过程。 特点:事件的声明者不用知道哪些部件会被事件影响。 部件:模块,既可以是过程,又可以是事件集合。 连接:显式和隐式过程调用 ?强有力支持软件复用;系统容易升级。 ?软件部件放弃了对计算的控制,控制完全由系统完成。 ?数据传递常常需要依赖一个存储库来完成,资源管理成为问题。 ?系统正确性的评判问题。因为过程的调用依赖于调用时的环境。 * * 基本的软件体系结构风格 ----分层系统(layered systems) 内核 基本工具 有用的系统 用户 软部件:实现在层次结构中的虚拟机 连接件:层次与层次之间交互的协议 层次化组织原则:每一层向其上层提供服务,并利用下层的服务。 * * 基本的软件体系结构风格 ----分层系统(layered systems) ?支持基于抽象程度递增的系统设计。 ?支持功能扩展、增强。因为功能的改变最多影响相邻的层次。 ?支持复用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。 ?并不是每个系统都可以很容易地划分为分层的模式,有时即使存在逻辑层次结构,但出于对系统性能的考虑,将低层和高层的功能耦合起来。 ?很难找到一个合适的、正确的层次抽象方法。 * * 基本的软件体系结构风格 ----仓库系统(repositories) 软件部件 表示当前状态的中心数据结构 一组相互独立的处理中心数据的部件 部件交互方式 根据输入数据流的事务处理类型决定执行哪个处理过程 根据中心数据结构的当前状态触发进行执行 传统的数据库系统 黑板系统 * * 基本的软件体系结构风格 ----仓库系统(repositories) 黑板 (共享数据) 知识源 知识源 知识源 知识源 直接存取:知识源不断改变黑板的状态。 按照与应用程序相关的层次 组织的问题求解数据 独立、分离的与应用程序 相关的知识及其处理单元 黑板状态驱动控制: 使用特定的知识。 * * 基本的软件体系结构风格 ----表格驱动的解释器(table driven interpreters) 工作存储区 对解释引擎控制状态的表示 被解释程序的当前状态的表示 解释 引擎 输入 输出 计算状态机 被选数据和指令 存储器 数据存取 解释器 * * 基本的软件体系结构风格 ----表格驱动的解释器(table driven interpreters) 工作存储区 规则库 规则与数据元素选择 规则解释引擎 输入 输出 计算状态机 被选数据和规则 存储器 数据存取 事实存储区 专家系统 * * 基本的软件体系结构风格 ----其它类型的体系结构 分布式系统中最常用的体系结构:客户/服务器模型 ? ? ? ? 服务器:为客户提供服务; 事先并不知道有哪些 客户对其进行访问。 客户:必须直接或 间接知道服务器的 标识。 远过程调用 注意:结构的层次可以是两层,也可以是三层(在客户和服务器之间增加了一个中间层:中间件),三层结构中相邻两层仍然保持客户/服务器的关系。 * * 基本的软件体系结构风格 Garlan和Shaw对通用体系结构风格的分类: 数据流风格:批处理序列;管道/过滤器; 过程/调用风格:主程序/子过程;面向对象;分层系统; 独立组件风格:进程通讯;基于事件驱动的系统; 虚拟机风格:表格驱动的解释器;基于规则的系统; 数据中心风格:数据库系统;超文本系统;黑板系统。 小结:一个体系结构风格定义了有相同组织结构模式的一系列系统,并定义了组件和连接器类型的列表以及一套组件连接的约束。 许多体系结构模型还有一个或多个语义模型来指定如何由各部分的属性决定系统的整体属性。 * * 软件体系结构讲座提纲 1. 什么是软件体系结构? 2. 为什么要研究软件体系结构? 3. 软件体系结构的研究角度; 4. 基本的软件体系结构风格; 5. 基于

文档评论(0)

秦圈圈 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档