软件体系结构大作业2

上传人:无*** 文档编号:190849581 上传时间:2023-03-01 格式:PDF 页数:9 大小:448.15KB
收藏 版权申诉 举报 下载
软件体系结构大作业2_第1页
第1页 / 共9页
软件体系结构大作业2_第2页
第2页 / 共9页
软件体系结构大作业2_第3页
第3页 / 共9页
资源描述:

《软件体系结构大作业2》由会员分享,可在线阅读,更多相关《软件体系结构大作业2(9页珍藏版)》请在装配图网上搜索。

1、软件体系结构大作业题题目:目:管道-过滤器模型专业班级:专业班级:13 软件工程 1 班学生姓名:学生姓名:马潇霄学学号:号:120132416042015 年 10 月 20 日目录目录1.1.问题背景问题背景.3.32.2.相关综述相关综述:管道管道-过滤器模型过滤器模型.3.33.3.设计内容设计内容/方案:管道方案:管道-过滤器的设计原型过滤器的设计原型.6.64.4.总结总结.8.8参参 考考 文文 献献.9.91.问题背景摘 要 软件体系结构设计给出了大规模软件复用,特别是领域复用的重要设计模式。体系结构描述了软件系统的整体组织结构与风格,对软件的性能和质量有直接的影响。管道-过滤

2、器模式是一种面向数据流的软件体系结构。该文对这种 体系结构做了深入的讨论,并结合一个具体应用给出了设计原型。关键词 管道-过滤器模型 管道 过滤器随着软件系统规模和复杂性的增加,系统总体结构设计的重要性已远远超过特定算法和数据结构的选择,良好的体系结 构是保证系统成功的关键。基于软件体系结构的过程开发是现代软件开发的基本途径,也是软件工程成熟的标志。软件体系结构的风格或模式包括客户-服务器模式的体系结构,管道-过滤器模式的体系结构,层次式体系结构,面向对象的体系结构等。管道-过滤器模式的体系结构是面向数据流的软件体系结构。它最典型的应用是在编译系统。一个普通的编译系统包括词法分析器,语法分析器

3、,语义分析与中间代码生成器,优化器,目标代码生成器等一系列对源程序进行处理的过程。人们可以将编译系统看作一系列过滤器的连接体,按照管道-过滤 器的体系结构进行设计。此外,这种体系结构在其它一些领域也有广泛的应用。因此它成为软件工程和软件开发中的一个突出的研究领域。2.相关综述:管道-过滤器模型2.1 模型的结构与特征管道-过滤器模型的基本部件都有一套输入输出接口。每个部件从输入接口中读取数据,经过处理,将结果数据置于输出接口中,这样的部件称为“过滤器”。这种模型的连接者将一个过滤器的输出传送到另一个过滤器的输入,该文把这种连接者称为“管道”。在这种模型中,过滤器必须是独立的实体,每一个过滤器的

4、状态不受其它过滤器的影响。并且,虽然人们对过滤器的输入输出有一定的规约,但过滤器并不需要知道向它提供数据流的过滤器和它要提供数据流的过滤器的内部细节。过滤器的基本结构如图 1。3图图 1 1 管道管道-过滤器中的基本单元:过滤器过滤器中的基本单元:过滤器管道-过滤器模式的系统构架如图 2。图图 2 2 管道管道-过滤器模式的系统构架过滤器模式的系统构架2.2 模型的优点管道-过滤器模型有如下的优点:(1)设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。这样可以将问题分解,化繁为简。(2)任何两个过滤器,只要它们之间传送的数据遵守共同的规约就可以相连接。每个过滤器都有自己独立的

