第9章 软件可靠性基础知识 — 系统架构设计师

发布时间:2026/7/31 12:35:17
第9章 软件可靠性基础知识 — 系统架构设计师 第9章 软件可靠性基础知识 — 系统架构设计师学习笔记 本章是架构设计师考试的最核心章节没有之一。几乎每年必考选择题案例分析题且分值占比极高。可靠性是衡量软件系统能不能稳定运行的根本指标可靠性设计容错、冗余、串并联模型是案例分析题的常驻嘉宾。学完本章你需要能计算系统可靠性、设计容错方案、分析故障树、选择可靠性策略。一、章节概览1.1 本章地位与核心目标如果把软件架构比作一栋大楼那可靠性就是这栋大楼的抗震等级。第8章讲了什么样的楼是好楼质量属性第9章则讲怎么让楼不塌可靠性工程。本章是从理论到实践的关键落地章节直接决定了你在案例分析题中能否拿到高分。本章围绕四个核心问题展开什么是可靠性→ 可靠性的定义、核心指标MTTF/MTBF/MTTR怎么算可靠性→ 串联、并联、混联系统的可靠性计算怎么设计可靠性→ 容错设计、冗余策略、N版本程序、恢复块怎么分析故障→ 故障树分析FTA、可靠性框图1.2 知识思维导图第9章 软件可靠性基础知识 ├── 9.1 可靠性基本概念 │ ├── 可靠性的定义 │ ├── 可靠性的四个要素 │ ├── 失效Failure、故障Fault、错误Error │ └── 可靠性与可用性、健壮性的关系 ├── 9.2 可靠性指标与度量 │ ├── 失效率 λ(t) │ ├── 可靠度 R(t) │ ├── MTTF平均无故障时间 │ ├── MTTR平均修复时间 │ ├── MTBF平均故障间隔时间 │ └── 可用性 A ├── 9.3 系统可靠性模型★★★ 计算必考 │ ├── 串联模型 │ ├── 并联模型 │ ├── 混联模型串并联组合 │ ├── N模冗余NMR │ └── 表决系统k/n系统 ├── 9.4 软件可靠性设计★★★ 案例必考 │ ├── 容错设计 │ │ ├── 冗余设计硬件冗余、软件冗余、信息冗余、时间冗余 │ │ ├── N版本程序设计NVP │ │ ├── 恢复块设计RB │ │ └── 防卫式程序设计 │ ├── 故障检测 │ │ ├── 心跳检测 │ │ ├── 校验机制 │ │ └── 异常监控 │ └── 故障恢复 │ ├── 重试机制 │ ├── 回滚机制 │ └── 降级策略 ├── 9.5 故障树分析FTA │ ├── 故障树的基本符号 │ ├── 与门、或门 │ ├── 最小割集 │ └── 故障树定性/定量分析 └── 9.6 可靠性测试与评估 ├── 可靠性测试类型 ├── 可靠性增长模型 └── 可靠性评估方法二、核心知识点精讲9.1 可靠性基本概念★ 基础必背9.1.1 可靠性的定义概念定义软件系统在规定条件和规定时间内无故障地执行指定功能的概率。通俗解释就像买灯泡——商家说正常使用平均能用5000小时。这里的正常使用就是规定条件5000小时就是规定时间不坏的概率就是可靠性。可靠性的四个关键要素缺一不可要素含义举例规定条件使用环境、负载、操作方式温度40°C、并发1000规定时间运行的时间长度连续运行72小时规定功能系统应该完成的功能订单处理、支付结算概率无故障的可能性0~1之间R(72h) 0.99⚠️考点可靠性是一个概率值不是能或不能的绝对概念。R(t) 越接近1可靠性越高。9.1.2 失效、故障、错误的区别通俗解释用人生病来类比——概念英文定义类比举例错误ErrorError人的操作失误或代码编写错误写错代码的bug程序员写了死循环故障FaultFault系统中存在的缺陷/隐患身体里的病毒代码中存在空指针隐患失效FailureFailure系统不能执行规定功能病倒了系统崩溃/输出错误结果三者关系链错误Error→ 故障Fault→ 失效Failure 原因 隐患 结果一句话记忆错误是因写错了故障是病有隐患了失效是果系统挂了。⚠️易混淆点有故障不一定立即失效像体内有病毒但还没发病但失效一定是由故障引起的。9.1.3 可靠性与相关概念的关系概念关注点核心问题类比可靠性Reliability持续运行不中断能跑多久不出问题不生病可用性Availability需要时能用需要时能不能用病了能快速好健壮性Robustness异常情况下不崩溃遇到意外扛不扛得住抵抗力强不强安全性Safety故障时不造成危害出了问题伤不伤人摔倒了会不会骨折关键区别可靠性 vs 可用性可靠性关注不坏可用性关注坏了能快速修好可靠性 vs 健壮性可靠性关注正常情况稳定运行健壮性关注异常情况不崩溃通俗理解可靠性高 从来不感冒可用性高 感冒了吃颗药第二天就好健壮性高 淋了雨也不会感冒9.2 可靠性指标与度量★★★ 计算必考9.2.1 核心指标一览指标英文定义公式越大/越小越好失效率λ(t)单位时间内发生故障的概率λ 故障次数/总运行时间越小越好可靠度R(t)在时间t内无故障的概率R(t) e^(-λt)越大越好MTTFMean Time To Failure平均无故障时间MTTF 1/λ越大越好MTTRMean Time To Repair平均修复时间MTTR 总修复时间/故障次数越小越好MTBFMean Time Between Failures平均故障间隔时间MTBF MTTF MTTR越大越好可用性A (Availability)系统可用时间的比例A MTTF/(MTTFMTTR)越大越好9.2.2 指标详解与计算1失效率 λ(t)通俗解释就像灯泡的坏灯率——1000个灯泡跑了100小时坏了5个失效率 5/(1000×100) 0.00005/小时。失效率的三个阶段浴盆曲线失效率 λ(t) ↑ │ ╲ ╱ │ ╲ ╱ ← 耗损期老化失效率上升 │ ╲ ╱ │ ‾‾‾‾ ← 偶然期稳定失效率恒定 │ ╱ │ ╱ ← 早期故障期磨合失效率下降 │ ╱ └──────────────→ 时间 t阶段特点原因应对策略早期故障期失效率高逐渐下降设计/制造缺陷老化测试、烧机测试偶然故障期失效率低且恒定随机因素冗余设计、容错机制耗损故障期失效率急剧上升老化磨损预防性维护、定期更换记忆技巧浴盆曲线就像U形——早高、中稳、晚升像一个浴缸的横截面。2可靠度 R(t)核心公式R(t)e−λtR(t) e^{-\lambda t}R(t)e−λt通俗解释如果失效率 λ 0.01/小时运行10小时后的可靠度 e^(-0.01×10) e^(-0.1) ≈ 0.905即有90.5%的概率不出故障。3MTTF、MTTR、MTBF 的关系|←—— MTTF ——→|←— MTTR —→|←—— MTTF ——→|←— MTTR —→| | 正常运行 | 故障修复 | 正常运行 | 故障修复 | |←———————— MTBF ——————————→|关键公式MTBF MTTF MTTR可用性 A MTTF / (MTTF MTTR) MTTF / MTBF⚠️高频考点几乎每年必考计算串行系统MTTF 1/(λ₁ λ₂ … λₙ)并联系统两台MTTF 1/λ₁ 1/λ₂ 1/(λ₁λ₂)不要求记理解原理即可4可用性等级速查等级可用性年停机时间典型系统99%99%3.65天普通内部系统99.9%99.9%8.76小时企业级应用99.99%99.99%52.6分钟金融交易系统99.999%99.999%5.26分钟电信核心系统9.3 系统可靠性模型★★★ 计算核心这是本章最重要的计算部分几乎每年必考9.3.1 串联系统概念定义系统中所有组件必须全部正常工作系统才能工作。任何一个组件故障系统就故障。通俗解释就像一串鞭炮——任何一个响了坏了整串就断了。又像老式圣诞灯串一个灯泡坏了全灭。可靠性计算R_串联 R₁ × R₂ × R₃ × ... × Rₙ特点串联组件越多系统可靠性越低系统的可靠性低于任何一个组件的可靠性“最弱环节决定整体”——木桶效应举例3个组件串联可靠度分别为0.99、0.98、0.97R 0.99 × 0.98 × 0.97 0.9411→ 系统可靠性只有94.11%比最低的0.97还低9.3.2 并联系统概念定义系统中只要有一个组件正常工作系统就能工作。所有组件都故障系统才故障。通俗解释就像多个保安守门——只要有一个保安醒着正常门就有人守。所有保安都睡着了才出事。可靠性计算R_并联 1 - (1-R₁) × (1-R₂) × (1-R₃) × ... × (1-Rₙ)特点并联组件越多系统可靠性越高系统的可靠性高于任何一个组件的可靠性“人多力量大”——冗余带来可靠性提升举例2个组件并联可靠度分别为0.9、0.8R 1 - (1-0.9) × (1-0.8) 1 - 0.1 × 0.2 1 - 0.02 0.98→ 系统可靠性98%比任何一个组件都高9.3.3 混联系统串并联组合概念定义系统中既有串联部分又有并联部分的组合。通俗解释就像电路——有的灯串联有的灯并联组合在一起。计算方法先算并联再算串联分步化简典型例题结构┌── R₂ ──┐ ──┤ ├── R₄ ── R₅ ── └── R₃ ──┘ 分析R₂和R₃并联再与R₁、R₄、R₅串联 步骤 ① 先算并联部分R₂₃ 1 - (1-R₂)(1-R₃) ② 再算串联R R₁ × R₂₃ × R₄ × R₅⚠️计算口诀“先并后串逐步化简”——先把并联部分合成一个等效组件再按串联计算。9.3.4 N模冗余系统NMR概念定义N个模块同时运行通过投票机制选出多数一致的结果作为输出。通俗解释就像三人裁判——3个裁判同时打分2个说好就算好1个说好不算。典型形式三模冗余TMR3个模块2个一致即正确最常用五模冗余5MR5个模块3个一致即正确可靠性计算以TMR为例3个相同模块R_TMR 3R² - 2R³ 当各模块可靠度相同时理解TMR中只要2个或以上模块正确系统就正确。3个都对C(3,3)×R³ R³2个对1个错C(3,2)×R²×(1-R) 3R²(1-R)合计R³ 3R²(1-R) 3R² - 2R³9.3.5 表决系统k/n系统概念定义n个模块中至少k个正常工作系统才正常。通俗解释就像班级投票——全班50人n50至少26人同意k26才能通过决议。可靠性计算各模块可靠度相同为R时R_系统 Σ C(n,i) × Rⁱ × (1-R)^(n-i) i从k到n求和⚠️考点串联 n/n表决全部都要工作并联 1/n表决至少1个工作。可靠性模型对比总结表模型条件计算公式特点生活类比串联全部正常才工作R R₁×R₂×…×Rₙ越多越不可靠一串鞭炮并联至少1个正常就工作R 1-(1-R₁)(1-R₂)…(1-Rₙ)越多越可靠多个保安混联组合结构先并后串逐步化简需要分析结构复杂电路N模冗余多数表决3R²-2R³TMR容错性强三人裁判k/n表决至少k个正常二项式求和通用模型投票决议9.4 软件可靠性设计★★★ 案例核心9.4.1 容错设计概念定义系统在部分组件发生故障时仍能继续正常运行或安全降级的能力。通俗解释就像飞机有双引擎——一个引擎坏了另一个还能飞不会坠机。四种冗余策略对比冗余类型含义实现方式优点缺点类比硬件冗余增加备用硬件双机热备、RAID磁盘物理层面保障成本高备胎轮胎软件冗余多版本软件并行N版本程序设计、恢复块避免设计缺陷开发成本翻倍多人独立翻译同一本书信息冗余增加校验信息校验码、CRC、奇偶校验检测数据错误占用额外存储/带宽快递包裹加防震泡沫时间冗余重复执行操作重试机制、定时重发应对瞬时故障增加响应时间打电话断了重新打N版本程序设计NVP—— 软件冗余的核心方法概念定义由N个独立团队用不同的方法对同一需求分别编程实现运行时通过投票机制决定最终输出。通俗解释就像高考作文阅卷——3位老师独立打分2位以上给的分一致才算最终分数。避免一个老师看走眼。工作流程┌── 版本1 ──→ 结果1 ──┐ 输入 ──→ 需求规格 ──┼── 版本2 ──→ 结果2 ──┼──→ 投票器 ──→ 最终输出 └── 版本3 ──→ 结果3 ──┘关键要点N个版本必须独立开发不同团队、不同方法目的是消除设计缺陷导致的共性错误投票器负责多数表决所有版本同时运行⚠️考点NVP的所有版本是同时运行的不是轮流运行。恢复块设计RB—— 另一种软件冗余概念定义由一个团队编写多个版本运行时按顺序执行每个版本执行后由验收测试判断结果是否正确不正确则切换到下一个版本。通俗解释就像考试做题——先做第一种解法检查发现不对验收测试再换第二种解法再不对换第三种。工作流程输入 → 版本1 → 验收测试 → 通过→ 是 → 输出 ↓ 否 版本2 → 验收测试 → 通过→ 是 → 输出 ↓ 否 版本3 → ...关键要点多个版本由同一团队开发不同于NVP版本依次执行不同于NVP的同时运行每个版本后必须有验收测试需要能回滚状态恢复到现场NVP vs RB 对比高频考点对比维度N版本程序设计NVP恢复块设计RB开发团队N个独立团队同一团队运行方式同时运行依次运行决策机制投票表决验收测试版本要求不同方法/算法不同实现即可状态恢复不需要需要回滚开发成本高多人同时开发较低同一团队运行开销高同时运行N个较低只运行到通过为止适用场景安全性要求极高的系统一般容错系统一句话记忆NVP 多人同时做投票选答案像高考阅卷RB 一个人轮流做做对就交卷像考试换解法防卫式程序设计概念定义在程序中对所有输入进行合法性检查对异常情况做出预防性处理即使部分功能失效也不影响整体。通俗解释就像电梯——即使有人按了不存在的楼层非法输入电梯不会崩溃而是忽略或提示错误。核心思想不信任任何外部输入对所有输入做校验异常情况有兜底处理失败时优雅降级不崩溃9.4.2 故障检测机制检测方式原理举例适用场景心跳检测定时发送我还活着信号主备服务器心跳线服务器/进程存活检测校验机制对数据做完整性校验CRC校验、MD5校验数据传输/存储完整性异常监控监控系统指标超阈值报警CPU90%报警系统运行状态监控超时检测等待响应超时视为故障接口调用超时3秒网络通信/服务调用9.4.3 故障恢复策略恢复策略原理举例适用场景重试失败后重新执行网络请求失败重试3次瞬时故障回滚恢复到操作前的状态数据库事务回滚事务性操作降级关闭非核心功能保核心双11关闭评论功能高并发/资源不足熔断检测到持续故障后断开下游服务不可用时熔断微服务调用链切换切换到备用组件主备数据库切换主备架构记忆技巧重试 电话没接再打一次回滚 写错字了用橡皮擦掉降级 钱不够了先保吃饭不买衣服熔断 保险丝烧断了保护整个电路切换 主力受伤替补上场9.5 故障树分析FTA★★ 常考概念定义从顶层故障事件出发逐层向下分析原因用逻辑门与门、或门连接形成树状图。通俗解释就像医生诊断——“病人发烧了”顶层事件为什么“可能是感染或可能是免疫反应”或门再往下分析感染的原因…基本符号符号名称含义图形─ ─ ─与门AND所有输入事件都发生输出才发生半圆直线∨或门OR任一输入事件发生输出就发生弧线○基本事件最底层的故障原因圆形▽中间事件可继续分解的故障事件矩形△顶事件分析的顶层故障矩形最上方与门 vs 或门对比与门AND或门OR逻辑A且B → 故障A或B → 故障含义所有条件都满足才故障任一条件满足就故障可靠性提高可靠性需要多个同时坏降低可靠性一个坏就完概率计算P P₁ × P₂P 1-(1-P₁)(1-P₂)类比两把锁都打开才能进门任何一把锁打开就能进门记忆技巧与门 串联 都坏才坏 可靠性高像两道门锁或门 并联 一个坏就坏 可靠性低像多个隐患任一触发最小割集概念定义导致顶事件发生的最少基本事件组合。通俗解释找出最少需要坏几个零件系统就会出问题的组合。举例系统故障顶事件 / \ 或门 或门 / \ / \ 事件A 与门 事件D 事件E / \ 事件B 事件C 最小割集{A}, {B,C}, {D}, {E} 含义A单独坏就故障、B和C同时坏才故障、D单独坏就故障、E单独坏就故障⚠️考点最小割集越少、包含的事件越多系统越可靠。单点故障只有一个事件的割集是最危险的9.6 可靠性测试与评估可靠性测试类型测试类型目的方法关注点可靠性验证测试验证是否达到可靠性指标在模拟环境下长时间运行是否达标可靠性增长测试发现缺陷并修复提升可靠性测试→修复→测试循环可靠性是否在提升压力测试在极限条件下测试超负载、大数据量运行系统极限表现故障注入测试模拟故障测试容错能力人为注入故障容错和恢复能力可靠性增长模型通俗解释就像打怪升级——每发现一个bug并修复可靠性就提升一点。可靠性 ↑ │ ╱──── 目标可靠性 │ ╱ │ ╱ │ ╱ ← 可靠性增长曲线 │ ╱ │╱ └──────────────→ 测试时间三、重点归纳 速记口诀3.1 必背要点清单编号要点重要度1可靠性的定义与四要素★★★★2失效-故障-错误的因果链★★★★3MTTF、MTTR、MTBF的定义与关系★★★★★4可用性计算公式 AMTTF/(MTTFMTTR)★★★★★5串联系统可靠性计算 RR₁×R₂×…×Rₙ★★★★★6并联系统可靠性计算 R1-(1-R₁)(1-R₂)…★★★★★7混联系统计算方法先并后串★★★★★8NVP与RB的区别★★★★★9四种冗余策略硬件/软件/信息/时间★★★★10故障树中与门、或门的含义★★★★11最小割集的概念★★★12浴盆曲线的三个阶段★★★★3.2 速记口诀可靠性三兄弟因果链“错→障→失”错Error→障Fault→失Failure写错了 → 有故障了 →失败了可靠性指标“失可靠MT三兄弟”失效率λ、可靠度R(t)MTTF无故障时间、MTTR修复时间、MTBF间隔时间MTBF MTTF MTTR串联 vs 并联“串联相乘越来越小并联互补越来越大”串联R R₁×R₂ → 越多越不可靠一串鞭炮并联R 1-(1-R₁)(1-R₂) → 越多越可靠多个保安NVP vs RB“NVP多人同时投票选RB一人轮流做对交”NVP 高考阅卷多人独立同时运行投票RB 考试换解法同一人依次运行验收测试四种冗余“硬软信时”硬件冗余、软件冗余、信息冗余、时间冗余联想“硬软信时”→ 硬软件信息时代故障树“与门串联都坏才坏或门并联一坏就坏”浴盆曲线“早高中低晚又高中间稳定最可靠”四、历年真题 考点映射4.1 近5年真题汇总年份题型分值考点内容2024选择题2分串联/并联系统可靠性计算2024选择题2分NVP与RB的区别2024案例分析25分给出系统架构要求设计容错方案计算系统可靠性2023选择题2分可用性计算MTTF/MTTR2023选择题2分浴盆曲线三个阶段2023案例分析25分故障树分析求最小割集提出可靠性改进方案2022选择题2分串联系统可靠性计算2022选择题2分冗余策略类型判断2022案例分析25分混联系统可靠性计算 容错设计分析2021选择题2分MTBF与MTTF的关系2021选择题2分失效-故障-错误的关系2021案例分析25分给出系统可靠性需求设计冗余方案并计算2020选择题2分并联系统可靠性计算2020选择题2分N版本程序设计的特点2020案例分析25分故障树分析 可靠性分配2019选择题2分可用性等级2019选择题2分恢复块设计的特点2019案例分析25分综合题可靠性计算 容错架构设计 故障分析4.2 出题规律分析规律说明必考计算题每年至少1道可靠性计算题串联/并联/混联NVP vs RB 轮流出几乎每年都考这两个的区别选择题或案例填空故障树分析高频案例分析中常考画故障树、求最小割集可用性计算必考MTTF/MTTR/MTBF的计算几乎年年考容错设计是案例核心案例分析题常要求设计容错方案并说明理由浴盆曲线常出选择三个阶段的特点和应对策略五、典型例题 解析例题1选择题题目某系统由3个组件组成组件A和B并联后再与组件C串联。已知A、B、C的可靠度分别为0.9、0.8、0.95则该系统的可靠度为 。A. 0.684B. 0.931C. 0.722D. 0.855答案B解析第一步计算A和B并联的可靠度R_AB 1 - (1-0.9) × (1-0.8) 1 - 0.1 × 0.2 1 - 0.02 0.98第二步计算与C串联的可靠度R R_AB × R_C 0.98 × 0.95 0.931答案选B例题2选择题题目某系统MTTF为498小时MTTR为2小时则系统可用性约为 MTBF为 。A. 99.6%500小时B. 99.6%498小时C. 99.0%500小时D. 99.0%498小时答案A解析MTBF MTTF MTTR 498 2 500小时可用性 A MTTF / (MTTF MTTR) 498 / 500 0.996 99.6%答案选A例题3案例分析题题目某金融交易系统需要设计高可用架构系统可靠性要求达到99.99%。现有以下组件Web服务器可靠度0.99应用服务器可靠度0.98数据库服务器可靠度0.97问题如果三个组件串联系统可靠度是多少是否满足要求如果不满足请设计一个冗余方案使其满足99.99%的要求。请说明NVP和RB在该系统中如何应用并分析哪种更适合。参考答案问题1R_串联 0.99 × 0.98 × 0.97 0.9411 94.11%94.11% 远低于 99.99% 的要求不满足。问题2对每个组件增加一个热备并联形成双机热备方案Web服务器R_W 1 - (1-0.99)² 1 - 0.0001 0.9999 应用服务器R_A 1 - (1-0.98)² 1 - 0.0004 0.9996 数据库服务器R_D 1 - (1-0.97)² 1 - 0.0009 0.9991串联后R 0.9999 × 0.9996 × 0.9991 ≈ 0.9986 99.86%仍不满足99.99%。需要对数据库最薄弱环节增加更多冗余数据库采用3节点1主2从 R_D 1 - (1-0.97)³ 1 - 0.000027 0.999973 R 0.9999 × 0.9996 × 0.999973 ≈ 0.9995 ≈ 99.95%继续优化应用服务器也采用3节点R_A 1 - (1-0.98)³ 1 - 0.000008 0.999992 R 0.9999 × 0.999992 × 0.999973 ≈ 0.9999 ≈ 99.99% ✅问题3对比维度NVP方案RB方案开发方式3个独立团队分别开发支付模块同一团队开发3个版本运行方式3个版本同时运行投票决定依次执行验收通过后输出适用性更适合本系统需要状态回滚复杂度高推荐NVP理由金融系统对正确性要求极高NVP的投票机制能发现设计缺陷金融交易涉及资金安全需要多团队独立实现以降低共性错误风险虽然RB开发成本较低但金融交易的状态回滚复杂RB实现难度大六、易错点 避坑指南6.1 常见错误一览错误正确理解纠正建议❌ “串联越多越可靠”串联越多越不可靠并联越多才越可靠记住串联鞭炮并联保安❌ “MTBF MTTF”MTBF MTTF MTTRMTBF是间隔时间包含修复时间❌ “可用性 MTTR/MTBF”可用性 MTTF/MTBF分子是无故障时间好的时间❌ “NVP和RB是一样的”NVP多人同时投票RB一人轮流验收口诀NVP高考阅卷RB换解法❌ “故障树中或门提高可靠性”或门意味着任一事件就故障降低可靠性与门都坏才坏安全或门一坏就坏危险❌ “有故障就一定会失效”有故障不一定失效像携带病毒但未发病错误→故障→失效是因果链不是等价❌ “并联计算是R₁×R₂”并联是 1-(1-R₁)(1-R₂)串联才是R₁×R₂先分清串并联再选公式❌ “可靠性高可用性高”可靠性高≠可用性高可能不坏但修得慢可靠不生病可用病了快好6.2 计算题答题模板可靠性计算题标准步骤第一步画出系统可靠性框图 第二步识别串并联关系 第三步先算并联部分 第四步再算串联部分 第五步得出最终结果与要求对比案例分析题答题模板1. 分析可靠性需求目标值是多少 2. 计算当前可靠性串联/并联公式 3. 设计冗余方案对薄弱环节加并联 4. 重新计算验证是否达标 5. 说明选择的容错策略及理由本章小结本章的核心就是四件事——理解可靠性概念定义指标、会算可靠性串联/并联/混联、会设计容错方案NVP/RB/冗余策略、会分析故障故障树最小割集。其中计算题和NVP vs RB是每年必考必须熟练掌握本文基于系统架构设计师考试大纲编写适合备考复习使用。如有问题欢迎评论区交流讨论