建立双向追溯性的方法

发布于 2023-6-13 15:47
浏览
0收藏

双向追溯性,是ASPICE在系统工程(SYS)和软件工程(SWE)中的一个非常重要的要求。双向追溯性的目的在如下文章中已有论述,本文不再赘述。

如何建立双向追溯性,是很多项目关注的问题,本文对此进行说明。


首先:

  • 目前在业界没有一个统一的方法,或可用的系统工具来满足所有双向追溯性的要求(即:没有银弹)
  • 建立双向追溯性,需要考虑项目所采用的工程方法(需求、设计、实现、测试的方法)、所使用的系统工具、产品/项目的复杂度等因素
  • 双向追溯性是项目采用的工程方法中的一部分


本文列举一些常用的双向追溯性方法:

1、系统工具中的链接

如果需要建立双向追溯性的工作产品,是在同一个系统工具中进行管理,则可借助该系统工具建立的工作产品之间的链接来实现双向追溯性。


例如:在使用系统工具DOORS来管理需求、设计、测试时,可以在DOORS系统中建立工作产品之间的链接来实现双向追溯性。


示例,


1)系统需求分析时,定义了如下的系统需求:

建立双向追溯性的方法 -汽车开发者社区

2)系统架构设计时,对该系统需求进行了设计,并将该系统需求分配给”电压传感器”、”采集电路”、”MCU(SW)”三个系统组件:

建立双向追溯性的方法 -汽车开发者社区

3)利用系统工具DOORS,在系统需求和系统架构设计之间建立如下链接:

建立双向追溯性的方法 -汽车开发者社区

通过如上的系统需求和系统架构设计之间的双向追溯性链接,可以帮助工程师来确认:


  • 某个系统需求,是如何被设计和实现的,是由哪些系统组件 & 通过如何的交互来实现的
  • 对于某个系统组件,该系统组件的职责有哪些,该系统组件实现了哪些系统需求


有些时候,系统工具还提供总结分析功能,帮助识别例如:


  • 系统需求与系统架构设计之间的追溯性比例是多少
  • 有哪些系统需求未建立追溯性
  • 有哪些系统架构设计未建立追溯性

2、工作产品之间的链接

需要建立双向追溯性的工作产品,如果是使用不同格式(例如:Office格式的软件需求,Matlab/Simulink的模型设计),则有时可以借助工具在工作产品之间建立链接来实现双向追溯性。


例如:Matlab/Simulink提供工具可以帮助建立:Microsoft Office & 模型设计,IBM DOORS & 模型设计之间的双向追溯性链接。


可参考Mathworks官网上的说明:


  • Microsoft Office Traceability: https://ww2.mathworks.cn/help/slrequirements/microsoft-office-traceability.html?s_tid=CRUX_lftnav
  • IBM DOORS Traceability: https://ww2.mathworks.cn/help/slrequirements/ibm-rational-doors-traceability.html?s_tid=CRUX_lftnav

3、通过工具

在采用基于模型开发(MBD)的开发方法时,会使用工具进行自动代码生成,在这种场景下,模型 & 源代码之间的双向追溯性就依赖于工具了。

4、互相引用编号

在工作产品中,通过各自编号,并互相引用编号的方式建立双向追溯性。


示例:


1)系统需求分析时,识别了如下的系统需求,并对该系统需求进行编号

建立双向追溯性的方法 -汽车开发者社区

2)系统架构设计时,对上述系统需求进行设计,并且在设计中引用了系统需求编号

建立双向追溯性的方法 -汽车开发者社区

3)将系统架构设计的编号,回填到系统需求中

建立双向追溯性的方法 -汽车开发者社区

5、工作产品自身的结构

需要建立双向追溯性的工作产品,如果其关系是直接和简单的,则可以依赖工作产品自身的结构来建立双向追溯性。


如下图所示,”系统测试用例”的组织结构与”系统需求”的组织结构是一致的,此种场景时,系统需求和系统测试用例就依赖工作产品自身的结构,自然而然建立了双向追溯性。

建立双向追溯性的方法 -汽车开发者社区

6、命名(naming conventions)

工作产品之间,有些时候,可以依赖于“命名naming”来建立双向追溯性。


例如:软件详细设计中设计的函数名称,和源代码中实现的函数名称是一致的,可以以此来建立软件详细设计与源代码之间的双向追溯性。


示例:

建立双向追溯性的方法 -汽车开发者社区

7、追溯性矩阵(traceability matrices)

首先,在需要建立追溯性的工作产品中进行编号


然后,通过二维表格的形式,建立工作产品之间的双向追溯性


示例:

建立双向追溯性的方法 -汽车开发者社区

有些项目,利用自研发的工具来导出上述的追溯性表格(或类似的追溯性表格)。

总结:

  • 实际项目情况多种多样,相应的追溯性方法也各不相同;受限于作者经验,以上所列方法并不是穷举
  • 推荐使用系统工具来建立双向追溯性,这样既可以提高工作效率,又可以确保追溯性的准确性和低的维护成本
  • 双向追溯性是项目采用的工程方法中的一部分,不是额外的要求。要结合项目所采用的需求方法、设计方法、实现方法、测试用例设计逻辑等,建立”适合”的双向追溯性方法


文章转载自公众号:仨人谈起

分类
收藏
回复
举报
回复
相关推荐