您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第三章-软件体系结构风格
郑州大学软件学院赵哲软件体系结构软件体系结构风格郑州大学软件学院赵哲主要内容软件体系结构风格概述经典软件体系结构风格客户/服务器风格浏览器/服务器风格层次风格异构结构风格郑州大学软件学院赵哲软件体系结构风格概述软件体系结构风格style:描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族体系结构风格反映了领域中众多系统所共有的结构和语义特性郑州大学软件学院赵哲经典的体系结构风格数据流风格:批处理序列;管道/过滤器。调用/返回风格:主程序/子程序;面向对象风格;层次结构。独立构件风格:进程通讯;事件系统虚拟机风格:解释器;基于规则的系统仓库风格:数据库系统;超文本系统;黑板系统。郑州大学软件学院赵哲经典软件体系结构风格管道和过滤器数据抽象和面向对象组织基于事件的隐式调用分层系统仓库系统及知识库C2风格郑州大学软件学院赵哲管道与过滤器风格过滤器管道郑州大学软件学院赵哲管道和过滤器每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。郑州大学软件学院赵哲管道和过滤器应用举例ATM机汽车牌照识别系统图像捕捉灰度化拉伸边缘处理模板匹配识别等数据流水线系统每一步数据质量将会影响到下一步郑州大学软件学院赵哲管道和过滤器风格优点P52郑州大学软件学院赵哲管道和过滤器风格缺点P53郑州大学软件学院赵哲数据抽象和面向对象组织对象抽象数据类型过程调用对象对象对象对象郑州大学软件学院赵哲数据抽象和面向对象组织大量运用面向对象的特点此风格的组成构件为对象郑州大学软件学院赵哲该风格的优点面向对象的优点郑州大学软件学院赵哲该风格的缺点对象身份的依赖性继承关系导致树状层次,该层次不利于系统的理解和修改郑州大学软件学院赵哲基于事件的隐式调用解决对象依赖问题构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其它构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程郑州大学软件学院赵哲基于事件的隐式调用这种风格的构件是一些模块,模块既可以是一些过程,又可以是一些事件的集合应用举例:Debugger郑州大学软件学院赵哲该风格优点为软件重用提供了强大的支持。当需要将一个构件假如现存系统时,只需注册事件即可。改进系统带来了方便。若需要更改构件,不会影响到其他构件的接口。郑州大学软件学院赵哲该风格的缺点方法调用无序,会产生不同的结果。大数据不广播郑州大学软件学院赵哲分层系统层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层只对相邻的层可见核心层基本工具用户系统各种构件过程调用郑州大学软件学院赵哲分层系统层次不能乱划分,是固定的。每一层仅向上层提供服务,仅使用下层的服务,不跨层。优秀的分层系统:操作系统网络七层架构郑州大学软件学院赵哲分层系统优点容易修改,只需更改内容,保持层与层接口不变即可。支持重用,可移植性高信息隐藏郑州大学软件学院赵哲分层系统缺点不容易划分层次跨层调用可能会损坏分层为提高可移植性,层与层之间有虚拟机郑州大学软件学院赵哲仓库系统及知识库主要用在交换或共享大量数据的软件中对大量素材或元素进行管理的软件,通常用该风格比如:数据库系统、信息检索、黑板系统、语音和模式识别系统等郑州大学软件学院赵哲黑板系统黑板(共享数据)知识源知识源知识源知识源计算内存直接存取郑州大学软件学院赵哲C2风格C2是最常用的一种软件体系结构风格可以概括为通过连接件绑定在一起的、按照一组规则运作的并行构件网络郑州大学软件学院赵哲C2风格实例3个构件:comUser(验证用户信息)、comUI、comVoucher(单据相关)1个连接件comInput郑州大学软件学院赵哲C2风格实例-录入数据comUser3、验证,并告诉comInput结果comUI1、有用户输入告诉comInput7、显示结果comVoucher5、录入,并告诉comInput结果comInput2、告诉comUser,有用户来了,请验证。4、收到结果,合法,告诉Voucher录入6、告诉comUI已录入郑州大学软件学院赵哲C2风格特点构件的连接靠连接件构件相对独立,依赖性少可以将任意复杂度的构件组装在一起连接件可以和任意数目的其他构件或连接件相连郑州大学软件学院赵哲下节课内容客户/服务器风格三层C/S风格浏览器/服务器风格P2P风格郑州大学软件学院赵哲复习管道/过滤器风格面向对象风格基于事件的隐式调用分层系统仓库及知识库C2风格郑州大学软件学院赵哲本节主要内容客户/服务器风格三层C/S风格浏览器/服务器风格P2P风格郑州大学软件学院赵哲客户/服务器风格产生背景资源不对等,为实现数据共享而提出。主要特点:客户端/服务器端重要组成部分:数据库服务器、客户端程序、网络郑州大学软件学院赵哲客户/服务器风格用户1用户2用户3用户4用户5PrintServerLink/RxLPT1LPT2COMPower/TXPWROKWIC0ACT/CH0ACT/CH1WIC0ACT/CH0ACT/CH1ETHACTCOL其他公用设备打印机调制解调器InternetIntranet数据库服务器郑州大学软件学院赵哲任务分配-服务器服务器(饭堂)的任务:1.数据安全(保证食物质量)2.数据并发性控制(排队打饭)3.数据完整性(1块钱打1块钱的饭)4.数据的备份和恢复(做记录)郑州大学软件学院赵哲任务分配-客户端客户端的任务:提供用户与数据库的交互界面(一只碗)提交和接受来自数据库的信息(红烧肉)根据数据,执行逻辑任务(吃、消化)郑州大学软件学院赵哲处理流程输入数据输出数据请求按钮表示层业务处理开始SQL请求结束SQL请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处理所需的全部输入数据全部处理结束DBMS执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新/读取的请求数据登录/更新/读取的结果郑州大学软件学院赵哲C/S风格优点分离客户端、服务器端,增加了系统灵活性,易于对系统进行扩充和缩小客户端与服务端直接相连,没有中间环节,响应速度快操作界面漂亮、形式多样方便实现复杂的业务流程郑州大学软件学院赵哲C/S风格缺点要专门为客户安装程序,分布功能弱兼容性差成本高客户端压力大(胖客户端)郑州大学软件学院赵哲三层C/S风格雇了保姆保姆的职责:跑腿、盛饭、打卡客户:饭来张口、衣来伸手服务器:提供所需饭菜郑州大学软件学院赵哲三层C/S结构风格用户1用户2...用户nInternetIntranet数据库服务器1数据库服务器2应用服务器...郑州大学软件学院赵哲优势相比两层C/S结构,三层的优势在于:服务器安全性提高客户端成功减肥易于维护(若逻辑有问题,不需要重新安装客户端)易于开发,每层可用不同的语言。郑州大学软件学院赵哲处理流程输入数据输出数据请求按钮表示层业务处理开始SQL请求结束SQL请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处理所需的全部输入数据全部处理结束DBMS执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新/读取的请求数据登录/更新/读取的结果功能层郑州大学软件学院赵哲C/S三层结构表示层提供界面检查数据功能层应用、逻辑相关数据层迅速对大量数据进行更新和检索郑州大学软件学院赵哲C/S三层结构主要用途用在数据流量大、频繁读写、逻辑性强的软件中例如ERP系统、图书管理系统等郑州大学软件学院赵哲浏览器/服务器风格P66由于C/S模式客户端程序安装带来的麻烦,客户端要求再瘦一些。随着浏览器的兴起,C/S模式中客户端的要求得到了满足。客户端皮包骨头郑州大学软件学院赵哲浏览器/服务器风格Browser/Server即:B/S风格是C/S三层结构的一种实现方式,具体表现为:浏览器/Web服务器/服务器郑州大学软件学院赵哲B/S模式结构数据库服务器数据库客户端浏览器客户端浏览器Web服务器郑州大学软件学院赵哲B/S系统优点安装、维护、修改全在服务器端工作量减少降低成本开放性强,都可以来访问平台无关性,可以任意扩展信息发布和信息交流更加灵活郑州大学软件学院赵哲B/S系统的缺点应用服务器负荷过重浪费流量(整个页面提交)不利于大量数据处理(安全性和速度)郑州大学软件学院赵哲C/S和B/S比较网络安全控制软件重用维护开销信息交流数据C/S局域网能力高不高大机械式重在处理B/S广域网能力低较强小信息中心重在共享郑州大学软件学院赵哲C/S和B/S共同的缺点若访问量大,服务器面临崩溃的危险如何解决?P2P的提出郑州大学软件学院赵哲P2P风格PeerToPeer点对点资源不被集中在一个地方(服务器),而是回归个人人越多,提供资源的人越多。郑州大学软件学院赵哲P2P风格问题:是否提供资源的人越多,速度越快?答:否,与网络的带宽也有关系。郑州大学软件学院赵哲复习题名词解释:构件4+1模型C2风格郑州大学软件学院赵哲下节内容正交体系结构风格基于层次消息总线的体系结构风格异构结构风格郑州大学软件学院赵哲正交体系结构P70正交软件体系结构由组织层和线索构成组织层由相同级别的构件构成线索是子系统的特例、它由不同层次功能的构件组成,每一条线索完成整个系统中相对独立的一部分功能。如果线索独立,线索间有没有互相调用,则被称为完全正交结构郑州大学软件学院赵哲正交体系结构框架(3级5层)ACB……D……GFHE…………J……K第一层第二层第五层第四层第三层郑州大学软件学院赵哲一条完整的线索郑州大学软件学院赵哲正交系统举例-播放器播放控制部分模式控制部分个人设置搜索功能主控制窗口菜单层功能对话功能定义物理数据郑州大学软件学院赵哲正交软件体系结构正交(orthogonal):相互独立该体系结构的特点:1.由不同功能的线索组成2.有不同抽象级别的层3.线索之间相互独立(正交)4.系统有一个公共驱动层和一个公共数据结构郑州大学软件学院赵哲正交体系结构的优点P77结构清晰、易于理解易修改,易增加,可维护性强可移植性强,重用粒度大郑州大学软件学院赵哲基于层次消息总线的体系结构HMB(HierarchyMessageBus)层次消息总线由北京大学杨芙清院士提出郑州大学软件学院赵哲HMB风格概述构件消息总线(连接件)复合构件郑州大学软件学院赵哲HMB风格概述消息总线是系统的连接件,负责消息的分派、传递、处理结果的返回构件挂在消息总线上,告诉总线自己感兴趣的消息类型由于构件通过总线进行连接,那么并不要求各个构件“在一起”郑州大学软件学院赵哲HMB风格概述每个构件内部可以采用不同的风格,如管道过滤器风格、面向对象风格等。整个HMB风格的系统可以是一套完整的系统,也可以是一个构件郑州大学软件学院赵哲异构结构风格P83异构:不同的结构异构体系结构软件体系结构采用的不是单一的体系风格,而是多种软件体系风格的融合。为什么要使用异构结构?郑州大学软件学院赵哲为什么要使用异构结构不同的结构都有不同的强项和弱势一些结构在某一个时间段会占据统治地位,但其变动最终是绝对的同一种体系结构下的可重用的部件和连接件在不同时期可能存在不同的标准如果要重用原来系统中遗留下来的代码,那么就要解决与新系统结构的不协调问题。郑州大学软件学院赵哲常见的异构结构讨论B/S和C/S的异构当传统的C/S遇到新潮的B/S:内外有别查改有别郑
本文标题:第三章-软件体系结构风格
链接地址:https://www.777doc.com/doc-4638645 .html