首页 > 知识点讲解
       管道/过滤器
知识路径: > 软件架构基础知识 > 软件架构的风格 > 软件架构风格 > 经典软件架构风格 > 
被考次数:4次     被考频率:中频率     总体答错率:43%     知识难度系数:     
相关知识点:6个      
        在管道/过滤器风格中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。因此,这里的构件被称为过滤器,这种风格的连接件就像是数据流传输的管道,将一个过滤器的输出传到另一个过滤器的输入。此风格中特别重要的过滤器必须是独立的实体,它不能与其他的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。
        一个典型的管道/过滤器架构的例子是以UNIX shell编写的程序。UNIX既提供一种符号,以连接各组成部分(UNIX的进程),又提供某种进程运行机制以实现管道。另一个著名的例子是传统的编译器。传统的编译器一直被认为是一种管道系统,在该系统中,一个阶段(包括词法分析、语法分析、语义分析和代码生成)的输出是另一个阶段的输入。
        管道/过滤器风格的软件架构具有许多很好的特点:
        (1)使得构件具有良好的隐蔽性和高内聚、低耦合的特点。
        (2)允许设计者将整个系统的I/O行为看成是多个过滤器行为的简单合成。
        (3)支持软件重用。只要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来。
        (4)系统维护简单,可扩展性好。新的过滤器可以添加到现有系统中来;旧的可以被改进的过滤器替换掉。
        (5)允许对一些属性,如吞吐量、死锁等进行分析。
        (6)支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其他任务并行执行。
        但是,这样的系统也存在着若干不利因素:
        (1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。
        (2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。
        (3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2017年下半年
   系统架构设计师..
   上午试卷 综合知识
第50题
选择题
软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的(48)特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,通常会采用(49)架构风格。对于因数据输入某个构件,经过内部处理,产生数据输出的系统,通常会采用(50)架构风格。

27%
   2016年下半年
   系统架构设计师..
   上午试卷 综合知识
第48题
选择题
某公司拟为某种新型可编程机器人开发相应的编译器。该编译过程包括词法分析、语法分析、语义分析和代码生成四个阶段,每个阶段产生的结果作为下一个阶段的输入,且需独立存储。针对上述描述,该集成开发环境应采用(48)架构风格最为合适..

41%
>>  更多  本知识点历年真题
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有