好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

体系结构PPT 第2章 软件体系结构风格.ppt

36页
  • 卖家[上传人]:ni****g
  • 文档编号:580539640
  • 上传时间:2024-08-29
  • 文档格式:PPT
  • 文档大小:1.20MB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第第2章章软件体系结构风格刘刘 伟伟 (Sunny)(Sunny)weiliu_china@weiliu_china@ 教学内容o定义o管道和过滤器o数据抽象和面向对象组织o基于事件的隐式调用o分层系统o仓库系统o过程控制环路oC/S风格o三层C/S风格oB/S风格 定义o软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式o体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的o体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统 DefinitionoAn architectural style defines a family of systems in terms of a pattern of structural organization. More specifically, an architectural style defines a vocabulary of components and connector types, and a set of constraints on how they can be combined. 经典的体系结构风格o数据流风格: 批处理序列; 管道/过滤器。

      o调用/返回风格:主程序/子程序;面向对象风格;层次结构o独立构件风格:进程通讯;事件系统o虚拟机风格:解释器;基于规则的系统o仓库风格:数据库系统;超文本系统;黑板系统o过程控制环路oC/S风格风格oB/S风格风格 管道和过滤器o每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流o过滤器风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入o不变量:n过滤器虽然可以增量式地处理数据,但是它们是独立的n管道和过滤器的正确输出不依赖其顺序o实例:n编译器,功能程序,并行程序 管道和过滤器 数据抽象和面向对象组织o数据的表示方法和它们的相应操作被封装在一个抽象数据类型或对象中o这种风格的构件是对象或者说是抽象数据类型的实例o对象通过函数和过程的调用来进行交互 数据抽象和面向对象组织 基于事件的隐式调用o构件不直接调用一个过程,而是触发或广播一个或多个事件o系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程o这种风格的构件是一个模块,这些模块可以是一些过程,又可以是一些事件的集合o不变量:事件的触发者并不知道哪些构件会被这些事件影响(观察者模式-Observer)o实例:数据库管理系统,用户界面 基于事件的隐式调用 分层系统o组织成一个层次结构o每一层都为上一层提供了相应的服务,并且接受下一层提供的服务o在分层系统的一些层次中构件实现了虚拟机的功能o实例:分层的通信协议 分层系统 仓库系统o构件:中心数据结构(仓库)和一些独立构件的集合o仓库和在系统中很重要的外部构件之间的相互作用o实例:需要使用一些复杂表征的信号处理系统 仓库系统 过程控制环路o源自于控制理论中的模型框架,将事务处理看成输入、加工、输出、反馈、再输入的一个持续的过程模型。

      o通过持续性的加工处理过程将输入数据转换成既定属性的“产品”,在工控系统、供电、水利甚至可以推广到商务软件体现的管理模型中 过程控制环路 C/S风格——产生背景o在集中式计算技术时代广泛使用的是大型机/小型机计算模型它是通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序o20世纪80年代以后,集中式结构逐渐被以PC机为主的微机网络所取代个人计算机和工作站的采用,永远改变了协作计算模型,从而导致了分散的个人计算模型的产生 C/S风格——基本概念oC/S软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上oC/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络 C/S风格——体系结构 C/S风格——任务分配o服务器n数据库安全性的要求;n数据库访问并发性的控制;n数据库前端的客户应用程序的全局数据完整性规则;n数据库的备份和恢复 C/S风格——任务分配o客户应用程序n提供用户与数据库交互的界面;n向数据库服务器提交用户请求并接收来自数据库服务器的信息;n利用客户应用程序对存在于客户端的数据执行应用逻辑要求 C/S风格——处理流程 C/S风格——优点oC/S体系结构具有强大的数据操作和事务处理能力, 模型思想简单,易于人们理解和接受。

      o系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小o在C/S体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用 C/S风格——缺点o开发成本较高o客户端程序设计复杂o信息内容和形式单一o用户界面风格不一,使用繁杂,不利于推广使用o软件移植困难o软件维护和升级困难o新技术不能轻易应用 三层C/S风格——体系结构 三层C/S风格——处理流程 三层C/S风格——物理结构 三层C/S风格——优点o允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性o允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性o应用的各层可以并行开发,可以选择各自最适合的开发语言。

      o利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础 三层C/S风格——注意点o三层C/S结构各层间的通信效率不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能o设计时必须慎重考虑三层间的通信方法、通信频率及数据量,这和提高各层的独立性一样是三层C/S结构的关键问题 B/S风格——基本概念o浏览器/服务器(B/S)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/Web服务器/数据库服务器oB/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本从某种程度上来说,B/S结构是一种全新的软件体系结构 B/S风格——体系结构 B/S风格——优点o基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级oB/S体系结构还提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实的开放性基础。

      B/S风格——缺点oB/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能oB/S体系结构的系统扩展能力差,安全性难以控制o采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构oB/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于事务处理(OLTP)应用 实例分析o某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销在设计该财务程序的体系结构时,项目组产生了分歧:(1)张工程师认为应该采用客户机/服务器(C/S)结构各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机如果员工在外地出差,需要报销帐务的,也需要安装这个客户端才能进行2)李工程师认为应该采用浏览器/服务器(B/S)结构,各分公司及出差员工直接通过Windows操作系统自带的IE浏览器就可以连接到总公司的财务部主机o经过项目组的激烈讨论,最终选用了C/S和B/S混合结构[问题1]n请用200字以内的文字简要讨论C/S结构与B/S结构的区别及各自的优点和缺点[问题2]n请用200字以内的文字说明如何设计C/S和B/S混合结构,这样设计有什么好处? ENDEND 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.