资源描述
标题标题标题,第一级,第二级,第三级,完整版课件,*,标题标题标题,第一级,第二级,第三级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,完整版课件,*,第,2,章,软件体系结构风格,刘 伟,(Sunny),weiliu_,第2章软件体系结构风格刘 伟(Sunny),教学内容,定义,管道和过滤器,数据抽象和面向对象组织,基于事件的隐式调用,分层系统,仓库系统,过程控制环路,C/S,风格,三层,C/S,风格,B/S,风格,2,完整版课件,教学内容定义2完整版课件,定义,软件体系结构风格是,描述某一特定应用领域中系统组织方式的惯用模式,。,体系结构风格定义了一个系统家族,即,一个体系结构定义一个词汇表和一组约束,。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。,体系结构风格反映了领域中,众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统,。,3,完整版课件,定义软件体系结构风格是描述某一特定应用领域中系统组织方式的惯,Definition,An 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.,4,完整版课件,DefinitionAn architectural sty,经典的体系结构风格,数据流风格,:,批处理序列,;,管道,/,过滤器。,调用,/,返回风格,:主程序,/,子程序;面向对象风格;层次结构。,独立构件风格,:进程通讯;事件系统。,虚拟机风格,:解释器;基于规则的系统。,仓库风格,:数据库系统;超文本系统;黑板系统。,过程控制环路,C/S,风格,B/S,风格,5,完整版课件,经典的体系结构风格数据流风格:批处理序列;管道/过滤器。,管道和过滤器,每个构件都有一组输入和输出,,构件读输入的数据流,经过内部处理,然后产生输出数据流,。,过滤器风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。,不变量:,过滤器虽然可以增量式地处理数据,但是它们是独立的,管道和过滤器的正确输出不依赖其顺序,实例:,编译器,功能程序,并行程序,6,完整版课件,管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,,管道和过滤器,7,完整版课件,管道和过滤器7完整版课件,数据抽象和面向对象组织,数据的表示方法和它们的相应操作,被封装在一个抽象数据类型或对象,中,这种风格的构件是对象或者说是抽象数据类型的实例,对象通过,函数和过程的调用,来进行交互,8,完整版课件,数据抽象和面向对象组织数据的表示方法和它们的相应操作被封装在,数据抽象和面向对象组织,9,完整版课件,数据抽象和面向对象组织9完整版课件,基于事件的隐式调用,构件不直接调用一个过程,而是触发或广播一个或多个事件,系统中的其他构件中的过程在一个或多个事件中,注册,,当一个事件被触发,系统自动调用在这个事件中注册的所有过程。,这种风格的构件是一个模块,这些模块可以是一些过程,又可以是一些事件的集合。,不变量:,事件的触发者并不知道哪些构件会被这些事件影响(观察者模式,-Observer,),实例:数据库管理系统,用户界面,10,完整版课件,基于事件的隐式调用构件不直接调用一个过程,而是触发或广播一个,基于事件的隐式调用,11,完整版课件,基于事件的隐式调用11完整版课件,分层系统,组织成一个,层次结构,每一层都为上一层提供了相应的服务,并且接受下一层提供的服务,在分层系统的一些层次中构件实现了虚拟机的功能,实例:分层的通信协议,12,完整版课件,分层系统组织成一个层次结构12完整版课件,分层系统,13,完整版课件,分层系统13完整版课件,仓库系统,构件:,中心数据结构(仓库),和一些独立构件的集合,仓库和在系统中很重要的外部构件之间的相互作用,实例:需要使用一些复杂表征的信号处理系统,14,完整版课件,仓库系统构件:中心数据结构(仓库)和一些独立构件的集合14完,仓库系统,15,完整版课件,仓库系统15完整版课件,过程控制环路,源自于控制理论中的模型框架,将事务处理看成,输入、加工、输出、反馈、再输入,的一个持续的过程模型。,通过,持续性的加工处理过程将输入数据转换成既定属性的“产品”,,在工控系统、供电、水利甚至可以推广到商务软件体现的管理模型中。,16,完整版课件,过程控制环路源自于控制理论中的模型框架,将事务处理看成输入、,过程控制环路,17,完整版课件,过程控制环路17完整版课件,C/S,风格,产生背景,在集中式计算技术时代广泛使用的是大型机,/,小型机计算模型。它是通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序。,20,世纪,80,年代以后,集中式结构逐渐被以,PC,机为主的微机网络所取代。个人计算机和工作站的采用,永远改变了协作计算模型,从而导致了分散的个人计算模型的产生。,18,完整版课件,C/S风格产生背景在集中式计算技术时代广泛使用的是大型机,C/S,风格,基本概念,C/S,软件体系结构是,基于资源不对等,且为实现共享而提出来的,,是,20,世纪,90,年代成熟起来的技术,,C/S,体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。,C/S,体系结构有三个主要组成部分:,数据库服务器、客户应用程序和网络,。,19,完整版课件,C/S风格基本概念C/S软件体系结构是基于资源不对等,且,C/S,风格,体系结构,20,完整版课件,C/S风格体系结构20完整版课件,C/S,风格,任务分配,服务器,数据库安全性的要求;,数据库访问并发性的控制;,数据库前端的客户应用程序的全局数据完整性规则;,数据库的备份和恢复。,21,完整版课件,C/S风格任务分配服务器21完整版课件,C/S,风格,任务分配,客户应用程序,提供用户与数据库交互的界面;,向数据库服务器提交用户请求并接收来自数据库服务器的信息;,利用客户应用程序对存在于客户端的数据执行应用逻辑要求,22,完整版课件,C/S风格任务分配客户应用程序22完整版课件,C/S,风格,处理流程,23,完整版课件,C/S风格处理流程23完整版课件,C/S,风格,优点,C/S,体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。,系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这,对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。,在,C/S,体系结构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个,DBMS,进行编码。,将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。,24,完整版课件,C/S风格优点C/S体系结构具有强大的数据操作和事务处理,C/S,风格,缺点,开发成本较高,客户端程序设计复杂,信息内容和形式单一,用户界面风格不一,使用繁杂,不利于推广使用,软件移植困难,软件维护和升级困难,新技术不能轻易应用,25,完整版课件,C/S风格缺点开发成本较高25完整版课件,三层,C/S,风格,体系结构,26,完整版课件,三层C/S风格体系结构26完整版课件,三层,C/S,风格,处理流程,27,完整版课件,三层C/S风格处理流程27完整版课件,三层,C/S,风格,物理结构,28,完整版课件,三层C/S风格物理结构28完整版课件,三层,C/S,风格,优点,允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能,提高系统和软件的可维护性和可扩展性,。,允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以,具有良好的可升级性和开放性,。,应用的各层可以,并行开发,,可以选择各自最适合的开发语言。,利用功能层,有效地隔离开表示层与数据层,,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,,为严格的安全管理奠定了坚实的基础,。,29,完整版课件,三层C/S风格优点允许合理地划分三层结构的功能,使之在逻,三层,C/S,风格,注意点,三层,C/S,结构,各层间的通信效率不高,,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。,设计时,必须慎重考虑三层间的通信方法、通信频率及数据量,,这和提高各层的独立性一样是三层,C/S,结构的关键问题。,30,完整版课件,三层C/S风格注意点三层C/S结构各层间的通信效率不高,,B/S,风格,基本概念,浏览器,/,服务器,(B/S),风格就是上述三层应用结构的一种实现方式,其具体结构为:,浏览器,/Web,服务器,/,数据库服务器,。,B/S,体系结构主要是利用不断成熟的,WWW,浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,,B/S,结构是一种全新的软件体系结构。,31,完整版课件,B/S风格基本概念浏览器/服务器(B/S)风格就是上述三,B/S,风格,体系结构,32,完整版课件,B/S风格体系结构32完整版课件,B/S,风格,优点,基于,B/S,体系结构的软件,系统安装、修改和维护全在服务器端解决。,用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“,零客户端,”的功能,很容易在运行时自动升级。,B/S,体系结构还,提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实的开放性基础。,33,完整版课件,B/S风格优点基于B/S体系结构的软件,系统安装、修改和,B/S,风格,缺点,B/S,体系结构,缺乏对动态页面的支持能力,没有集成有效的数据库处理功能,。,B/S,体系结构的,系统扩展能力差,安全性难以控制,。,采用,B/S,体系结构的应用系统,,在数据查询等响应速度上,要远远低于,C/S,体系结构,。,B/S,体系结构的数据提交一般以页面为单位,数据的动态交互性不强,,不利于在线事务处理,(OLTP),应用,。,34,完整版课件,B/S风格缺点B/S体系结构缺乏对动态页面的支持能力,没,实例分析,某集团公司要开发一个网络财务程序,使各地员工能在互联网络上进行财务处理和报销。在设计该财务程序的体系结构时,项目组产生了分歧:,(,1,)张工程师认为应该采用客户机,/,服务器(,C/S,)结构。各分公司财务部要安装一个软件客户端,通过这个客户端连接到总公司财务部主机。如果员工在外地出差,需要报销帐务的,也需要安装这个客户端才能进行。,(,2,)李工程师认为应该采用浏览器,/,服务器(,B/S,)结构,各分公司及出差员工直接通过,Windows,操作系统自带的,IE,浏览器就可以连接到总公司的财务部主机。,经过项目组的激烈讨论,最终选用了,C/S,和,B/S,混合结构。,问题,1,请用,200,字以内的文字简要讨论,C/S,结构与,B/S,结构的区别及各自的优点和缺点。,问题,2,请用,200,字以内的文字说明如何设计,C/S,和,B/S,混合结构,这样设计有什么好处?,35,完整版课件,实例分析某集团公司要开发一个网络财务程序,使各地员工能在互联,END,Thanks!,36,完整版课件,ENDThanks!36完整版课件,感谢亲观看此幻灯片,此课件部分内容来源于网络,,如有侵权请及时联系我们删除,谢谢配合!,感谢亲观看此幻灯片,
展开阅读全文