(精品)第三章-软件体系结构风格.ppt
《(精品)第三章-软件体系结构风格.ppt》由会员分享,可在线阅读,更多相关《(精品)第三章-软件体系结构风格.ppt(89页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、软件体系结构软件体系结构软件体系结构风格软件体系结构风格郑州大学软件学院郑州大学软件学院 赵哲赵哲主要内容主要内容n软件体系结构风格概述软件体系结构风格概述n经典软件体系结构风格经典软件体系结构风格n客户客户/服务器风格服务器风格n浏览器浏览器/服务器风格服务器风格n层次风格层次风格n异构结构风格异构结构风格郑州大学软件学院郑州大学软件学院 赵哲赵哲软件体系结构风格概述软件体系结构风格概述n软件体系结构风格软件体系结构风格style:描述某一特定:描述某一特定应用领域中系统组织方式的惯用模式。应用领域中系统组织方式的惯用模式。n体系结构风格定义了一个体系结构风格定义了一个系统家族系统家族n体系
2、结构风格反映了领域中众多系统所体系结构风格反映了领域中众多系统所共有的结构和语义特性共有的结构和语义特性郑州大学软件学院郑州大学软件学院 赵哲赵哲经典的体系结构风格经典的体系结构风格n数据流数据流风格:批处理序列;管道风格:批处理序列;管道/过滤器。过滤器。n调用调用/返回返回风格:主程序风格:主程序/子程序;面向子程序;面向对象风格;层次结构。对象风格;层次结构。n独立构件风格独立构件风格:进程通讯;事件系统:进程通讯;事件系统n虚拟机风格虚拟机风格:解释器;基于规则的系统:解释器;基于规则的系统n仓库风格仓库风格:数据库系统;超文本系统;:数据库系统;超文本系统;黑板系统。黑板系统。郑州大
3、学软件学院郑州大学软件学院 赵哲赵哲经典软件体系结构风格经典软件体系结构风格n管道和过滤器管道和过滤器n数据抽象和面向对象组织数据抽象和面向对象组织n基于事件的隐式调用基于事件的隐式调用n分层系统分层系统n仓库系统及知识库仓库系统及知识库nC2风格风格郑州大学软件学院郑州大学软件学院 赵哲赵哲管道与过滤器风格管道与过滤器风格郑州大学软件学院郑州大学软件学院 赵哲赵哲管道和过滤器管道和过滤器n每个构件都有一组输入和输出,构件读输入的每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。数据流,经过内部处理,然后产生输出数据流。n这种风格的连接件就象是数据流传输的管道,
4、这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入将一个过滤器的输出传到另一过滤器的输入n这里的构件被称为过滤器,这种风格的连接件这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。出传到另一过滤器的输入。郑州大学软件学院郑州大学软件学院 赵哲赵哲管道和过滤器应用举例管道和过滤器应用举例nATM机机n汽车牌照识别系统汽车牌照识别系统n图像捕捉图像捕捉n灰度化灰度化n拉伸拉伸n边缘处理边缘处理n模板匹配模板匹配n识别识别n等数据流水线系统等数据流水线系统n每一步数据质量将会影响
5、到下一步每一步数据质量将会影响到下一步郑州大学软件学院郑州大学软件学院 赵哲赵哲管道和过滤器风格优点管道和过滤器风格优点nP52郑州大学软件学院郑州大学软件学院 赵哲赵哲管道和过滤器风格缺点管道和过滤器风格缺点nP53郑州大学软件学院郑州大学软件学院 赵哲赵哲数据抽象和面向对象组织数据抽象和面向对象组织郑州大学软件学院郑州大学软件学院 赵哲赵哲数据抽象和面向对象组织数据抽象和面向对象组织n大量运用面向对象的特点大量运用面向对象的特点n此风格的此风格的组成构件组成构件为为对象对象郑州大学软件学院郑州大学软件学院 赵哲赵哲该风格的优点该风格的优点n面向对象的优点面向对象的优点郑州大学软件学院郑州大
6、学软件学院 赵哲赵哲该风格的缺点该风格的缺点n对象身份的依赖性对象身份的依赖性n继承关系导致树状层次,该层次不利于继承关系导致树状层次,该层次不利于系统的理解和修改系统的理解和修改郑州大学软件学院郑州大学软件学院 赵哲赵哲基于事件的隐式调用基于事件的隐式调用n解决对象依赖问题解决对象依赖问题n构件构件不直接不直接调用一个调用一个过程过程,而是,而是触发或触发或广播广播一个或多个一个或多个事件事件。系统中的其它构。系统中的其它构件中的过程在一个或多个事件中注册,件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这当一个事件被触发,系统自动调用在这个事件中注册的所有过程个事件中注册
7、的所有过程郑州大学软件学院郑州大学软件学院 赵哲赵哲基于事件的隐式调用基于事件的隐式调用n这种风格的构件是这种风格的构件是一些模块一些模块,模块既可,模块既可以是一些以是一些过程过程,又可以是一些,又可以是一些事件的集事件的集合合n应用举例:应用举例:Debugger郑州大学软件学院郑州大学软件学院 赵哲赵哲该风格优点该风格优点n为软件重用提供了强大的支持。当需要为软件重用提供了强大的支持。当需要将一个构件假如现存系统时,只需注册将一个构件假如现存系统时,只需注册事件即可。事件即可。n改进系统带来了方便。若需要更改构件,改进系统带来了方便。若需要更改构件,不会影响到其他构件的接口。不会影响到其
8、他构件的接口。郑州大学软件学院郑州大学软件学院 赵哲赵哲该风格的缺点该风格的缺点n方法调用无序,会产生不同的结果。方法调用无序,会产生不同的结果。n大数据不广播大数据不广播郑州大学软件学院郑州大学软件学院 赵哲赵哲分层系统分层系统n层次系统组织成一个层次系统组织成一个层次结构,每一层为层次结构,每一层为上层服务,并作为下上层服务,并作为下层客户。在一些层次层客户。在一些层次系统中,除了一些精系统中,除了一些精心挑选的输出函数外,心挑选的输出函数外,内部的层只对相邻的内部的层只对相邻的层可见层可见郑州大学软件学院郑州大学软件学院 赵哲赵哲分层系统分层系统n层次不能乱划分,是层次不能乱划分,是固定
9、固定的。的。n每一层仅向上层提供服务,仅使用下层每一层仅向上层提供服务,仅使用下层的服务,不跨层。的服务,不跨层。n优秀的分层系统:优秀的分层系统:n操作系统操作系统n网络七层架构网络七层架构郑州大学软件学院郑州大学软件学院 赵哲赵哲分层系统优点分层系统优点n容易修改,只需更改内容,保持层与层容易修改,只需更改内容,保持层与层接口不变即可。接口不变即可。n支持重用,可移植性高支持重用,可移植性高n信息隐藏信息隐藏郑州大学软件学院郑州大学软件学院 赵哲赵哲分层系统缺点分层系统缺点n不容易划分层次不容易划分层次n跨层调用可能会损坏分层跨层调用可能会损坏分层n为提高可移植性,层与层之间有虚拟机为提高
10、可移植性,层与层之间有虚拟机郑州大学软件学院郑州大学软件学院 赵哲赵哲仓库系统及知识库仓库系统及知识库n主要用在交换或共享大量数据的软件中主要用在交换或共享大量数据的软件中n对大量素材或元素进行管理的软件,通对大量素材或元素进行管理的软件,通常用该风格常用该风格n比如:数据库系统、信息检索、黑板系比如:数据库系统、信息检索、黑板系统、语音和模式识别系统等统、语音和模式识别系统等郑州大学软件学院郑州大学软件学院 赵哲赵哲黑板系统黑板系统郑州大学软件学院郑州大学软件学院 赵哲赵哲C2风格风格nC2是最常用的一种软件体系结构风格是最常用的一种软件体系结构风格n可以概括为通过可以概括为通过连接件连接件
11、绑定在一起的、绑定在一起的、按照一组按照一组规则规则运作的运作的并行并行构件网络构件网络郑州大学软件学院郑州大学软件学院 赵哲赵哲C2风格实例风格实例n3个构件:个构件:comUser(验证用户信息验证用户信息)、comUI、comVoucher(单据相关单据相关)n1个连接件个连接件 comInput郑州大学软件学院郑州大学软件学院 赵哲赵哲C2风格实例风格实例-录入数据录入数据comUser3、验证,、验证,并告诉并告诉comInput结果结果comUI1、有用户输入、有用户输入告诉告诉comInput7、显示结果、显示结果comVoucher5、录入,、录入,并告诉并告诉comInput
12、结果结果comInput2、告诉、告诉comUser,有用户来了,请验证。有用户来了,请验证。4、收到结果,合法,告诉、收到结果,合法,告诉Voucher录入录入6、告诉、告诉comUI已录入已录入郑州大学软件学院郑州大学软件学院 赵哲赵哲C2风格特点风格特点n构件的连接靠连接件构件的连接靠连接件n构件相对独立,依赖性少构件相对独立,依赖性少n可以将任意复杂度的构件组装在一起可以将任意复杂度的构件组装在一起n连接件可以和任意数目的其他构件或连连接件可以和任意数目的其他构件或连接件相连接件相连郑州大学软件学院郑州大学软件学院 赵哲赵哲下节课内容下节课内容n客户客户/服务器风格服务器风格n三层三层
13、C/S风格风格n浏览器浏览器/服务器风格服务器风格nP2P风格风格郑州大学软件学院郑州大学软件学院 赵哲赵哲复习复习n管道管道/过滤器风格过滤器风格n面向对象风格面向对象风格n基于事件的隐式调用基于事件的隐式调用n分层系统分层系统n仓库及知识库仓库及知识库nC2风格风格郑州大学软件学院郑州大学软件学院 赵哲赵哲本节主要内容本节主要内容n客户客户/服务器风格服务器风格n三层三层C/S风格风格n浏览器浏览器/服务器风格服务器风格nP2P风格风格郑州大学软件学院郑州大学软件学院 赵哲赵哲客户客户/服务器风格服务器风格n产生背景产生背景n资源不对等,为实现数据共享而提出。资源不对等,为实现数据共享而提
14、出。n主要特点:主要特点:n客户端客户端/服务器端服务器端n重要组成部分:重要组成部分:n数据库服务器、客户端程序、网络数据库服务器、客户端程序、网络郑州大学软件学院郑州大学软件学院 赵哲赵哲客户客户/服务器风格服务器风格郑州大学软件学院郑州大学软件学院 赵哲赵哲任务分配任务分配-服务器服务器n服务器服务器(饭堂饭堂)的任务:的任务:1.数据安全数据安全(保证食物质量保证食物质量)2.数据并发性控制数据并发性控制(排队打饭排队打饭)3.数据完整性数据完整性(1块钱打块钱打1块钱的饭块钱的饭)4.数据的备份和恢复数据的备份和恢复(做记录做记录)郑州大学软件学院郑州大学软件学院 赵哲赵哲任务分配任
15、务分配-客户端客户端n客户端的任务:客户端的任务:n提供用户与数据库的交互界面提供用户与数据库的交互界面(一只碗一只碗)n提交和接受来自数据库的信息提交和接受来自数据库的信息(红烧肉红烧肉)n根据数据,执行逻辑任务根据数据,执行逻辑任务(吃、消化吃、消化)郑州大学软件学院郑州大学软件学院 赵哲赵哲处理流程处理流程郑州大学软件学院郑州大学软件学院 赵哲赵哲C/S风格优点风格优点n分离客户端、服务器端,增加了系统灵分离客户端、服务器端,增加了系统灵活性,易于对系统进行扩充和缩小活性,易于对系统进行扩充和缩小n客户端与服务端直接相连,没有中间环客户端与服务端直接相连,没有中间环节,响应速度快节,响应
16、速度快n操作界面漂亮、形式多样操作界面漂亮、形式多样n方便实现复杂的业务流程方便实现复杂的业务流程郑州大学软件学院郑州大学软件学院 赵哲赵哲C/S风格缺点风格缺点n要专门为客户安装程序,分布功能弱要专门为客户安装程序,分布功能弱n兼容性差兼容性差n成本高成本高n客户端压力大客户端压力大(胖客户端胖客户端)郑州大学软件学院郑州大学软件学院 赵哲赵哲三层三层C/S风格风格n雇了保姆雇了保姆n保姆的职责:跑腿、盛饭、打卡保姆的职责:跑腿、盛饭、打卡n客户:饭来张口、衣来伸手客户:饭来张口、衣来伸手n服务器:提供所需饭菜服务器:提供所需饭菜郑州大学软件学院郑州大学软件学院 赵哲赵哲三层三层C/S结构风
17、格结构风格郑州大学软件学院郑州大学软件学院 赵哲赵哲优势优势n相比两层相比两层C/S结构,三层的优势在于:结构,三层的优势在于:n服务器安全性提高服务器安全性提高n客户端成功减肥客户端成功减肥n易于维护易于维护(若逻辑有问题,不需要重新安若逻辑有问题,不需要重新安装客户端装客户端)n易于开发,每层可用不同的语言。易于开发,每层可用不同的语言。郑州大学软件学院郑州大学软件学院 赵哲赵哲处理流程处理流程郑州大学软件学院郑州大学软件学院 赵哲赵哲C/S三层结构三层结构n表示层表示层n提供界面提供界面n检查数据检查数据n功能层功能层n应用、逻辑相关应用、逻辑相关n数据层数据层n迅速对大量数据进行更新和
18、检索迅速对大量数据进行更新和检索郑州大学软件学院郑州大学软件学院 赵哲赵哲C/S三层结构三层结构n主要用途主要用途n用在数据流量大、频繁读写、逻辑性强用在数据流量大、频繁读写、逻辑性强的软件中的软件中n例如例如ERP系统、图书管理系统等系统、图书管理系统等郑州大学软件学院郑州大学软件学院 赵哲赵哲浏览器浏览器/服务器风格服务器风格nP66n由于由于C/S模式客户端程序安装带来的麻模式客户端程序安装带来的麻烦,客户端要求再瘦一些。烦,客户端要求再瘦一些。n随着浏览器的兴起,随着浏览器的兴起,C/S模式中客户端模式中客户端的要求得到了满足。的要求得到了满足。n客户端客户端皮包骨头皮包骨头郑州大学软
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 第三 软件 体系结构 风格
限制150内