- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基本的软件体系结构风格 ----分层系统(layered systems) ?支持基于抽象程度递增的系统设计。 ?支持功能扩展、增强。因为功能的改变最多影响相邻的层次。 ?支持复用。只要提供的服务接口定义不变,同一层的不同实现可以交换使用。 ?并不是每个系统都可以很容易地划分为分层的模式,有时即使存在逻辑层次结构,但出于对系统性能的考虑,将低层和高层的功能耦合起来。 ?很难找到一个合适的、正确的层次抽象方法。 基本的软件体系结构风格 ----仓库系统(repositories) 软件部件 表示当前状态的中心数据结构 一组相互独立的处理中心数据的部件 部件交互方式 根据输入数据流的事务处理类型决定执行哪个处理过程 根据中心数据结构的当前状态触发进行执行 传统的数据库系统 黑板系统 基本的软件体系结构风格 ----仓库系统(repositories) 黑板 (共享数据) 知识源 知识源 知识源 知识源 直接存取:知识源不断改变黑板的状态。 按照与应用程序相关的层次 组织的问题求解数据 独立、分离的与应用程序 相关的知识及其处理单元 黑板状态驱动控制: 使用特定的知识。 基本的软件体系结构风格 ----表格驱动的解释器(table driven interpreters) 工作存储区 对解释引擎控制状态的表示 被解释程序的当前状态的表示 解释 引擎 输入 输出 计算状态机 被选数据和指令 存储器 数据存取 解释器 基本的软件体系结构风格 ----表格驱动的解释器(table driven interpreters) 工作存储区 规则库 规则与数据元素选择 规则解释引擎 输入 输出 计算状态机 被选数据和规则 存储器 数据存取 事实存储区 专家系统 基本的软件体系结构风格 ----其它类型的体系结构 分布式系统中最常用的体系结构:客户/服务器模型 ? ? ? ? 服务器:为客户提供服务; 事先并不知道有哪些 客户对其进行访问。 客户:必须直接或 间接知道服务器的 标识。 远过程调用 注意:结构的层次可以是两层,也可以是三层(在客户和服务器之间增加了一个中间层:中间件),三层结构中相邻两层仍然保持客户/服务器的关系。 基本的软件体系结构风格 Garlan和Shaw对通用体系结构风格的分类: 数据流风格:批处理序列;管道/过滤器; 过程/调用风格:主程序/子过程;面向对象;分层系统; 独立组件风格:进程通讯;基于事件驱动的系统; 虚拟机风格:表格驱动的解释器;基于规则的系统; 数据中心风格:数据库系统;超文本系统;黑板系统。 小结:一个体系结构风格定义了有相同组织结构模式的一系列系统,并定义了组件和连接器类型的列表以及一套组件连接的约束。 许多体系结构模型还有一个或多个语义模型来指定如何由各部分的属性决定系统的整体属性。 软件体系结构讲座提纲 1. 什么是软件体系结构? 2. 为什么要研究软件体系结构? 3. 软件体系结构的研究角度; 4. 基本的软件体系结构风格; 5. 基于体系结构的软件开发模式; 6. 异构体系结构; 7. 软件体系结构的当前研究热点。 ? 基于体系结构的软件开发模式 良好的体系结构可以为软件开发和维护带来好处: 识别相似系统的通用结构模式,有助于理解系统高层之间的联系,使得新系统可以作为以前系统的变种来构造; 合适的体系结构是系统成功的关键,而不合适的体系结构可能带来灾难性的后果; 对软件体系结构的理解,可以帮助开发人员在不同的设计方案中做出理性的选择; 体系结构对于分析和描述复杂系统的高层属性通常是十分必要的; 各种体系结构风格的提炼、描述和普遍采用,便于软件开发人员在系统设计中互相交流; 在软件开发文档中清晰地记录系统体系结构,不仅可以显著地节省软件理解的工作量,而且便于在软件维护的全过程中保持系统的总体结构和特性不变。 基于体系结构的软件开发模式 提炼特定应用领域的稳 定需求和易变需求,建 立可复用的领域模型。 在特定领域模型的基础 上提炼特定应用领域的 软件体系结构。 进行体系 结构设计 分配系统功能 到相应的构建 和连接件上 存放设计模式、对象或 其它可重用的设计构件。 设计构件和 连接件 复用/存储 软件体系结构讲座提纲 1. 什么是软件体系结构? 2. 为什么要研究软件体系结构? 3. 软件体系结构的研究角度; 4. 基本的软件体系结构风格; 5. 基于体系结构的软件开发模式; 6. 异构体系结构; 7. 软件体系结构的当前研究热点。 ? 异构体系结构 1. 异构是不可避免的 不同的体系结构在处理能力上有不同的优缺点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。 同一种体系结构下的可重用的部件和连接件在不同时期可能存在不同的标准,特别是连接件中的通信协议标准。 如果要重
文档评论(0)