5、输入输出接口,如果过滤器间传输的数据遵守其规约,只要用管道将它们 连接就可以正常工作。(3)整个系统易于维护和升级:旧的过滤器可以被替代,新的过滤器可以添加到已有的系统上。软件的易于维护和升级是 衡量软件系统质量的重要指标之一,在管道-过滤器模型中,只要遵守输入输出数据规约,任何一个过滤器都可以被另一个新的过滤器代替,同时为增强程序功能,可以添加新的过滤器。这样,系统的可维护性和可升级性得到了保证。(4)支持并发执行:每个过滤器作为一个单独的执行任务,可以与其它过滤器并发执行。过滤器的执行是独立的,不依赖 于其它过滤器的。2.3 模型的缺点及其改进4管道-过滤器模型有如下的缺点:(1)交互式处

6、理能力弱:管道-过滤器模型适于数据流的处理和变换,不适合为与用户交互频繁的系统建模。在这种模型中,每个过滤器都有自己的数据,这些数据或者是从磁盘存储器中读取来,或者是由另一个过滤器的输出导入进来,整个系统没有一个共享的数据区。这样,当用户要操作某一项数据时,要涉及到多个过滤器对相应数据的操作,其实现较为复杂。由以上的缺点,可以对每个过滤器增加相应的用户控制接口,使得外部可以对过滤器的执行进行控制。改进的过滤器如 图 3。图 3带有用户控制接口的过滤器(2)数据的打包与解包:有时,系统中的过滤器需要有一个数据转换器来对输入输出数据进行解包打包。这样会降低系统性能,增加实现过滤器的复杂性。2.4

