4. 需求追踪矩阵的构建方法

需求追踪矩阵(Requirements Traceability Matrix,RTM)是航空软件研制过程中连接需求、设计、代码与测试的核心工件。在 DO-178C 的语境下,它不仅是管理文档,更是适航审查中证明"每条需求都被实现且被验证"的关键证据。本节围绕矩阵结构、需求标识规则、追踪链接类型、工具支持以及手工与自动追踪的对比展开,帮助读者建立一套可落地、可审查的追踪体系。

一、矩阵结构:从二维表到多维关系网

最基础的 RTM 是一张二维表:行代表需求,列代表生命周期工件(设计项、源代码单元、测试用例、测试结果)。单元格内填写对应工件的标识符,形成"需求—工件"的映射。但在航空软件中,单一二维表往往不够,因为一条高层需求可能派生出多条低层需求,一条低层需求又可能被多个测试用例覆盖。因此实际工程中常采用"分层矩阵 + 交叉引用"的结构:

  • 纵向分层:系统需求 → 高层软件需求 → 低层软件需求 → 源代码 → 目标码,每层之间建立派生关系。
  • 横向覆盖:每条需求对应设计描述、测试用例、测试规程、测试结果,形成验证闭环。
  • 双向可追溯:既能从需求向下查到测试,也能从测试结果反查需求,便于变更影响分析。

矩阵的粒度需要与项目规模匹配。对于机载软件,通常以"可验证的最小需求单元"为行,避免一条需求包含多个独立可测点,否则追踪会失去意义。

二、需求标识规则:唯一、稳定、可解析

需求标识是追踪的"主键",必须全局唯一且长期稳定。推荐采用分段编码,例如:

SRS-FCS-0012
│    │    └─ 序号(4位,从0001起)
│    └────── 子系统代码(FCS=飞行控制系统)
└─────────── 文档类型(SRS=软件需求规格说明)

规则要点包括:标识一经分配不得复用,需求删除后其标识作废;派生需求在父标识后追加层级码,如 SRS-FCS-0012-D01;测试用例采用独立前缀,如 TC-FCS-0012-01,便于与需求对应。标识中避免使用空格、中文和特殊符号,确保在 DOORS、Polarion 等工具中可被正则表达式解析。

三、追踪链接类型:派生、满足、验证、依赖

追踪链接不是简单的"关联",而是带有语义的有向边。常见类型如下:

链接类型方向含义示例
派生(Derive)高层需求 → 低层需求低层需求由高层需求分解而来SRS-FCS-0012 → SRS-FCS-0012-D01
满足(Satisfy)需求 → 设计/代码设计项或代码单元实现该需求SRS-FCS-0012-D01 → SDD-FCS-003
验证(Verify)需求 → 测试用例测试用例验证该需求SRS-FCS-0012-D01 → TC-FCS-0012-01
依赖(Depend)需求 ↔ 需求需求间存在约束或接口依赖SRS-FCS-0012 ↔ SRS-FCS-0020

在工具中,这些链接类型通常以 Link Module 或 Traceability Type 的形式定义,并设置方向性和可追溯性规则。例如,DOORS 允许为链接模块定义"源对象类型—目标对象类型"的合法组合,防止出现"测试用例派生需求"这类语义错误。

四、工具支持:DOORS 与 Polarion 的典型用法

IBM DOORS 采用模块化对象管理,每个需求是一个 Object,链接通过 Link Module 建立。构建 RTM 时,通常先创建需求模块和测试模块,再建立链接模块,最后用 Analysis Wizard 生成矩阵视图。DOORS 的优势在于成熟的基线管理和变更影响分析,适合大型机载项目。

Polarion 基于 Web 和 OSLC 标准,需求、测试用例、缺陷统一在工作项模型中管理。它支持实时追踪和覆盖率仪表盘,链接类型可通过工作项类型配置。Polarion 更适合与敏捷流程结合,但在复杂派生关系的可视化上不如 DOORS 直观。

无论使用哪种工具,都应定期导出 RTM 快照并纳入配置管理,确保审查时能复现特定基线下的追踪关系。

五、手工与自动追踪对比

手工追踪依赖工程师在表格或工具中逐条建立链接,优点是灵活、可处理语义模糊的关系;缺点是工作量大、易遗漏、变更后维护成本高。自动追踪则通过标识匹配、自然语言处理或代码注解扫描来生成候选链接,再由人工确认。自动追踪能显著提升覆盖率统计效率,但对命名规范和工具链集成要求高。

实际项目中常采用混合策略:对结构化程度高的需求—测试映射使用自动生成,对派生和依赖关系保留人工确认。下图展示了从需求标识到追踪链接、再到工具落地的整体关系。

需求追踪矩阵构建关系图 需求标识规则 SRS-FCS-0012 唯一 · 稳定 · 可解析 需求对象 高层需求 / 低层需求 设计项 / 代码单元 测试对象 测试用例 / 测试规程 测试结果 命名 验证 追踪链接类型 派生 Derive 高层 → 低层 满足 Satisfy 需求 → 设计/代码 验证 Verify 需求 → 测试用例 依赖 Depend 需求 ↔ 需求 IBM DOORS 模块化对象 · Link Module 基线管理 · 变更影响分析 Analysis Wizard 生成矩阵 Polarion Web 工作项 · OSLC 标准 实时追踪 · 覆盖率仪表盘 适合敏捷流程集成 标识规则支撑需求对象,需求对象通过四类链接与测试对象建立追踪,最终由工具落地管理

构建 RTM 时,建议先冻结需求标识规则,再在工具中建立链接类型模板,最后批量导入或自动生成候选链接。每次需求变更后,应重新运行覆盖率检查,确认没有出现"孤儿需求"(无测试覆盖)或"孤儿测试"(无需求对应)。只有矩阵保持双向完整,才能在适航审查中快速给出每条需求的实现与验证证据。