13.1软件体系结构概述
软件体系结构(Software Architecture)主要由构件、连接件和配置规则组成,为软件系统提供一个结构行为和属性的高级抽象,含构成系统的元素的描述,这些元素的相互作用,指导元素集成的模式及这些模式的约束等。软件系统结构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构成系统的元素之间的对应关系,提供了一些设计决策的基本原理。
针对软件体系结构的研究和应用现状主要包括:软件体系结构的描述构造与表示;软件体系结构的分析;设计与验证;软件体系结构的发现、演化与重用;基于体系结构的软件开发方法;特定领域的体系结构框架;软件体系结构支持工具;软件产品线体系结构及建立评价软件体系结构的方法等多个方面;软件体系结构设计中,关键是如何高效使用已有的组织结构模式。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义了一个系统家族,即一个体系结构定义一个词汇表和一组约束词汇表中包含了一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。
13.2经典的软件体系结构风格
13.2.1管道—过滤器(流程处理)体系结构
流程处理系统(Proledare Prdessing System)以程序算法和数据结构为中心,由称作过滤器的构件和称作管道的连接件组成的体系结构(常常被称作管道-过滤器体系结构)每一个处理过程中,先接收数据、进行处理(过滤)最后产生输出数据。
在流程处理系统的软件体系结构中,每个构件都有一组输入和输出。构件读输入数据流ÿ