第3章 软件体系结构风格_图文.pptVIP

  1. 1、本文档共195页,可阅读全部内容。
  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文档。上传文档
查看更多
课 程 内 容 ◇ 软件重用与构件技术 ◇ 软件体系结构概论 ◇ 软件体系结构的风格 ◇ 软件体系结构描述 ◇ 软件体系结构设计 ◇ 基于体系结构的软件开发过程 ◇ 软件体系结构评估 ◇ Web服务体系结构 ◇ 特定领域的软件体系结构 ◇ 软件体系结构集成开发环境 哥特式建筑风格 德国科隆大教堂 圣母大学的天主教教堂 巴洛克建筑风格 意大利圣卡罗教堂 洛可可建筑风格 理解体系结构风格 为了理解体系结构风格的思想,可以考虑一个熟悉的例子——编译器。第一个编译器的诞生花费了开发者多年的时间。由于没有人做过类似的工作,因此,人们提出了很多方案。然而,时至今日,我们已非常理解编译器的原理,人们认为一个编译器的结构包括一个词法分析器、一个解析器、一个语法检查的集合和一个后端的代码生成器。现在构造技术被标准化,并且提供了可以自动实现编译器的许多例程的工具。因此,现在编译程序的开发就被简化了。而另外的构件,例如代码优化器,也可以很容易地加入到编译器中,这些技术大大减轻了开发人员的负担。 使用体系结构风格的优点: (1)促进设计重用。可以把已经被透彻理解了的常规解决方案重新应用到新的问题中。 (2)使代码被重用,使得体系结构风格中的不变部分可共享同一个解决方案。 (3)采用例行的结构,将使系统组成更易于被其他人理解。例如,即使不给出细节,如果说一个系统是客户/服务器风格的,就能够使人想象出系统的大致组成和结构图。 管道过滤器体系结构例子 管道过滤器体系结构最著名的例子是Unix的shell程序,最简单地说,比如这样一个命令:cat file|grep xyz|sort|uniqout,系统将先在文件中查找含有xyz的行,排序后,去掉相同的行,最后结果放到out中。各个Unix进程作为构件,管道在文件系统中创建。编译器也是一个典型的例子:词法分析-〉句法分析-〉语义分析-〉代码生成。 层次系统最广泛的应用是分层通信协议(OSI-ISO)。在这一应用领域中,每一层提供一个抽象的功能,作为上层通信的基础。较低的层次定义低层的交互,最低层通常只定义硬件物理连接。其它的典型例子还包括:操作系统(如Unix系统)、数据库系统、计算机网络协议组(如TCP/IP)等。 黑板系统主要由以下三部分组成: (1)知识源。知识源中包含独立的、与应用程序相关的知识,知识源之间不直接进行通信,它们之间的交互只通过黑板来完成。 (2)黑板数据结构。黑板数据是按照与应用程序相关的层次来组织的解决问题的数据,知识源通过不断地改变黑板数据来解决问题。 (3)控制。控制完全由黑板的状态驱动,黑板状态的改变决定使用的特定知识。 “黑板”模式类似于这样一个情形,即让专家们坐在真实黑板前并一起工作来解决一个问题。每个专家独立评估解法的当前状态,并可在任何时间到黑板上添加、更改或删除信息。人们往往要决定接下来谁去访问黑板。在黑板模式中,如果可用的组件超过一个,仲裁者(moderator)组件决定程序执行的顺序。 黑板风格是某些对人类行为进行模拟的人工智能应用系统的重要设计方法之一。例如,语音识别、模式识别、三维分子结构建模。最早应用黑板体系结构的也是一个人工智能领域的应用程序:Hearsay II语音识别项目。该系统以自然语言的语音信号为输入,经过音节、词汇、句法和语义等多个方面的分析,得到用户对数据库的查询请求。 解释器风格通常被用于建立一种虚拟机以弥合程序的语义与作为计算引擎的硬件的间隙。由于解释器实际上创建了一个软件虚拟出来的机器,所以这种风格又常常被称为虚拟机风格。 解释器风格的系统通常包括一个作为执行引擎的状态机和3个存储器,即系统由4个构件组成:正在被解释的程序、执行引擎、被解释的程序的状态、执行引擎的当前状态。 解释器风格适用于这样的情况:应用程序并不能直接运行在最适合的机器上,或不能直接以最适合的语言执行。 它的优点是有助于应用程序的可移植性和程序设计语言的跨平台能力。 缺点是额外的间接层次带来了系统性能的下降。 解释器风格的例子有: 程序设计语言的编译器,比如Java,Smalltalk等。 基于规则的系统,比如专家系统领域的Prolog等。 脚本语言,比如Awk,Perl等。 模型-视图-控制器风格,常被简称为MVC风格,主要处理软件用户界面开发中所面临的问题。 软件系统的用户界面经常发生变化。例如,在新增加功能时菜单上需要有所反映,在不同的系统平台之间有不同的外观标准,用户界面还要适应不同用户的喜好与风格,甚至需要在运行中改变等。而且,可能需要为一个内核开发多种界面。因此,用户界面显然不能与功能内核紧密结合。 它将交互式应用划分为3种构件。 (1)视图:为用户显示模型信息。视图从模型获取数据,一个模型可以对应有多个视图。 (2)模型:模型是应用程序的核

文档评论(0)

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

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

1亿VIP精品文档

相关文档