接前一篇文章:软考 系统架构设计师系列知识点之软件架构风格(9)
所属章节:
第7章. 系统架构设计基础知识
第3节. 软件架构风格
相关试题
7. 某企业内部现有的主要业务功能已封装成为Web服务。为了拓展业务范围,需要将现有的业务进行多种组合,形成新的业务功能。针对业务灵活组合这一要求,采用( )架构风格最为合适。
A. 规则系统
B. 面向对象
C. 黑板
D. 解释器
正确答案:D。
解析:
根据题意,要求对业务功能灵活组合形成新的业务功能,也就是有自定义类型的业务。自定义的业务功能正常执行,需要有虚拟机架构的支撑。
目前备选答案中A与D都是虚拟机风格。而A主要适合于专家系统,所以应选D。
参考:
(4)虚拟机体系结构风格
虚拟机体系结构风格的基本思想是人为构建一个运行环境,可以解析与运行自定义的一些语言,这样来增加架构的灵活性。
虚拟机体系结构风格主要包括:
解释器体系结构风格和规则系统体系结构风格。
- 解释器体系结构风格
一个解释器通常包括完成解释工作的解释引擎、一个包含将被解释的代码的存储区、一个记录解释引擎当前工作状态的数据结构、以及一个记录源代码被解释执行进度的数据结构。
具有解释器风格的软件中含有一个虚拟机,可以仿真硬件的执行过程和一些关键应用。解释器通常被用来建立一种虚拟机以弥合程序语义与硬件语义之间的差异。其缺点是执行效率低。典型的例子是专家系统。
- 规则系统体系结构风格
基于规则的系统包括:规则集、规则解释器、规则/数据选择器和工作内存。
以数据为中心的体系结构风格主要包括:
仓库体系结构风格和黑板体系结构风格。
- 黑板体系结构风格
黑板体系结构风格适用于解决复杂的非结构化的问题,能在求解过程中综合运用不同知识源,使得问题的表达、组织和求解变得比较容易。黑板系统是一种问题求解模型,是组织推理步骤、控制状态数据和问题求解之领域知识的概念框架。它将问题的求解空间空间组织成一个或多个应用相关的分级结构,分级结构的每一层信息由一个唯一的词汇来描述,它代表了问题的部分分解。领域相关的知识被分成独立的知识模块,它将某一层次中的信息转换成同层或相邻层的信息。各种应用通过不同知识表达方法、推理框架和控制机制的组合来实现。影响黑板体系结构的设计的最大因素是应用问题本身的特性,但是支撑应用程序的黑板体系结构有许多相似的特征和构件。
对于特定应用问题,黑板系统可通过选取各种黑板(共享数据)、知识源和控制模块的构件来设计,也可以利用预先定制的黑板体系结构的编程环境。
黑板系统的传统应用是信号处理领域,如语音识别和模式识别。另一应用是松耦合代理数据共享存取。
(2)调用/返回体系结构风格
调用/返回体系结构风格是指在系统中采用了调用与返回机制,实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为若干子系统,以便降低复杂度,并且增加可修改性,程序从其执行起点开始执行该构件的代码,程序执行结束,将控制返回给程序调用构件。
调用/返回体系结构风格主要包括:
主程序/子程序风格、面向对象风格、层次结构风格和客户端/服务器风格。
- 面向对象体系结构风格
面向对象体系结构风格建立在数据抽象和面向对象的基础上。数据的表示方法和它们的相应操作封装在一个抽象数据类型或对象中。
面向对象体系结构风格的构件是对象,或者说是抽象数据类型的实例。与主程序/子程序体系结构风格一样,连接件为过程调用机制。
8. 某软件开发公司负责开发一个Web服务器服务端处理软件,其核心部分是对客户端请求消息的解析与处理,包括HTTP报头分离、SOAP报文解析等功能。该公司的架构师决定采用成熟的架构风格指导整个软件的设计,以下( )架构风格,最适合该服务器端处理软件。
A. 虚拟机
B. 管道 - 过滤器
C. 黑板结构
D. 分层结构
正确答案:B。
解析:
根据题干描述,Web服务器服务端的核心功能是数据处理,由于Web服务在数据传输方面具有协议分层的特征,即底层协议会包装上层协议(HTTP协议体中包含整个SOAP消息内容),因此需要数据内容的逐步分解与分段处理。比较选项中的架构风格,由于管道 - 过滤器的架构风格支持分阶段数据处理,因此特别适合该服务端处理软件的要求。
参考:
(1)数据流体系结构风格
数据流体系结构是一种计算机体系结构,直接与传统的冯诺依曼体系结构或控制流体系结构进行了对比。
数据流体系结构风格主要包括:
批处理风格和管道——过滤器风格。
- 管道——过滤器体系结构风格
当数据源源不断地产生,系统就需要对这些数据进行若干处理(分析、计算、转换等)。现有的解决方案是把系统分解为几个序贯的处理步骤,这些步骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入。每个处理步骤(过滤器)都有一组输入和输出,过滤器从管道中读取输入的数据流,经过内部处理,然后产生输出数据流并写入管道中。
因此,管道——过滤器风格的基本构件是过滤器,连接件是数据流传输管道,将一个过滤器的输出传递到另一个过滤器的输入。
(2)调用/返回体系结构风格
调用/返回体系结构风格是指在系统中采用了调用与返回机制,实际上是一种分而治之的策略,其主要思想是将一个复杂的大系统分解为若干子系统,以便降低复杂度,并且增加可修改性,程序从其执行起点开始执行该构件的代码,程序执行结束,将控制返回给程序调用构件。
调用/返回体系结构风格主要包括:
主程序/子程序风格、面向对象风格、层次结构风格和客户端/服务器风格。
- 层次型体系结构风格
层次系统组成一个层次结构,每一层为上层提供服务,并作为下层的客户。在一些层次系统中,除了一些精心挑选的输出函数外,内部的层接口只对相邻的层可见。这样的系统中构件在层上实现了虚拟机。连接件由通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束。由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,这同样为软件重用提供了强大的支持。