ARTICLE · 1018212
冲刺专题07 | 软件可靠性与项目管理计算大通关:串并联可靠度、EVM挣值与PERT估算
系列导读:数学计算题是系统架构设计师考试中"投入产出比"最高的题型——公式固定、套路明确,掌握了就是稳稳的"送分题"。本篇将软件可靠性(串并联系统、混合系统)和项目管理计算(EVM挣值管理、PERT估算、关键路径)两大板块的全部计算题型进行系统化梳理,配合大量真题实战演练,帮助你在冲刺阶段将计算题"一网打尽"。
第一部分:软件可靠性计算
一、可靠性核心指标
| 指标 | 英文 | 定义 | 公式/关系 |
|---|---|---|---|
| 可靠度 | R(t) | 时间t内无故障运行的概率 | (R(t) = e^{-\lambda t}) |
| 失效率 | λ | 单位时间内故障概率 | (\lambda = 1/MTTF) |
| MTTF | Mean Time To Failure | 平均无故障工作时间 | (MTTF = 1/\lambda) |
| MTTR | Mean Time To Repair | 平均修复时间 | 修复总时间/故障次数 |
| MTBF | Mean Time Between Failures | 平均故障间隔 | (MTBF = MTTF + MTTR) |
| 可用性 | A | 系统可用时间比例 | (A = \frac{MTTF}{MTTF + MTTR}) |
指标关系链:
λ → MTTF = 1/λ MTBF = MTTF + MTTR A = MTTF / MTBF
【经典真题】 某系统的MTTF为2000小时,MTTR为50小时,则该系统的可用性为( )。
A. 95.0% B. 97.6% C. 98.0% D. 99.0%
答案:B
解析:A = MTTF / (MTTF + MTTR) = 2000 / (2000 + 50) = 2000 / 2050 ≈ 0.9756 ≈ 97.6%
二、串联系统可靠度计算
核心原理:所有组件必须全部正常工作,系统才工作。
─── [R₁] ─── [R₂] ─── [R₃] ─── ... ─── [Rₙ] ───计算公式:
$$R{串} = R_1 \times R_2 \times ... \times R_n = \prod{i=1}^{n} R_i$$
特点:
串联组件越多,系统可靠度越低
系统可靠度低于任何一个组件的可靠度
类比:一条链子的强度取决于最弱的一环
三、并联系统可靠度计算
核心原理:只要至少一个组件正常工作,系统就工作。
┌─── [R₁] ───┐ ──┤ ├─── └─── [R₂] ───┘
计算公式:
$$R{并} = 1 - (1-R_1)(1-R_2)...(1-R_n) = 1 - \prod{i=1}^{n}(1-R_i)$$
特点:
并联组件越多,系统可靠度越高
用于冗余设计,提高系统可用性
四、混合系统——分步计算法
核心方法:先算各并联部分,再按串联关系计算总可靠度。
【经典真题·2022】 某系统由三个子系统组成:
子系统A:单组件,可靠度0.95
子系统B:两个组件并联,可靠度分别为0.9和0.8
子系统C:两个组件并联,可靠度分别为0.85和0.9
A、B、C三者串联。求系统可靠度。
详细解析:
步骤1:计算子系统B的可靠度$$R_B = 1 - (1-0.9)(1-0.8) = 1 - 0.1 \times 0.2 = 1 - 0.02 = 0.98$$
步骤2:计算子系统C的可靠度$$R_C = 1 - (1-0.85)(1-0.9) = 1 - 0.15 \times 0.1 = 1 - 0.015 = 0.985$$
步骤3:计算总系统可靠度(串联)$$R_{总} = R_A \times R_B \times R_C = 0.95 \times 0.98 \times 0.985 \approx 0.918$$
【经典真题·2020】 某系统结构如下:组件A(0.9)和组件B(0.8)并联后,与组件C(0.95)串联。系统可靠度为( )。
A. 0.684 B. 0.760 C. 0.931 D. 0.950
答案:C
解析:
A和B并联:(R_{AB} = 1 - (1-0.9)(1-0.8) = 1 - 0.1 \times 0.2 = 0.98)
与C串联:(R = 0.98 \times 0.95 = 0.931)
五、N版本程序设计与恢复块
| 技术 | 英文 | 核心思想 | 执行方式 | 适用场景 |
|---|---|---|---|---|
| N版本程序设计 | N-Version Programming | N个独立团队开发N个版本 | 所有版本同时运行,投票决定 | 高可靠性系统(航空) |
| 恢复块方法 | Recovery Block | 主块+后备块 | 主块先执行,失败则切换到后备块 | 容错系统 |
| 防卫式程序设计 | Defensive Programming | 不信任任何外部输入 | 对所有输入做验证和防御 | 通用安全编程 |
第二部分:项目管理计算
六、挣值管理(EVM)——公式全解
6.1 三大基础值
| 指标 | 英文 | 含义 |
|---|---|---|
| PV (Planned Value) | 计划值 | 计划完成工作的预算成本 |
| EV (Earned Value) | 挣值 | 实际完成工作的预算成本 |
| AC (Actual Cost) | 实际成本 | 实际花费的金额 |
6.2 偏差指标
| 指标 | 公式 | 正值含义 | 负值含义 |
|---|---|---|---|
| SV (进度偏差) | SV = EV - PV | 进度超前(好) | 进度落后(差) |
| CV (成本偏差) | CV = EV - AC | 成本节约(好) | 成本超支(差) |
6.3 绩效指数
| 指标 | 公式 | >1含义 | <1含义 |
|---|---|---|---|
| SPI (进度绩效指数) | SPI = EV / PV | 进度超前 | 进度落后 |
| CPI (成本绩效指数) | CPI = EV / AC | 成本节约 | 成本超支 |
6.4 预测指标
| 指标 | 公式 | 含义 |
|---|---|---|
| EAC (完工估算) | EAC = BAC / CPI | 预计总成本 |
| ETC (完工尚需估算) | ETC = EAC - AC | 还需要多少钱 |
| VAC (完工偏差) | VAC = BAC - EAC | 预计超支/节约金额 |
记忆口诀:
所有公式以EV为核心——"挣了多少"是一切的起点
SV = EV - PV → "挣的"减"计划的"
CV = EV - AC → "挣的"减"实际花的"
指数 = EV / 另一个 → 大于1是好事
【经典真题·2023】 某项目预算BAC=500万。当前PV=300万,EV=250万,AC=280万。求:(1) SV和CV;(2) SPI和CPI;(3) EAC。
详细解析:
(1) 偏差指标:
SV = EV - PV = 250 - 300 = -50万(进度落后50万)
CV = EV - AC = 250 - 280 = -30万(成本超支30万)
(2) 绩效指数:
SPI = EV / PV = 250 / 300 ≈ 0.833(进度完成83.3%)
CPI = EV / AC = 250 / 280 ≈ 0.893(每花1元只挣了0.893元)
(3) 预测:
EAC = BAC / CPI = 500 / 0.893 ≈ 559.9万(预计总成本约560万,超支60万)
【经典真题·2021】 某项目EAC=120万,BAC=100万,AC=80万。该项目当前的成本偏差CV为( )万元,且ETC为( )万元。已知EV=90万。
A. CV=10万, ETC=40万
B. CV=-10万, ETC=40万
C. CV=10万, ETC=30万
D. CV=-10万, ETC=30万
答案:A
解析:
CV = EV - AC = 90 - 80 = 10万(成本节约10万)
等等,这题说CV为正但EAC>BAC(120>100),有矛盾。重新审视:
如果CPI = EV/AC = 90/80 = 1.125,则EAC = BAC/CPI = 100/1.125 ≈ 88.9万
但题目给定EAC=120万,说明可能使用了其他EAC公式
实际考试中EAC可能有多种计算方式。若以题目给定EAC=120万为准:
ETC = EAC - AC = 120 - 80 = 40万
CV = EV - AC = 90 - 80 = 10万
选A
七、PERT估算
PERT三点估算公式:
$$期望时间 \ t_e = \frac{a + 4m + b}{6}$$
$$标准差 \ \sigma = \frac{b - a}{6}$$
$$方差 \ \sigma^2 = \left(\frac{b-a}{6}\right)^2$$
其中:a=乐观值(Optimistic),m=最可能值(Most Likely),b=悲观值(Pessimistic)
【经典真题】 某活动的三点估算值为:a=3天,m=5天,b=13天。该活动的期望工期和标准差分别为( )。
A. 6天, 1.67天
B. 6天, 1.5天
C. 7天, 1.67天
D. 7天, 1.5天
答案:A
解析:
期望时间 = (3 + 4×5 + 13) / 6 = (3 + 20 + 13) / 6 = 36 / 6 = 6天
标准差 = (13 - 3) / 6 = 10 / 6 ≈ 1.67天
八、关键路径法(CPM)
关键路径:项目网络图中最长的路径,决定了项目的最短完成时间。
核心特征:
关键路径上的活动总浮动时间为0
关键路径可能有多条
缩短非关键路径上的活动不会缩短项目工期
关键路径上的活动延迟会直接延迟项目完成
浮动时间计算:
总浮动 = LS - ES = LF - EF
自由浮动 = 后续活动最早开始时间 - 本活动最早完成时间
【经典真题】 某项目有以下活动:A(3天)→B(4天)→D(2天),A(3天)→C(6天)→D(2天)。关键路径长度为( )天。
A. 9 B. 11 C. 13 D. 15
答案:B
解析:
路径1:A→B→D = 3 + 4 + 2 = 9天
路径2:A→C→D = 3 + 6 + 2 = 11天
关键路径是最长路径:A→C→D = 11天
九、所有计算公式速查表
| 公式名称 | 公式 | 考点 |
|---|---|---|
| 串联可靠度 | (R = R_1 \times R_2 \times ... \times R_n) | 可靠性 |
| 并联可靠度 | (R = 1 - (1-R_1)(1-R_2)...(1-R_n)) | 可靠性 |
| 可用性 | (A = \frac{MTTF}{MTTF + MTTR}) | 可靠性 |
| 进度偏差 | SV = EV - PV | EVM |
| 成本偏差 | CV = EV - AC | EVM |
| 进度绩效 | SPI = EV / PV | EVM |
| 成本绩效 | CPI = EV / AC | EVM |
| 完工估算 | EAC = BAC / CPI | EVM |
| PERT期望 | (t_e = (a+4m+b)/6) | 项目估算 |
| PERT标准差 | (\sigma = (b-a)/6) | 项目估算 |
十、专业英语词汇表(Reliability & Project Management)
| 英文 | 中文 | 考试场景 |
|---|---|---|
| Reliability | 可靠性 | 系统质量 |
| Mean Time To Failure (MTTF) | 平均无故障时间 | 可靠性指标 |
| Mean Time To Repair (MTTR) | 平均修复时间 | 可靠性指标 |
| Mean Time Between Failures (MTBF) | 平均故障间隔 | 可靠性指标 |
| Availability | 可用性 | 系统质量 |
| Series System / Parallel System | 串联系统/并联系统 | 可靠度计算 |
| N-Version Programming | N版本程序设计 | 可靠性设计 |
| Earned Value (EV) | 挣值 | EVM |
| Planned Value (PV) | 计划值 | EVM |
| Actual Cost (AC) | 实际成本 | EVM |
| Critical Path | 关键路径 | CPM |
| Float / Slack | 浮动时间 | CPM |
十一、易错点提醒
| 易错点 | 正确理解 |
|---|---|
| 串并联公式用反 | 串联=乘法(越串越低),并联=1减去乘积(越并越高) |
| MTTF和MTBF混淆 | MTTF=无故障时间,MTBF=MTTF+MTTR |
| EVM公式记反方向 | SV=EV-PV, CV=EV-AC, 都以EV开头 |
| SPI/CPI大于1是坏事 | 大于1是好事(超前/节约) |
| PERT系数记错 | 中间值m乘以4,不是a或b |
| 关键路径是最短路径 | 关键路径是最长路径(决定最短工期) |
下一篇预告:冲刺专题08 | 云原生与微服务架构——从容器化到Kubernetes,从Serverless到Service Mesh,系统梳理新兴架构技术的核心知识点。