分析比较KWIC系统实现四种不同体系结构风格

上传人:MM****y 文档编号:40520215 上传时间:2021-11-16 格式:DOC 页数:27 大小:271.50KB
收藏 版权申诉 举报 下载
分析比较KWIC系统实现四种不同体系结构风格_第1页
第1页 / 共27页
分析比较KWIC系统实现四种不同体系结构风格_第2页
第2页 / 共27页
分析比较KWIC系统实现四种不同体系结构风格_第3页
第3页 / 共27页
资源描述:

《分析比较KWIC系统实现四种不同体系结构风格》由会员分享,可在线阅读,更多相关《分析比较KWIC系统实现四种不同体系结构风格(27页珍藏版)》请在装配图网上搜索。

1、分析比较 KWIC系统实现四种不 同体系结构风格分析比较 KWIC 系统实现四种不同体系结构风格姓名 :班级:学号:、实验目的41、实验内容4实验要求与实验环境4四、实验操作51 数据流风格:批处理序列;管道/ 过滤器 5 2采用调用 / 返回风格:主程序 / 子程序、面向对象风格、层次结构73 仓库风格:数据库系统、超文本系统、黑板系统14 独立构件风格:进程通讯、事件系统 伐 五实验总结15?、实验目的 通过 KWIC实例分析,理解和掌握软件体系结 构风格设计与实现。二、 实验内容多种软件风格设计与实现KWIC实例:1 ?采用主 / 子程序体系结构风格实现 KWIC 关 键词索引系统2.

2、采用面向对象体系架构风格实现 KWIC关键 词索引系统3 ?采用管道过滤体系架构风格实现 KWIC关键 词索引系统4. 采用事件过程调用体系架构风格实现 KWIC 关键词索引系统三、 实验要求与实验环境熟练掌握基于主 / 子程序体系结构风格的KWIC 关键词索引系统,在此基础上,完成基于面向对象体系架构风格的 KWIC关键词索引系统设计 与实现。选做基于管道过滤体系架构风格的 KWIC 关键词索引系统;选做基于事件过程调 用体系架构风格的 KWIC关键词索引系统。四、实验操作1 数据流风格:批处理序列;管道/过滤器管道 - 过滤器风格将系统的功能逻辑建立为部件集合。每个部件实例完成一个对数据流

3、的独立功能处理,它接收数据流输入,进行转换和增量后进行数据流输出。连接件是管道机制,它将前一个过滤器的数据流输出传递给后一个过滤器作为数据流输入。连接件也可能会进行数据流的功能处理,进行转换或增量,但连接件进行功能处理的目的是为了适配前一个过滤器的输出和后一个过滤器的输入,而不是为了直接承载软件系统的需求。各个过滤器可以并发执行。每个过滤器都可以在数据输入不完备的情况下就开始进行处理,每次接到一部分数据流输入就处理和产生一部分输出。这样,整个的过滤器网络就形成了一条流水线。设计词汇表:Pipe, Filter构件和连接件类型构件:Filter连接件: Pipe例子:传统编译器优缺点:优点:易于

4、理解并支持变换的复用。工作流风格与很多业务处理系统体系结构很匹配。通过添加变换的方式进行进化是很显然的。可以实现为顺序的系统,也可以实现为并发的系统。( 1) 使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;( 2) 允许设计者将整个系统的输入 / 输出行为看成是多个过滤器的行为的简单合成;( 3) 支持软件重用。重要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;( 4) 系统维护和增强系统性能简单。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉;( 5) 允许对一些如吞吐量、死锁等属性的分析;(6) 支持并行执行。每个过滤器是作为一个单独的任务完成,因此

5、可与其它任务并行执行。 缺点:在通信变换间所传输的数据格式必须协商好。每个变换必须解析它的输入并写成约定的格式输出。这增加了系统的负荷,意味着不可能复用实用不兼容数据结构的函数变换。运行结果 :2 采用调用/返回风格:主程序/子程序、面向对象风格、层次结构主程序 / 子程序风格 ( Main Program/SubroutineStyle) 将系统组织成层次结构,包括一个主程序和一系列子程序。主程序是系统的控制器,负责调度各子程序的执行。各子程序又是一个局部的控制器,调度其子程序的执行。优缺点:优点:易于理解并支持变换的复用。工作流风格与很多业务处理系统体系结构很匹配。通过添加变换的方式进行进

