第3章软件体系结构风格◇ 软件体系结构风格概述软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。◇ 软件体系结构风格概述◎构件和连接件的类型是什么?◎可容许的结构模式是什么?◎基本的计算模型是什么?◎风格的基本不变性是什么?◎其使用的常见例子是什么?◎使用此风格的优缺点是什么?◎其常见的特例是什么?◇ 软件体系结构风格概述◎数据流风格:批处理序列;管道/过滤器。◎调用/返回风格:主程序/子程序;面向对象风格;层次结构。◎独立构件风格:进程通讯;事件系统。◎虚拟机风格:解释器;基于规则的系统。◎仓库风格:数据库系统;超文本系统;黑板系统。◇ 经典软件体系结构风格过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道Pipe&Filter◇ 经典软件体系结构风格?构件:过滤器(filter)是数据加工处理的功能模块,并将处理后的结果在输出端输出。?连接件:管道(pipe)起信息流的导管作用。?过滤器都有输入/输出集合,构件从输入处读取数据流,在输出处生成数据流。?过滤器是独立的主体,无须知道上游和下游的标识和存在,也没有相互之间状态的依赖。◇ 经典软件体系结构风格常见变种:?流水线:表现为线性的拓扑结构(将每个过滤器的输入/出限制为单一的)?顺序批处理系统?Unix Shell?编译器?有界管道:对一个管道所能传输的数据量作出限制?类型管道:对一个管道所能传输的数据类型作出限制词法分析/扫描器语法分析/分析器语义分析中间代码生成Unix shell:cat file|grepxyz|sort|uniq>out即找到含xyz的行,排序、取掉相同的行,最后输出信号处理系统并行计算?编译器◇管道和过滤器第3章软件体系结构风格◇ 经典软件体系结构风格◎系统的功能易于理解?系统的输入输出可看做每个过滤器的的简单组合◎系统满足高内聚、低耦合的设计原则?过滤器具有良好的信息隐蔽性,且相互之间无状态的依赖◎支持软件重用?过滤器是独立的,只需满足当前的业务处理逻辑和相同的输入输出,就可以随时更换和借用。◎系统的修改和维护简单?过滤器之间透明,修改不会扩散,系统的修改只需局限于某个或某些构件◎系统的一些特性,如吞吐量、死锁等易于分析◎支持并行执行?可以存在多条并行的管道?每个过滤器是作为一个单独的任务完成,可以与其它任务并行◇ 经典软件体系结构风格◎经常退化为批处理系统?过滤器是独立的,相互之间没有状态的依赖,常作为流水线上的一道道工序。◎交互性差,同步困难?过滤器是独立的,相互之间没有状态的依赖◎数据传输效率低,影响系统的性能?每个过滤器都占用了解析和合成数据的执行时间?数据交换空间大
[软件体系结构]第3章_软件体系结构风格 来自淘豆网m.daumloan.com转载请标明出处.