7、与面向对象的体系结构的比较面向对象的体系结构就是应用面向对象的方法建立系统的体系结构。其主要思想是:对问题域中客观存在的各项事物建立相应的对象,对象的属性与方法分别描述事物的静态特征与动态行为,对象间的交互通过对其方法的调用进行。面向对象方法的优点是它封装了对象的属性和行为,实现了“信息隐蔽”。同时,对象内部行为的修改不影响外部对它的调用。面向对象的体系结构的一个明显的缺点是:当一个对象通过过程调用与其它对象交互时,它必须知道其它对象的标识。而当一个对象的标识改变时,需要对所有调用这一方法的对象进行修改。而在管道(过滤器这种体系结构中,过滤器与其它过滤器相连接时不必知道系统中的其它过滤器。而且

8、当某个过滤器发生改变时,不需要对其他过滤器进行改动。5在实际应用中,可以将这两种体系结构结合起来。例如,先按照管道(过滤器的思想建立系统的体系结构,然后应用面向对象的方法设计和实现过滤器及管道。3.设计内容/方案:管道-过滤器的设计原型3.1 问题域下面举一个简单的例子说明管道-过滤器的应用与实现。需求描述:假设有一批实时的二维坐标点数据需要变换(即对点的横、纵坐标进行缩放),并在屏幕上进行显示,要求外部要能设置变换规则(如缩放倍数)和显示规则(如显示模式和显示颜色)。3.2 体系结构建模这是一个对坐标点的数据流进行顺序处理的过程,可以应用管道(过滤器体系结建模。将这个系统分为两个过滤器,一个

9、为坐标点数据流变换过滤器,另一个为坐标点数据流实时显示过滤器。其中,坐标点数据流变换过滤器有一个外部控制接口对变换规则如缩放倍数进行设置,坐标点数据流实时显示过滤器有一个外部控制接口对显示规则如显示模式和显示颜色进行设置。整个系统的体系结构如图 4。图 4 坐标点变换与显示的体系结构3.3 过滤器的设计可以将过滤器用状态转换图表示。过滤器有如下状态:停止状态,工作状态,等待状态,休眠状态。停止状态:表示过滤器处于待启动状态,当外部启动过滤器后,过滤器处于处理状态;处理状态:表示过滤器正在处理输入数据队列中的数据;6等待状态:表示过滤器的输入数据队列为空,此时过滤器等待,当有新的数据输入时,过滤

10、器处于处理状态;休眠状态:表示过滤器已经启动,但被挂起。挂起的原因可能是由于外界用户要设置过滤器的控制参数,这样暂时将过滤器挂起但不中止它,当控制参数设置完毕后再将过滤器还原,继续运行。这样,实现了较高的效率。图 5 为过滤器的状态转换图。图 5 过滤器状态转换图(1)收集文档(Gathering Document);(2)建立索引(Indexing);(3)传递索引(Transferring Index)。以上过程是顺序执行的。一般来说,收集文档所占用的时间最长,其次是创建索引,最后是传递索引。LSE 在访问文档时,主要采用三种方法:(4)直接访问:直接通过 NFS 来访问文件;(5)档案访

11、问:由 CGI 对多个文件建立档案,然后再传递这些档案文件;(6)HTTP 访问:每次访问时,每个文件都通过 HTTP 进行传递。在这三种搜集文档的方法中,直接访问最快,其次是档案访问,最后是 HTTP访问。为了检查上面哪种方法比较适用,CSE 使用 CGI,又称为探测器,来探测Web Server 所处的状态。此外,CGI 还通过 ServerRoot 和 Web 服务器上的 User表为每个用户创建自己的档案文件,然后将这些档案文件传送给搜索引擎。3.4 协作式搜索引擎(CSE)的特征(1)CSE 采用分布式机器人(Robot)增加并行性,从而可以同时搜集多个文档。(2)CSE 主要是由多

12、个彼此间相互协作的本地元搜索引擎构成,本地元搜7索引擎是本地搜索引擎与存储服务器进行通信的接口。(3)CSE 的更新周期较短,因为每个Web 站点上的索引代理是通过直接访问 Web 文文件来建立索引的,而不是通过 HTTP 访问来建立索引的。(4)采用“下 10 个”搜索方法,提高用户获取信息的效率。“下10个”搜索方法是指搜索引擎先将搜索到的与查询条件相匹配的10 个文文件显示给用户,而且每个页面仅显示 10 个,用户在浏览这 10 个文文件的同时,搜索引擎仍在后台不停地搜索。这样就减少了用户查询信息所发费的时间,提高用户获取信息的效率。(5)根据与查询条件相关联的程度对文件划分等级。CSE

13、 可以根据与查询谓词相关联的程度把文档划分为不同的等级,这也是一种减少更新周期的方法。这是因为一个搜索引擎即使可以搜索到包含指定关键词的所有文文件,但是如果搜索的页面太多,搜索引擎就不能够从中选择出最重要的页面。所以可以采用计分的方法来划分不同等级的文文件,分数越高,该文档与查询谓词的关联程度就越大。在对文档进行分级的所有方法中,tf*idf 方法是最流行的一种,其中 tf 是文档中某条目所出现的频率,idf 是某条目的稀疏度。根据公式(1)可以计算出 idf的值:Idf=log(N/n)其中 N 是所有文档的数量,n 是包含某条目文档的数量。在 CSE 系统中,idf 值的计算是被分配到搜索

14、过程中与搜索过程并行执行的。4.4.总结总结该文描述了一种新的分布式搜索引擎,叫作协作式搜索引擎(CSE),介绍了它的框架、搜索和更新过程。CSE 通过元搜索引擎将多个本地搜索引擎集成在一起协调工作,多个本地搜索引擎能够协调工作是由于元搜索引擎隐藏、屏蔽了本地搜索引擎的不同。在 CSE 中,通过直接访问和档案访问,每个本地搜索引擎能够快速更新 web 站点上的文档,从而 CSE 克服了目前的分布式搜索引擎(如Harvest,Google)不能协调利用本地搜索引擎、收集文件时间过长以及本地搜索引擎之间响应不一致的问题。因此,CSE 能够真正实现收集快速、更新及时、定位准确。8参参 考考 文文 献献1 王继成,杨晓江,基于元资料与Z39.50 的分布协作式 Web 信息检索J.软件学报,2001:12(4)2 C Mic Bowman.Peter B Danzig,Darren R Hardy et al.The Harvest InformationDiscorveryandAccessSystem.http:/www.ncsa.uiuc.edu/SDG/IT94/Procedings/Searching/Schwartz.harvest/schwartz.harvest.html3 Ingrid.http:/www.ingrid.org/4 Google.http:/

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!