需求质量:MOSA的技术基础¶
定义¶
需求质量是指需求集满足完整性、一致性、可验证性、可行性、可追溯性的程度。在 MOSA 语境下,需求质量直接决定模块化架构的成败——接口定义不清晰的 MOSA 等于没有 MOSA。
核心论点:需求工程优先于架构设计¶
MOSA 本质上是一个需求工程问题,不是一个架构设计问题(→ MOSA架构脆弱性 中"竞争假象"的分析印证了这一点):
- "模块化设计" = 将系统需求分解为模块级需求
- "指定关键接口" = 编写接口需求规范(IRS)
- "开放标准" = 约束接口需求的可选方案
- "一致性认证" = 验证接口需求被满足 → MOSA五支柱
- "政府拥有数据权利" = 需求的知识产权归属
如果需求写得烂,架构设计再好也没用。 MOSA 五支柱中的"一致性认证"支柱本质上就是对需求质量的持续验证。
需求缺陷的成本放大¶
| 缺陷发现阶段 | 修复相对成本 |
|---|---|
| 需求阶段 | 1× |
| 设计阶段 | 5× |
| 编码阶段 | 10× |
| 测试阶段 | 50–100× |
| 部署后 | 100–1000× |
数据来源:Halligan 1993/2024、Standish Group(8380个 IT 项目)、多个国防项目案例。
关键发现:需求缺陷是成本和进度超支的单一最大贡献因素。需求工程投入(0.1–2% 开发成本)可避免 10–80% 的成本超支(→ PPI业务案例-需求工程)。
MOSA 接口定义的质量度量¶
将 PPI 需求质量度量方法(→ PPI需求质量度量)应用于 MOSA 接口定义:
| 质量维度 | 在 MOSA 中的含义 | 度量方法 |
|---|---|---|
| 完整性 | 接口是否覆盖所有模块间数据交换? | 对比模块交互矩阵,检查遗漏接口 |
| 一致性 | 不同接口标准间是否矛盾? | 跨接口交叉引用检查 |
| 可验证性 | 接口是否可通过测试验证? | 每个接口需求对应测试用例 |
| 可行性 | 接口标准在物理层是否可实现? | 硬件/软件可行性评审 |
| 可追溯性 | 接口是否追溯到系统需求? | 双向追溯矩阵(需求↔接口↔测试) |
WOSA 工具链的映射¶
WOSA 架构工具链的四个核心功能对应需求质量维度(→ WOSA架构工具):
- 架构合规性扫描 → 完整性检查
- 接口一致性检查 → 一致性检查
- 报告生成 → 可追溯性建立
- 成本估算 → 投入回报量化
缺失的是可验证性自动化——当前 WOSA 没有自动生成测试用例的功能。这是需求质量工具链的关键缺口。
对国防采办的启示¶
- MOSA 失败不是架构问题,是需求问题 — 接口定义质量直接决定模块可替换性。GAO 审计发现大量宣称 MOSA 合规的项目缺乏可验证的接口定义
- 需求分析投入回报率最高 — 需求阶段修复成本是测试阶段的 1/100
- 接口定义需要独立于模块设计 — 接口是模块间的"契约",不应由单一供应商定义(这是"竞争假象"的需求层面根源 → MOSA架构脆弱性)
- 需求质量会自然衰减 — 随变更累积,接口定义质量下降,需要定期评审
- 速度与质量存在张力 — MTA 路径跳过全量需求评审以换取速度(→ 速度与模块化权衡),这是需求在制度层面的降级
相关内容¶
- MOSA与国防采办 — MOSA 核心概念
- MOSA五支柱 — 一致性认证支柱
- MOSA架构脆弱性 — 竞争假象的需求质量根源
- WOSA架构工具 — WOSA 工具链(自动化需求质量检查)
- PPI需求质量度量 — Halligan 十大因子 + 五种过程度量
- PPI需求分析方法论 — PPI 需求分析方法论
- PPI业务案例-需求工程 — 需求工程投资回报
- 速度与模块化权衡 — 速度与质量的需求层张力