Main Content

本页采用了机器翻译。点击此处可查看英文原文。

使用可追溯性矩阵使需求完全可追溯

此示例显示如何查找无法追溯到基于模型的设计项目的需求,以及如何通过创建具有可追溯性矩阵的链接来追踪这些需求。

可追溯性矩阵显示基于模型的设计工件中的项目之间的链接,例如 Requirements Toolbox™对象、Simulink®模型元素、Simulink Test™对象和 MATLAB®代码行。您可以应用过滤器并只关注您想要看到的项目。您可以使用矩阵来识别未链接的项目并在您的设计中实现它们。

要了解有关如何使用可追溯性矩阵的更多信息,请参阅使用可追溯性矩阵跟踪需求链接

打开巡航控制模型工程的需求定义。加载crs_req_func_spec需求集。

openProject("CruiseRequirementsExample");
slreq.load('crs_req_func_spec');

生成可追溯性矩阵

打开可追溯性矩阵窗口。

slreq.generateTraceabilityMatrix;

在“可追溯性矩阵”窗口中,点击添加。在“选择工件”对话框中,将 Left 设置为 crs_req_func_spec.slreqx,将 Top 设置为 crs_controller.slx。然后点击生成矩阵。生成一个可追溯性矩阵,其中左侧是指定的需求集,顶部是 Simulink模型。

singleMatrix.png

识别未链接的需求

要识别未链接的项目,点击突出显示缺失的链接。未链接的需求在左列以黄色突出显示,未链接的模型元素在顶行突出显示。

highlightMissingLinks.png

滚动到 System Interface > Inputs 父需求。点击范围可将矩阵视图聚焦于该层次结构。Inputs 下的子需求与 Simulink模型中的模块没有链接。但是,您创建的可追溯性矩阵仅显示 crs_req_func_spec需求集和 crs_controller模型之间的链接。crs_req_func_spec需求集可能与工程内的其他工件有更多链接。

生成包含多个工件的可追溯性矩阵

要同时查看多个工件之间的链接,您可以创建多工件矩阵。点击配置矩阵可以向矩阵中添加更多工件。在“配置矩阵”对话框的可用工件窗格中,选择 crs_req_func_spec.slreqx。与所选工件有联系的工件会在可用工件窗格中突出显示。在这种情况下,除了crs_req_func_spec.slreqx本身之外,每个工件都包含crs_req_func_spec需求集之间的链接。将所有突出显示的工件拖至顶部工件列表。矩阵预览中的展开图标(expand_icon.png)表示这些工件中的项目之间存在链接。

点击更新矩阵将工件添加到可追溯性矩阵中。从顶行最左边的列开始,选择每个工件并点击全部折叠。矩阵中的蓝线表示一个工件结束和另一个文物开始的位置。

multiMatrix.png

选择 Inputs 父需求并点击范围来关注 Inputs 子需求。点击突出显示缺失的链接。现在您可以看到 Inputs 下的某些子需求链接到 crs_plant模型中的项目。

将未链接的 Inputs 链接到模型元素

crs_controllercrs_plant 模型包含与 Inputs 子需求相关的模型元素,但并非所有 Inputs 子需求都相互关联。将所有 Inputs 子需求链接到模型元素,以实现完整的可追溯性。首先,点击配置矩阵,然后从可追溯性矩阵中删除除左侧的crs_req_func_spec以及顶部的crs_controllercrs_plant之外的所有工件,方法是右键点击工件并选择删除工件。点击更新矩阵。在更新后的矩阵中,选择 Inputs 父需求并点击范围以关注 Inputs 子需求。

一些子项需求链接到 crs_plant 中的项目。将剩余未链接的 Inputs 子需求链接到 crs_controller 中的模型元素。选择与crs_controller对应的单元格,然后点击范围

要关注未链接的需求,请应用缺失链接过滤器。在过滤器面板中的下的链接下,点击缺失链接。过滤器忽略了带有链接项的行。您可以通过点击突出显示缺失链接来验证这一点。

通过选择每个子系统并点击全部折叠来折叠CruiseControlModeDriverSwRequestTargetSpeedThrottle 子系统。通过选择与这两项相对应的单元格并点击创建,在 Enable Switch 需求和 enbl模块之间创建链接。在“创建链接”对话框中,将类型设置为Implements,然后点击创建以在两个项目之间创建链接。

firstLink.png

您可以一次创建多个链接,只需按住 Ctrl,选择要创建链接的单元格,然后点击创建链接即可。在剩余需求和相应的模型元素之间创建链接:

  • Cancel Switch 需求和 cncl模块

  • Set Switch 需求和 set模块

  • Resume Switch 需求和 resume模块

  • Increment Switch 需求和 inc模块

  • Decrement Switch 需求和 dec模块

  • Key Position 需求和 key模块

在“创建链接”对话框中,将所有链接的类型设置为Implements

createMultipleLinks.png

点击顶部工件列表中的清除过滤器,清除缺失链接过滤器。点击显示全部可显示所有工件。所有 Inputs 子需求都链接到设计项目,因此它们不再突出显示。折叠 crs_controllercrs_plant 下的层次结构。展开图标(expand_icon.png)表示所有Inputs子需求均已链接。

allLinksCreated.png

在工件中打开项目

您可以通过双击与项目对应的单元格来在工件中打开行和列中的项目。例如,双击与 Simulink模块对应的单元格将打开该模块所在的 Simulink模型和子系统。

需求编辑器中双击 Enable Switch 需求将其打开。为需求描述添加附加文本:"The Cruise button enables the cruise control as long as all other conditions are met." 然后点击保存

addDescriptionText.png

需求编辑器中,需求摘要和相关链接(在右侧 窗格中的链接下列出)以红色突出显示,因为与此需求相关的链接存在变更问题。

查看并清除变更问题

当您更改链接到另一个项目的需求时,该需求将以红色突出显示,以指示存在与该链接相关的更改问题。由于您更改了 Enable Switch 需求的描述,因此该链接存在变更问题。

返回可追溯性矩阵。点击更新以刷新矩阵。选择 Inputs 父需求并点击范围来关注 Inputs 子需求。点击突出显示缺失的链接 > 突出显示已更改的链接,然后点击突出显示缺失的链接 > 仅显示已更改的链接。显示与变更问题相关的链接,并且需求、链接项和链接以红色突出显示。

changeTracking.png

由于您仅更改了描述,因此该更改不会影响需求实施或验证。通过选择包含链接的单元格来清除更改问题,然后点击清除更改问题。在注释下,输入“Added additional information to the requirement description.”,然后点击全部清除

当您选择需求编辑器中右侧窗格中注释下的链接时,您可以查看注释。

linkComment.png

根据可追溯性矩阵生成报告

点击更新来更新矩阵,以反映已清除的变更问题。选择Inputs父需求并点击范围。通过选择包含展开图标 (expand_icon.png) 的单元格并点击全部展开来展开所有链接。点击全部折叠可折叠所有不包含链接的层次结构。此视图显示了与 Inputs 子需求的链接。通过点击导出> 生成 HTML 报告,生成包含可追溯性矩阵当前视图的静态快照的 HTML 报告。选择保存文件的位置,然后点击保存

另请参阅

函数

相关示例

详细信息