Skip to content
距考试 58 天预计考试 2026.10.24

软件架构风格

考试趋势:本章平均每年约4~5 分

  • 软件架构风格从 2013 年至今持续出现,近年每场都有记录,是架构设计中最稳定的基础主线之一。
  • 题目以风格识别、构件与连接件特征、数据或控制流向及适用场景辨析为主;复习时先按五类风格建立对照,再记具体风格的优缺点。

软件架构风格是特定应用领域中系统组织方式的惯用模式,反映该领域系统共有的结构和语义特征。它通过构件、连接件及其组合约束,描述一类系统通常如何组织和协作。

1. 软件架构风格概述

一个架构风格通常包含:

  • 词汇表:规定可使用的构件类型和连接件类型;
  • 约束:规定构件和连接件如何组合、如何交互;
  • 语义:说明这种组织方式所表达的系统行为和协作含义。

常见架构风格可以按核心组织方式分为五类:数据流风格、调用/返回风格、以数据为中心的风格、虚拟机风格和独立构件风格

对应真题:#2013.11-29#2014.11-34#2015.11-29#2016.11-35#2023.11-22#2024.11-33#2026.05-70

2. 典型架构风格与辨析

先看架构的核心组织方式,再看构件之间如何交互,以及数据或控制如何流动。

数据流

风格特点执行取决于输入是否可用,顺序不预先确定

批处理完整批次 + 严格串行;构件是独立程序

管道-过滤器过滤器处理 + 管道传输;连续数据流,可并行

调用/返回

风格特点调用/返回机制;分治,降低系统复杂度

主程序/子程序主程序调用子程序;过程调用是连接件

面向对象对象封装数据和操作

分层上层调用下层、层间服务

客户机/服务器客户请求 + 服务器服务;资源不对等

胖客户端客户端承担更多业务逻辑和用户交互;瘦客户端更多依赖服务器

三层 C/S表示层 + 功能层 + 数据层;B/S 是特殊的三层 C/S

以数据为中心

仓库中央数据结构 + 独立构件读写

黑板黑板 + 知识源 + 控制组件;适合复杂、非结构化问题

区别:仓库看共享数据状态;黑板看知识源协同求解

虚拟机

风格特点构造运行环境,解析和运行自定义语言

解释器解释引擎 + 代码存储区 + 当前状态 + 执行进度;效率较低

规则系统规则集 + 规则解释器 + 规则/数据选择器 + 工作内存

区别:解释器执行语言或脚本;规则系统执行可调整的业务规则

独立构件

进程通信独立进程 + 消息传递;点到点、同步/异步、RPC

事件系统事件触发、间接调用;事件源不必知道处理者

C2顶部/底部接口;构件不能直接连接,必须通过连接件

过程控制

核心输入 → 处理 → 输出 → 反馈,形成闭环

判断根据环境或结果不断调整状态,如空调控温、定速巡航

对应真题:#2013.11-32#2015.11-12#2015.11-36#2015.11-37#2016.11-31#2016.11-34#2016.11-36#2016.11-37#2016.11-38#2017.11-34#2017.11-35#2017.11-36#2017.11-37#2018.11-34#2018.11-35#2020.11-10#2020.11-26#2021.11-35#2021.11-48#2022.11-42#2023.11-34#2023.11-43#2024.05-24#2024.05-25#2024.05-42#2024.05-43#2024.11-6#2024.11-44#2024.11-55#2025.05-14#2025.05-27#2025.05-55#2025.11-30#2025.11-40#2025.11-52#2025.11-53#2026.05-48#2026.05-50#2026.05-51

历年真题

