高级软件工程(SA概述、SA风格及实例).ppt

高级软件工程(SA概述、SA风格及实例).ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级软件工程(SA概述、SA风格及实例)

* 软件体系结构 概述 软件体系结构风格 OMA DNA 一、概述 1、为什么需要研究软件体系结构 规模增加 复杂性增加 需要演化 “算法+数据结构”对于软件的描述不全面 需要提高对软件总体结构的认识 构成成分、成分之间的关系 提供交流基础 反映高层设计 便于系统演化 2、什么是软件体系结构 对系统结构的总体设计与说明 是一种高层设计 关注三方面问题:构件、构件间关系、关系约束 构件: 软件系统由哪些部分构成 例如:数据库、服务器等 构件间的关系: 这些部分之间的交互关系是什么 例如:RPC、共享内存等 关系的约束: 这些关系有什么约束 例如:互斥、 3、软件体系结构的发展 (1)高级编程语言 (2)数据结构与算法 (3)软件结构 (4)抽象数据类型 (5)程序族 (6)软件体系结构 是研究热点,尚未进入成熟阶段 4、目前软件体系结构的研究热点 (1)软件体系结构描述 ADL (2)软件体系结构分类 原理、模式 (3)特定领域的框架 框架 (4)体系结构形式化的基础 过程代数、化学抽象机等 二、体系结构风格 大量地采用设计模式、风格 在许多工程中是十分普遍的 成功工程领域的一个重要特征之一 是对设计形式具有公共的理解 软件也有组织结构风格 需要对这些风格进行研究 以在开发人员之间建立 “公共认识” 1、什么是体系结构风格 2、常见的体系结构风格 3、Pipes and Filters 4、Data Abstraction and Object-Oriented Organization 5、Event-Based Implicit Invocation 6、Layered systems 7、Repositories 8、Interpreters 9、Process Control 10、Other Familiar Architecture 11、Heterogeneous Architecture 12、不同体系结构风格的比较 内 容 1、什么是体系结构风格 (1)风格是一种语言 词汇(管道、过滤器) 语法 语义 (2)风格是一种类型系统 Component(管道) Connector(过滤器) (3)风格是一种理论 由公理和推论组成的集合 管道=》两个端点(读、写) 过滤器=》输入断口、输出断口 2、常见的体系结构风格 数据流系统 批处理系统 管道/过滤器系统 调用/返回系统 主程序/子程序系统 面向对象系统 独立构件 通信进程系统 事件系统 虚拟机 解释器 基于规则的系统 数据为中心的系统 数据库 超文本系统 3、Pipes and Filters (1)基本结构 (2)特征 过滤器是独立实体,相互之间不共享状态 过滤器不了解其它过滤器的信息 (3)例子 利用 Unix Shell 编写的程序 ls | find ... 编译器 词法分析 语法分析 语义分析 代码生成 (4)优点 允许设计者将一个系统的整体输入/输出行为理解 为各个独立过滤器行为的简单合成。 对复用的支持好:任何两个过滤器之间,如果交流 的数据格式匹配,即可以连接在一起。 系统的维护与扩展方便:新的过滤器可以添加到现 有系统中,或者利用改进的过滤器替换老的过滤器。 方便系统分析:例如,吞吐量、死锁等 并发性好:每一个过滤器可以作为一个单独的任务 实现,可以与其它过滤器并行执行。 (5)缺点 经常导致批处理方式。过滤器易被认为是一个 将输入数据转换成输出数据的模块,不利于交互。 在维护或响应两个分离但相关的数据流时,利用 管道/过滤器方式不易。 由于依赖于实现,这样的系统可能强迫一种最 一般的数据传输标准,从而导致了为每一个过滤器进 行数据语法分析的工作,增加了复杂性,降低了性能。 4、Data Abstraction and Object-Oriented Organization (1)基本结构 :对象 :调用 (2)特征 对象负责维持本身的完整性:维护内部变量 对象具有信息隐藏特性:对象的内部结构对其它 对象不可见。 (3)优点 封装: 继承: 多态: (4)缺点 过程调用依赖于对象标识的确定 不同对象的操作关联性弱 5、Event-Based Implicit Invocation (1)基本结构 (2)特征 一个部件可以广播一个或多个事件,或者向系统 注册,希望接受一个或多个事件。 一个事件的激发隐含地导致了对其它模块的过程 的调用。 (3)优点 事件广播者不必知道哪些部件会被事件影响,部 件之间关系弱。 对软件复用提

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档