02SA的风格.pptVIP

  1. 1、本文档共131页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
02SA的风格.ppt

mrchenq@263.net SA的风格 陈虔 mrchenq@126.com 主要内容 SA风格基础; 经典风格; 正交风格; 消息总线风格; C/S风格; 异构风格; DSSA风格; SA的核心问题 SA设计的一个核心问题是能否使用重复的体系结构模式,即能否达到体系结构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系结构。 基于这个目的,我们必须研究和实践SA的风格和类型问题。 SA风格 SA风格是描述某一特定应用领域中系统组织方式的惯用模式。反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。 SA风格定义了用于描述系统的术语表和一组指导构件系统的规则。 对SA风格研究的益处 对SA风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。 体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。 例如,如果某人把系统描述为客户/服务器模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。 对SA风格研究的益处 采用例行的结构将使系统组成更易于被人理解 使用标准化的风格有利于系统的互操作性(如:COBRA体系、OSI协议栈等) 风格的可视化也为设计师提供了图形和文本的描述工具 SA需要回答的问题 设计词汇表是什么? 构件和连接件的类型是什么? 允许的结构模式是什么? 基本的计算模型是什么? 风格的基本不变性是什么? 其使用的常见例子是什么? 使用此风格的优缺点是什么? 其常见的特例是什么? SA风格的四个关键要素 一个词汇表 定义一套配置规则 定义一套语义解释规则 定义对基于这种风格的系统进行的分析 风格与开发、设计模式的区别 SA风格的分类方法 管道过滤模式 面向对象模式 事件驱动模式 分层模式 知识库模式 解释器模式 过程控制环模式 异构模式的集成 SA风格的分类方法 Garlan和Shaw对通用SA风格的分类: 数据流风格:批处理序列;管道/过滤器 调用/返回风格:主程序/子程序、面向对象风格、层次结构 独立构件风格:进程通讯;事件系统 虚拟机风格:解释器;基于规则的系统 仓库风格:数据库系统;超文本系统;黑板系统 1、 C2风格 C2来源于Chiron-1用户界面系统,故而得名 C2风格是一种基于构件和消息的风格,用于构建灵活的、可扩展的软件系统 C2是一个层次网络,通过连接件绑定在一起的按照一组规则运作的并行构件网络。 C2风格主要用于具有图形化用户界面的应用软件 C2的系统组织规则 C2的中心原则是有限可视原则,即与下层独立的原则 系统中的构件和连接件都有一个顶部和一个底部; 构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的; 连接件可和任意数目的其它构件和连接件连接; 当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。 C2风格的体系结构 C2内部的体系结构 C2体系结构的特点 基于构件的风格:可以用任何程序设计语言开发构件 可扩展能力:可以有多种粒度的构件,系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;可以在分布异构的环境中运行。 依赖性小:构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。 适应性:可以有多个用户与系统交互,也可以同时激活多个对话并用不同的形式表示它们 以消息为基本通信机制:所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的; 2、管道/过滤器风格 这种风格的SA中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。 这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。 因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。 管道/过滤器风格的体系结构 过滤器必须是独立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。 一个管道/过滤器网络输出的正确性并不依赖于过滤器进行增量计算过程的顺序。 实例:用Unix shell编写的程序 Unix既提供一种符号,以连接各组成部分(Unix的进程),又提供某种进程运行时机制以实现管道。 cat file | grep xyz | sort | uniq out 在文件中查找含有xyz的行,排序后,去掉相同的行,结构输出到out 实例:传统的编译器 传统的编译器就是一种管道系统 在该系统中,一个阶段(包括词法分析、语法分

文档评论(0)

wwvfz702 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档