2026 年 5 月 - 70 题
软件架构风格通常通过()来描述一类系统组织结构。
2026 年 5 月 - 51 题
事件驱动架构中,连接件通常体现为( )。
2026 年 5 月 - 50 题
黑板架构中,多个问题求解模块通常称为( )。
2026 年 5 月 - 48 题
C/S 架构中的胖客户端通常承担更多( )。
2025 年 11 月 - 53 题
家用机器人在执行任务时,需要根据复杂的环境变化和条件规则进行自适应调整。这种情况下,适合采用的体系结构风格是()。
2025 年 11 月 - 52 题
进程通信体系结构中,关于消息传递方式的描述,错误的是()。
2025 年 11 月 - 40 题
在软件体系结构中,不同的系统可按照其组件组织方式和交互模式划分为不同的架构风格。下列选项中,客户端-服务器(Client-Server)架构属于哪一种架构风格?()
2025 年 11 月 - 30 题
关于 MVP(ModelViewPresenter)模式的说法,错误的是()。
2025 年 5 月 - 55 题
黑板体系结构风格是一种适用于解决复杂、非结构化问题的架构模式。下列关于黑板体系结构的说法中,不正确的是哪一项()?
2025 年 5 月 - 27 题
在软件系统设计中,不同的架构风格具有各自的优点和局限。以下哪一项不属于对某种架构风格脆弱性的合理描述()。
2025 年 5 月 - 14 题
关于客户端/服务器(C/S)和浏览器/服务器(B/S)架构的说法,下列选项中哪一项是错误的 ()。
2024 年 11 月 - 55 题
下列不属于调用返回架构风格的是()。
2024 年 11 月 - 44 题
进程通信风格的连接件是()。
2024 年 11 月 - 33 题
下列关于架构风格描述正确的是()。
2024 年 11 月 - 6 题
在仓库体系结构风格中,()用以说明当前数据结构状态。
2024 年 5 月 - 43 题
下面关于软件架构风格描述不正确的是()。
2024 年 5 月 - 42 题
管道-过滤器体系结构风格中,当数据源源不断地产生,系统就需要对这些数据进行若干处理(分析、计算、转换等)。现有的解决方案是把系统分解为几个序贯的处理步骤,这些步骤之间通过数据流连接,一个步骤的输出是另一个步骤的输入。每个处理步骤由一个()实现,处理步骤之间的数据传输由()负责。每个处理步骤都有一组输入和输出,过滤器从管道中读取输入的数据流,经过内部处理,然后产生输出数据流并写入管道中。问题(1) (A)过滤器 (B)管道 (C)对象 (D)构件
2024 年 5 月 - 25 题
与两层C/S结构相比,三层 C/S 结构增加了一个应用服务器。这时,整个应用逻辑驻留在应用服务器上,()存在于客户机上。
2024 年 5 月 - 24 题
在经典的体系结构风格分类中,黑板体系结构风格属于()的子风格。
2023 年 11 月 - 43 题
在比较批处理和管道风格时,下列说法错误的是()。
2023 年 11 月 - 34 题
如果服务器的功能较弱而工作站的功能较强,则称为()架构模式。
2023 年 11 月 - 22 题
信息系统架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一个系统家族,即一个架构定义()。
2022 年 11 月 - 42 题
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。其中,在批处理风格软件体系结构中,每个处理步骤是一个单独的程序,每一步必须在前一步结束后才能开始,并且数据必须是完整的,以()的方式传递,基于规则的系统包括规则集、规则解释器、规则/数据选择器及 ()
问题(1)
问题(2)
2021 年 11 月 - 48 题
在三层C/S架构中,()是应用的用户接口部分,负责与应用逻辑间的对话功能;()是应用的本体,负责具体的业务处理逻辑。
问题(1)
问题(2)
2021 年 11 月 - 35 题
某公司拟开发一个个人社保管理系统,该系统的主要功能需求是根据个人收入、家庭负担、身体状态等情况,预估计算个人每年应支付的社保金,该社保金的计算方式可能随着国家经济的变化而动态改变,针对上述需求描述,该软件系统适宜采用 () 架构风格设计,该风格的主要特点是 ()。
问题(1)
问题(2)
2020 年 11 月 - 26 题
针对二层C/S软件架构的缺点,三层C/S架构应运而生。在三层C/S架构中,增加了一个()。三层 C/S架构是将应用功能分成表示层、功能层和()三个部分。 其中()是应用的用户接口部分,担负与应用逻辑间的对话功能。
问题(1)
问题(2)
问题(3)
2020 年 11 月 - 10 题
软件脆弱性是软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低。嵌入式系统软件架构通常采用分层架构,它可以将问题分解为一系列相对独立的子问题,局部化在每一层中, 从而有效地降低单个问题的规模和复杂性,实现复杂系统的分解。但是,分层架构仍然存在脆弱性。常见的分层架构的脆弱性包括()等两个方面。
2018 年 11 月 - 35 题
某公司欲开发一个大型多人即时战略游戏,游戏设计的目标之一是能够支持玩家自行创建战役地图,定义游戏对象的行为和对象之间的关系。针对该需求,公司应该采用()架构风格最为合适。在架构设计阶段,公司的架构师识别出两个核心质量属性场景。其中,"在并发用户数量为10000人时,用户的请求需要在1秒内得到响应"主要与()质量属性相关;"对游戏系统进行二次开发的时间不超过3个月"主要与()质量属性相关。
问题(1)
问题(2)
问题(3)
2018 年 11 月 - 34 题
在仓库风格中,有两种不同的构件,其中,()说明当前状态,()在中央数据存储上执行。
问题(1)
问题(2)
2017 年 11 月 - 37 题
系统中的构件和连接件都有一个顶部和一个底部,构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,构件和构件之间不允许直接连接,连接件直接连接时,必须由其中一个的底部连接到另一个的顶部。上述构件和连接件的组织规则描述的是()架构风格。
2017 年 11 月 - 36 题
某公司拟开发一个新闻系统,该系统可根据用户的注册兴趣,向用户推送其感兴趣的新闻内容,该系统应该采用()架构风格最为合适。
2017 年 11 月 - 35 题
某公司拟开发一个VIP管理系统,系统需要根据不同商场活动,不定期更新VIP会员的审核标准和 VIP折扣系统。针对上述需求,采用()架构风格最为合适。
2017 年 11 月 - 34 题
软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的 ()特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统,通常会采用()架构风格。对于因数据输入某个构件,经过内部处理,产生数据输出的系统,通常会采用()架构风格。
问题(1)
问题(2)
问题(3)
2016 年 11 月 - 38 题
某公司拟开发一个语音搜索系统,其语音搜索系统的主要工作过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供搜索关键词等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用()架构风格最为合适。
2016 年 11 月 - 37 题
某企业内部现有的主要业务功能已封装成为 Web 服务。为了拓展业务范围,需要将现有的业务功能进行多种组合,形成新的业务功能。针对业务灵活组合这一要求,采用()架构风格最为合适。
2016 年 11 月 - 36 题
某公司拟开发一个扫地机器人。机器人的控制者首先定义清洁流程和流程中任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用()架构风格最为合适。
2016 年 11 月 - 35 题
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。一个体系结构定义了一个词汇表和一组()。架构风格反映领域中众多系统所共有的结构和()。
问题(1)
问题(2)
2016 年 11 月 - 34 题
某公司拟为某种新型可编程机器人开发相应的编译器。该编译过程包括词法分析、语法分析、语义分析和代码生成四个阶段,每个阶段产生的结果作为下一个阶段的输入,且需独立存储。针对上述描述,该集成开发环境应采用()架构风格最为合适。
2016 年 11 月 - 31 题
()架构风格可以概括为通过连接件绑定在一起按照一组规则运作的并行构件。
2015 年 11 月 - 37 题
某公司为其研发的硬件产品设计实现了一种特定的编程语言,为了方便开发者进行软件开发,公司拟开发一套针对该编程语言的集成开发环境,包括代码编辑、语法高亮、代码编译、运行调试等功能。针对上述描述,该集成开发环境应采用()架构风格最为合适。
2015 年 11 月 - 36 题
某公司拟开发一套在线游戏系统,该系统的设计目标之一是支持用户自行定义游戏对象的属性、行为和对象之间的交互关系。为了实现上述目标,公司应该采用()架构风格最为合适。
2015 年 11 月 - 29 题
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格反映领域中众多系统所共有的结构和(),强调对架构()的重用。
问题(1)
问题(2)
2015 年 11 月 - 12 题
以下关于软件架构风格与系统性能的关系叙述中,错误的是()。
2014 年 11 月 - 34 题
软件架构风格描述某一特定领域中的系统组织方式和惯用模式,反映了领域中众多系统所共有的 ()特征。对于语音识别、知识推理等问题复杂、解空间很大、求解过程不确定的这一类软件系统。通常会采用()架构风格。
问题(1)
问题(2)
2013 年 11 月 - 32 题
"编译器"是一种非常重要的基础软件,其核心功能是对源代码形态的单个或一组源程序依次进行预处理、词法分析、语法分析、语义分析、代码生成、代码优化等处理,最终生成目标机器的可执行代码。考虑以下与编译器相关的软件架构设计场景: 传统的编译器设计中,上述处理过程都以独立功能模块的形式存在,程序源代码作为一个整体,依次在不同模块中进行传递,最终完成编译过程。针对这种设计思路,传统的编译器采用()架构风格比较合适。 随着编译、链接、调试、执行等开发过程的一体化趋势发展,集成开发环境(IDE)随之出现。 IDE集成了编译器、连接器、调试器等多种工具,支持代码的增量修改与处理,能够实现不同工具之间的信息交互,覆盖整个软件开发生命周期。针对这种需求,IDE采用()架构风格比较合适。 IDE强调交互式编程,用户在修改程序代码后,会同时触发语法高亮显示、语法错误提示、程序结构更新等多种功能的调用与结果呈现,针对这种需求,通常采用()架构风格比较合适。 某公司已经开发了一款针对某种嵌入式操作系统专用编程语言的IDE,随着一种新的嵌入式操作系统上市并迅速占领市场,公司决定对IDE进行适应性改造,支持采用现有编程语言进行编程,生成符合新操作系统要求的运行代码,并能够在现有操作系统上模拟出新操作系统的运行环境,以支持代码调试工作。针对上述要求,为了使IDE能够生成符合新操作系统要求的运行代码,采用基于()的架构设计策略比较合适;为了模拟新操作系统的运行环境,通常采用()架构风格比较合适。
问题(1)
问题(2)
问题(3)
问题(4)
问题(5)
2013 年 11 月 - 29 题
软件架构风格是描述某一特定应用领域中系统组织方式的惯用模式。架构风格定义了一类架构所共有的特征,主要包括架构定义、架构词汇表和架构()。