13种常见软件体系结构风格定义分析、结构图、优缺点

13种常见软件体系结构风格定义分析、结构图、优缺点

一、概述

软件体系结构表示系统的框架结构,用于从较高的层次上来描述各部分之间的关系和接口,主要包括构件、构件性质和构件之间的关系。

通过使用软件体系结构,可以有效地分析用户需求,方便系统的修改,以及减小程序构造风险。

随着软件规模不断地增大和复杂程度日益增高,系统框架架构的设计变得越来越关键。软件框架设计的核心问题是能否复用已经成型的体系结构方案。由此,产生了软件体系结构风格的概念。

二、常见风格分类

体系结构风格的形成是多年探索研究和工程实践的结果。一个良好和通用的体系结构风格往往是工程技术领域成熟的标志。经过多年的发展,已经总结出许多成熟的软件体系结构风格,例如:

数据流风格:批处理和管道/过滤器。调用/返回风格:主程序/子程序、层次结构和C/S。面向对象风格。独立部件风格:进程通信和事件驱动。虚拟机风格:解释器和基于规则的系统。数据共享风格:数据库系统和黑板系统。 三、 体系结构风格

1.管道/过滤器 体系结构风格

惯用模式:

主要包括过滤器和管道两种元素。在这种结构中,构件被称为过滤器,负责对数据进行加工处理。每个过滤器都有一组输入端口和输出端口,从输入端口接收数据,经过内部加工处理之后,传送到输出端口上。数据通过相邻过滤器之间的连接件进行传输,连接件可以看作输入数据流和输出数据流之间的通路,这就是管道。

原理图:

 

优点:

简单性。支持复用。系统具有可扩展性和可进化型。系统并发性(每个过滤器可以独立运行,不同子任务可以并行执行,提高效率)。便于系统分析。

缺点:

系统处理工程是批处理方式。不适合用来设计交互式应用系统。由于没有通用的数据传输标准,因此每个过滤器都需要解析输入数据和合成数据。难以进行错误处理。

 

传统的编译器就是管道/过滤器体系结构风格的一个实例。编译器由词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成几个模块组成,一个模块的输出是另一个模块的输入。源程序经过各个模块的独立处理之后,最终将产生目标程序。编译器的框架结构如图:

2.面向对象 体系结构风格

惯用模式:

在面向对象体系结构中,软件工程的模块化、信息隐藏、抽象和重用原则得到了充分的体现。在这种体系结构中,数据表示和相关原语操作都被封装在抽象数据类型中。在这种风格中,对象是构件,也成为抽象数据类型的实例。对象与对象之间,通过函数调用和过程调用来进行交互。

原理图:

优点:

一个对象对外隐藏了自己的详细信息对象将数据和操作封装在一起继承和封装方法为对象服用提供了技术支持

缺点:

如果一个对象要调用另一个对象,则必须知道它的标识和名称会产生连锁反应

3.事件驱动 体系结构风格

惯用模式:

事件驱动就是在当前系统的基础之上,根据事件


比丘资源网 » 13种常见软件体系结构风格定义分析、结构图、优缺点

发表回复

提供最优质的资源集合

立即查看 了解详情