6、化是很显然的。可以实现为顺序的系统,也可以实现为并发的系统。缺点:在通信变换间所传输的数据格式必须协商好。每个变换必须解析它的输入并写成约定的格式输出。这增加了系统的负荷,意味着不可能复用实用不兼容数据结构的函数变换。运行结果:面向对象式风格,需要强调说明的是它的“对象”是部件,属于高层结构的元素,虽然名称相同,但它并不是面向对象方法中所述的 “对象”实体。“面向对象式”风格的命名是因为它借鉴了面向对象方法的思想,而不是因为它使用面向对象方法实现体系结构,这也是在该风格名称中有一个“式”字的原因。面向对象式风格的主要实现机制是模块实现,它将每个对象部件实例都实现为一个模块。存在连接的对象部件实

7、例之间会存在模块的导入 / 导出关系。每个模块内部可以是基于面向对象方法的实现,也可以是基于结构化方法的实现。优缺点:优点: 1 内部实现的可修改性。因为面向对象式 风格要求封装内部数据,隐藏内部实现,所 以可以在不影响外界的情况下,变更其内部实 现。2 易开发、易理解、易复用的结构组织。面向对象式风格将系统组织为一系列平等、自治的单位,每个单位负责自身的正确性,不同单位之间仅仅是通过方法调用相连接,这非常契合模块化的思想,能够建立一个易开发、易理解、易复用的实现结构。缺点:当一个对象和其他对象交互,它必须知道其他对象的标识。当一个对象的标识改变时,必须修改那些显式调用它的对象。运行结果:分离

8、性和独立性的概念是体系结构设计的基础,因为分离性和独立性使得变更得到局部化。分层体系结构模式是实现分离性和独立性的一 个方式。这里,一个分层系统 ( Layered Systems ) 按照层次结构组织,系统的功能被划分成几个独立的层次,每一层只依赖紧接的下一层所提供的服务和设施。定义的一系列不同层次各自完成其自身的操作,这些操作逐渐接近机器的指令集。在外层,构件完成建立用户界面的操作;在内层,构件完成建立操作系统接口的操作;中间层提供各种实用工具服务和应用软件功能。分层的方法支持系统的增量式开发。如一个层被开发完,该层提供的服务就可以被用户使用了。这个体系结构还是可改变的和可移植的。如果一层

9、的接口被保留下来,这个层就能被另外的一个对等层替换。当一层的接口改变或增加了新设施的时候,只有毗邻的层受影响。因为分层系统的抽象机依赖的是内层中的抽象机,因此,转换到其他机器上实现是比较容易的,此时只有内部与具体机器相关的层需要重新实现以适应不同的操作系统或数据库。优缺点:优点:允许在接口保持不变的条件下更换整个一层。在每一层中可以提供冗余服务 (例如身份验证)以增加系统的可靠性。缺点:在具体实践中,在各层之间提供一个干净的分离通常是困难的,高层可能不得不直接与低层进行直接交互而不是间接通过紧邻的下一层 进行交互。性能可能是个问题因为服务请求会在每一层中被处理所以会需要多层解释运行结果:1 C

10、:llrsXYij kiDesktop D ebugcl-13.exe晴输人 h 个小于 M 盹的疋数:輻 H 杠 6 的年方根的整数部分畀i Pressany feey tocontinue3 仓库风格:数据库系统、超文本系统、黑板系统数据共享风格也称为仓库风格。这种风格的典型代表有数据库系统、超文本系统、黑板系统。该风格中,主要有两类部件:1 中心数据结构部件,又可称作 数据仓库 表 示系统的当前状态。2 是一组相对独立的部件集,它们可以以不同方式与数据仓库进行交互,这也就是数据共享体系结构的技术实现基础。根据所使用的控制策略不同,数据共享体系结构主要有两大分支:1 如果系统输入业务流的类

