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

南华大学计算机科学与技术学院软件体系结构与设计模式课件 第2讲.ppt

南华大学计算机科学与技术学院软件体系结构与设计模式课件 第2讲.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
管道是批处理的进化 过程控制系统的目标是将过程输出的指定属性维持在一个(充分接近)特定的参考点即设定点。 * * 管道-过滤器风格实例——数字通信系统 在数字通信中存在以下几个突出的问题: 数字信号传输时,信道噪声或干扰所造成的差错,原则上都可以通过差错控制编码等手段来控制。为此,在发送端需要增加一个编码器,而在接收端相应的需要一个解码器。 当需要保密时,可以有效的对基带信号进行加密,防止信息被窃取或通信 被破坏。此时,在接收端就需要进行解密。 由于数字通信传输的是一个接一个按节拍传送的数字信号单元,即码元,因而接收端必须与发送端按相同的节拍进行接收。不然,会因接收节拍不一致而造成混乱,使接收倒的数据全部无效。因此,数字通信系统中必须有同步控制构件。 针对上述问题,可得到数字通信系统详细模型(下图) * * 管道-过滤器风格实例——数字通信系统 数字通信系统详细模型 * * 管道-过滤器风格的例子-编译器(1) 输入:源程序 预处理:负责宏展开和去掉注释等工作。 编译:进行词法分析、语法分析、语义分析、代码优化和代码产生。?? 汇编:负责把汇编代码转换成机器指令,生成目标文件?? 链接:负责把多个目标文件、静态库和共享库链接成可执行文件/共享库。 输出:可执行文件/共享库。 * * 管道-过滤器风格的例子-编译器(2) 输入:预处理之后的源代码。 词法分析:负责将源程序分解成一个一个的token,这些token是组成源程序的基本单元。 语法分析:把词法分析得到的token解析成语法树。 语义分析:对语法树进行类型检查等语义分析。?? 代码优化:对语法树进行重组和修改,以优化代码的速度和大小。 代码产生:根据语法树产生 汇编代码。?? 输出:汇编代码。 * * * * * * 管道-过滤器风格实例 需求描述:假设有一批实时的二维坐标点数据需要变换(即对点的横、纵坐标进行缩放),并在屏幕上进行显示,要求外部要能设置变换规则(如缩放倍数)和显示规则(如显示模式和显示颜色)。 * * 管道-过滤器风格实例 体系结构建模 这是一个对坐标点的数据流进行顺序处理的过程,可以应用管道-过滤器体系结构建模。 将这个系统分为两个过滤器,一个为坐标点数据流变换过滤器,另一个为坐标点数据流实时显示过滤器。坐标点数据流变换过滤器有一个外部控制接口对变换规则如缩放倍数进行设置,坐标点数据流实时显示过滤器有一个外部控制接口对显示规则如显示模式和显示颜色进行设置。整个系统的体系结构如图所示。 * * 管道-过滤器风格实例 系统体系结构图 * * 管道-过滤器风格实例 过滤器的设计 可以将过滤器用状态转换图表示。过滤器有如下状态:停止状态,工作状态,等待状态,休眠状态。 停止状态:表示过滤器处于待启动状态,当外部启动过滤器后,过滤器处于处理状态; 处理状态:表示过滤器正在处理输入数据队列中的数据; * * 管道-过滤器风格实例 过滤器的设计 等待状态:表示过滤器的输入数据队列为空,此时过滤器等待,当有新的数据输入时,过滤器处于处理状态; 休眠状态:表示过滤器已经启动,但被挂起。挂起的原因可能是由于外界用户要设置过滤器的控制参数,这样暂时将过滤器挂起但不中止它,当控制参数设置完毕后再将过滤器还原,继续运行。 * * 管道-过滤器风格实例 过滤器状态转换图 * * 总结:选择一个数据流风格的指导 任务由数据主导 事先知道数据的确切流向 管道过滤器风格是一个很好的选择,在面对多数据流应用的情况下 他们允许重用和重构过滤器 通常很容易考虑 降低系统测试 允许渐进和并行处理 数据的流动带来性能损耗 * * 数据流风格三种例子 Batch Sequential(批处理) Pipe-and-Filter(管道) Process Control(控制) * * 开环控制 * * 闭环控制 N 设计图形用户界面(GUI)常用的事件驱动风格; 设计操作系统常用的层次化设计风格; 设计编译程序常用的管道与过滤器风格; 设计分布式应用程序常用的客户机/服务器风格等; 一个实用的软件系统通常是几种典型体系结构风格的组合。 数据没有,就没有计算 第一个体系结构可用吗? 如果数据流如此混乱,说明我们选择的体系结构不对 瓶颈 瓶颈 管道是批处理的进化 管道是批处理的进化 Java语言的解析过程(词法分析,语法分析,语义分析,中间代码生成,中间代码优化) Linux命令管道 Java语言的解析过程(词法分析,语法分析,语义分析,中间代码生成,中间代码优化) Linux命令管道 软件的易于维护和升级是衡量软件系统质量的重要指标之一。 在这种模型中,每个过滤器都有自己的数据,这些数据或者是从磁盘存储器中读取来,或者是由另一个过滤器

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档