11、型是激发进程执行的主要原因,则数据仓库是黑板,其中黑板体系结 构风格主要应用于需要进行复杂解释的信号处 理领域。称为黑板的原因是:它反映了信息共享,如同教室里的黑板一样,其模拟一组人类专家,对于同一个问题或者是一个问题的各个方面,每一位专家都根据自己的专业经验提出自己的看法,写在黑板上,其他人都能看到,随意使用,共同解决好这个问题。可以有多个人读上面的字,也可以有多个人在上面写字。优缺点:优点:便于多客户共享大量数据,而不必关心数据是何时产生的、由谁提供的以及通过何种途径来提供。便于将构件作为知识源添加到系统中来。缺点:容器是一个单个失败点,因而容器中的问题会影响整个系统。在组织所有通过容器进

12、行的通信时会比较低效,将容器分布到多个计算机上会很困难。4 独立构件风格:进程通讯、事件系统事件驱动架构的基本思想是:系统对外部的行为表现可以通过它对事件的处理来实现。 一个基于事件驱动构架的应用程序系统,各个功能设计为封装的、模块化的、可用于共享的事件服务组件,并在这些独立非耦合的组件之间将事件所触发 信息进行传递。隐式调用的思想是,不直接调用一个过程,而是发布或广播一个或多个事件。系统中的其他构件通过注册与一个事件关联起来的过程,来表示对某一个事件感兴趣。当这个事件发生时,系统本身会调用所有注册了这个事件的过程。这样一个事件的激发会导致其他模块中过程的隐式调用。比如在 Field 系统中,

13、诸如编辑器和变量监视器等工具会注册调试器的中断点事件。从体系结构的角度说,隐式调用模式中的构件是模块,其接口不仅提供过程的集合(像抽象数据类型),也提供事件的集合。过程可能以一般的方式被调用,但构件可以将过程注册到与其相关联的系统事件中,这样,当事件发生时,过程会被间接调用。这种模式主要特点是事件发布者不知道哪些构件会受到事件的影响。因此,构件不能对事件的处理顺序,或者事件发生后的处理结果做任何假设。正因为这个原因,许多隐式调用系统也包括显式调用(比如,正常的过程调用),以此作为构件交互的补充。事件元数据:用来实现事件定义和事件处理规则预定义。事件处理:包括事件处理引擎和事件处理对象实例两部分

14、。事件处理引擎按照所处理的事件类型分为简单事件处理和复杂事件处理两类。事件工具:有事件开发工具和事件管理工具两种组成。优缺点:优点: 1 事件声明者不需要知道哪些构建会响应件,因此,不能确定构件处理的先后顺序,甚事至不能确定事件会引发哪些过程调用。2 提高了软件重用能力,只要在系统事件中注册构件,就可以将该构件集成到系统中。3 便于系统升级,只要构件名和事件中所注册的过程名保持不变,原有构件就可以被新构件所替代。缺点: 1 构件放弃了自身对系统计算的控制。当一个构件发布一个事件,它不能保证其他构件会对其做出响应。即使它能够肯定该事件会被其他构件响应,它也不能依赖事件被处理的先后顺序。2 涉及到

15、数据交换。有时数据通过事件传递,但在某些情况下,事件系统必须依赖一个共享缓冲区,以便于数据的交换。这样,整体的性能和资源的管理可能成为关键性问题。3 正确性验证,因为发布事件的过程的具体含义与事件激发的上下文有关。这和传统的过程调用验证不同,当对调用功能行为进行验证时,传统的过程调用只需考虑过程前和过程后的条件。五实验总结通过本次实验认识到软件体系结构风格是 描述某一特定应用领域中系统组织方式的惯用 模式。软件体系结构设计的一个核心问题是能否使用重复的体系结构模式,即能达到体系结构级的软件重用。也就是说,能否在不同的软件系统中,使用同一体系结构。在建立体系结构过程中,不断明确设计词汇表、构建和连接件的类型、可容许的结构模式、基本的计算类型、风格的基本不变形、常用例子、优缺点。通过明确这些问题,可以理解一种体系结构的基本特征,从而为实现体系结构重用提供可通过对 KWIC进行建模和实现,让我动手 把简单的软件体系结构代码实现,在程序里体现体系结构的基本思想,拓展了数据结构的基本知 识,将软件设计思想体现在编码环节, 为以后的 体系结构设计提供基础。

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