创建和存储链接
您可以使用链接和链接集来追踪需求到实现和验证它们的设计和测试项目。每个链接和链接集都有相应的 API 对象。您可以使用需求编辑器、需求视角、可追溯性矩阵、出向链接编辑器或 MATLAB® 命令行在需求、MATLAB 代码、Simulink® 模块、Simulink Test™ 测试用例和其他项目之间创建链接。您还可以查看和编辑链接。
链接对象、源和目标
每个链接都有一个对应的 slreq.Link
对象。您可以使用链接属性、自定义属性和原型来提供额外的可追溯性信息。有关详细信息,请参阅:
链接从源项目指向目标项目,目标项目分别包含在源工件和目标工件中。例如,考虑从 Simulink 模块指向需求的链接。Simulink 模型是源工件,模块是源物品。需求集是目标工件并且它包含需求,即目标项。
如果链接项目是链接的源,则它具有出向链接。相反,如果某个项目是链接的目标,则该项目具有传入链接。例如,如果一个链接从 Simulink 模块指向一个需求,则 Simulink 模块有一个出向链接,而该需求有一个传入链接。
链接存储
链接集包含链接。您加载的每个链接集都有一个对应的 slreq.LinkSet
对象。当您创建链接时,Requirements Toolbox™ 会创建一个链接集并将其作为 SLMX 文件保存在与源工件相同的文件夹中。链接集名称是源工件基本名称和源工件扩展,以波浪号分隔。例如,Requirements Toolbox 将来自 MATLAB 函数(名为 myFunction.m
)的出向链接存储在名为 myFunction~m.slmx
的链接集文件中。
注意
包含来自 Simulink 模型的链接的链接集将模型基名和 ~mdl
结合在一起,以防止模型文件扩展名在 .mdl
和 .slx
之间发生变化时出现链接解析问题。例如,Requirements Toolbox 将来自 crs_plant.slx
的出向链接存储在名为 crs_plant~mdl.slmx
的链接集文件中。
保存链接
当您从工件(例如 Simulink 模型或 Simulink Test 文件)创建链接时,您可以通过保存工件来将更改保存到链接集。
当您创建或编辑指向 MATLAB 代码行或纯文本外部代码的链接时,请使用以下方法之一保存链接集:
在 MATLAB 编辑器中,右键点击并选择 需求 > 保存链接。
在需求编辑器中,点击显示链接。选择链接集,然后点击保存。
在 MATLAB 命令行中,使用
save
。
在外部或内部存储模型的链接
当您创建从 Simulink 模型到需求的链接时,您可以将该链接存储到模型内部或存储为外部 SLMX 文件。当您在外部存储链接时,创建或修改需求链接不会修改您的模型。默认情况下,外部存储的需求链接存储在基于模型文件名称的文件中。当链接在内部存储时,每次修改需求链接时,模型号的时间戳和版本都会发生变化。
有关如何指定默认链接存储的信息,请参阅指定模型的需求链接存储。此设置立即应用于尚不包含需求链接的模型。如果您打开一个已经有需求链接的模型,Requirements Toolbox 将使用您之前在该模型中使用的存储机制,而不管您的默认存储设置是什么。要更改现有链接的存储机制,请参阅将内部存储的需求链接移动到外部存储和将外部存储的需求链接移动到模型文件。
外部存储模型链接的指南
共享模型时,使用默认名称和位置。
默认情况下,外部需求存储在与模型位于同一文件夹中的名为
的文件中。如果您与其他人共享模型以审查需求可追溯性,请同时共享模型和 SLMX 文件。打开模型就会加载链接文件。model_name
.slmx请勿重命名 Simulink 之外的模型。
如果需要以新名称或在不同位置重新保存模型,请在仿真选项卡中点击另存为重新保存模型,并使用更新的模型名称或位置自动重新保存相应的 SLMX 文件。
注意未保存的需求变化。
如果您创建外部存储的新需求链接,您的模型不会指示它有未保存的更改,因为模型文件本身没有改变。您必须明确保存链接。此外,当您关闭模型时,Requirements Toolbox 会提示您保存外部文件中的需求链接。
可链接项
您可以在这些需求项、模型实体、测试工件和代码之间创建链接:
Requirements Toolbox 对象:
Simulink 实体:
模块
子系统
Simulink 数据字典条目
Simulink Fault Analyzer™ 工件:
故障 (自 R2023b 起)
条件语句 (自 R2023b 起)
安全分析管理器元胞 (自 R2023b 起)
安全分析管理器行 (自 R2024b 起)
有关更多信息,请参阅Link Artifacts (Simulink Fault Analyzer)。
Stateflow® 对象:
状态
图和子图
转移
System Composer™ 架构实体:
组件
端口
视图
System Composer 序列图实体:
生命线
门
消息
片段
Simulink Test 对象:
测试文件
测试套件
测试用例
迭代
评估
以下位置的 MATLAB 代码行:
MATLAB 代码文件(
.m
扩展名)。有关更多信息,请参阅将 MATLAB 代码链接到需求。MATLAB Function 模块。有关更多信息,请参阅使用 MATLAB Functions 创建模块 (Simulink)。
基于 MATLAB 的 Simulink 测试。有关更多信息,请参阅使用基于 MATLAB 的 Simulink 测试的测试模型 (Simulink Test)。
纯文本外部代码文件(例如 C 和 H 文件)中的代码行。您还可以链接到 HTML 文件,但不能链接到 XML 或 JSON。
注意
要创建指向纯文本外部代码行的链接,您必须在 MATLAB 编辑器中打开代码。有关更多信息,请参阅将需求链接到 MATLAB 代码或纯文本代码。
您还可以直接链接到第三方应用程序中的需求。有关更多信息,请参阅直接链接到第三方应用程序中的需求。
创建链接
您可以使用需求编辑器、需求视角、可追溯性矩阵、MATLAB 命令行或出向链接编辑器来创建链接。
要使用需求编辑器创建从设计或测试项到需求的链接:
选择以下其中一项:
Simulink 或 Stateflow 模型元素
Simulink Fault Analyzer 工件
System Composer 架构元素
Simulink Test 测试用例
MATLAB 编辑器中的代码范围
Simulink 数据字典条目
提示
要链接到 MATLAB 函数并启用对整个函数体的更改跟踪,请创建指向包含
function
关键字的行的链接。在需求编辑器中,选择需求。
点击添加链接,然后选择包含要链接到的选择的菜单选项。
要创建需求到需求的链接:
选择您想要链接为源项的需求。
点击 添加链接 > 选择与需求链接。
选择您想要链接为目标项的需求。
通过选择 添加链接 > 从以下来源创建链接 创建链接。
提示
您可以使用需求视角来创建链接,而无需离开 Simulink 编辑器。有关更多信息,请参阅在 Simulink 中查看和链接需求。
您可以使用可追溯性矩阵在单个窗口中创建多个工件之间的链接。有关更多信息,请参阅Track Requirement Links with a Traceability Matrix。
以编程方式创建链接
要在 MATLAB 命令行创建链接:
获取链接源的对象或句柄。例如,假设您有一个名为
MyModel
的模型,其中有一个名为MyBlock
的模块:open_system("MyModel") src = get_param("MyModel/MyBlock","Handle");
获取链接目标的对象或句柄。例如,假设您有一个需求,其摘要为
My requirement
:dest = slreq.find(Type="Requirement",Summary="My requirement");
使用
slreq.createLink
函数创建链接。newLink = slreq.createLink(src,dest);
要以编程方式创建指向 MATLAB 代码或纯文本外部代码的链接,请使用 slreq.TextRange
对象。有关更多信息,请参阅将 MATLAB 代码链接到需求。
使用出向链接编辑器创建链接
要使用出向链接编辑器在 Requirements Toolbox 中创建指向需求的链接,请执行以下操作:
右键点击可链接项目并选择 需求 > 打开 "出向链接" 对话框。
点击新建。
在描述字段中描述链接。
将文档类型设置为 Requirements Toolbox。
点击浏览并选择包含要链接的需求的需求需求集。
或者,在需求编辑器中选择一个需求,然后点击“使用当前”。
通过选择文档索引选项卡并双击需求来指定要链接的需求。
或者,在需求选项卡中,您可以在位置字段中指定需求 ID。
要向链接添加关键字,请在关键字字段中输入以逗号分隔的列表。
通过点击应用或确定创建链接。
有关使用出向链接编辑器在第三方应用程序中创建指向需求的直接链接的信息,请参阅 直接链接到第三方应用程序中的需求。
链接类型
每个链接都有一个类型来描述源项和目标项之间的关系。slreq.Link
对象的 Type 属性值描述链接类型。
分配的链接类型
每种链接类型都有一个预期的用例。例如,Implement
链接类型表示需求与实现该需求的设计项之间的关系。当您在两个项目之间创建链接时,Requirements Toolbox 会设置链接类型,并根据项目所属的工件类型将其指定为源或目标。例如,如果在需求和 Simulink 模型元素之间创建链接,则 Requirements Toolbox 假定模型元素实现了该需求,将链接类型设置为 Implement
,并将模型元素指定为源,将需求指定为目标。
如果两个项目之间创建的链接没有假定的链接类型,则 Requirements Toolbox 将链接类型设置为 Relate
。例如,需求到需求的链接默认为 Relate
。
编辑链接类型
创建链接后,您可以在需求编辑器、需求视角或 MATLAB 命令行中编辑链接类型。在需求编辑器中,点击显示链接。选择一个链接,然后在右侧窗格中的属性下从类型列表中选择所需的链接类型。
内置链接类型
Requirements Toolbox 提供六种内置链接类型。
前向指示源与目标的关系。类似地,后向表示目标与源的关系。
类型 | 描述 | 源到目标示例 | 前进方向 | 后退方向 |
---|---|---|---|---|
Relate |
| 需求对需求 | 第一个需求与第二个需求相关。 | 第二个需求与第一个需求相关。 |
Implement |
有关更多信息,请参阅使用实现状态跟踪需求链接。 | Simulink 模型元素到需求 | Simulink 模型元素实现该需求。 | 该需求由 Simulink 模型元素实现。 |
Verify |
有关更多信息,请参阅Review Requirements Verification Status。 | Simulink 测试用例符合需求 | Simulink 测试用例验证了该需求。 | 该需求已通过 Simulink 测试用例验证。 |
Derive | 指定哪个源项派生目标项 | 已将引用的需求导入至需求 | 导入的引用需求衍生该需求。 | 该需求源自导入的引用需求。 |
Refine | 指定哪个源项为目标项指定的功能添加详细信息 | 低级需求到高级需求 | 低级需求细化高级需求。 | 高级需求由低级需求细化。 |
Confirm |
有关更多信息,请参阅在验证状态中包含来自外部来源的结果。 | 对外部测试结果的需求 | 该需求已得到外部测试结果的确认。 | 外部测试结果证实了该需求。 |
Implement
和 Verify
链接类型描述需求到模型和需求到测试的关系。这些环节影响实现状态和验证状态。有关更多信息,请参阅使用实现状态跟踪需求链接和Review Requirements Verification Status
链接类型也会影响可追溯性图窗口中的影响方向。有关更多信息,请参阅使用可追溯性图可视化链接。
自定义链接类型
除了内置类型之外,您还可以定义自定义链接类型。自定义链接类型必须使用内置类型之一作为基本行为。自定义链接类型从内置类型继承了一些功能,包括链接类型如何有助于实现和验证状态。有关更多信息,请参阅选择内置类型作为基本行为。
您可以使用原型或使用 sl_customization
文件来定义自定义链接类型。有关更多信息,请参阅定义自定义需求和链接类型和属性。
查看和编辑链接
要查看已加载的链接集及其包含的链接,请在需求编辑器中点击查看链接。然后您可以选择一个链接并查看或编辑其属性或自定义属性。有关更多信息,请参阅设置链接属性、自定义属性或构造型属性。
当您选择一个需求时,您还可以在需求编辑器中查看该特定需求的链接。在右侧窗格中,在链接下,出向链接图标 表示出向链接,传入链接图标
表示传入链接。
要使用需求视角查看 Simulink 编辑器中的链接:
通过点击模型画布右下角的显示 "透视" 视图图标并选择需求,在 Simulink 模型中打开需求透视图。
在需求选项卡中,确保选择了 布局 > 需求浏览器。
在需求浏览器的视图菜单中,选择链接。
为了使链接可视化,请创建可追溯性矩阵或可追溯性图。有关更多信息,请参阅Track Requirement Links with a Traceability Matrix和使用可追溯性图可视化链接
删除链接和链接集
要删除链接,请在需求编辑器中点击显示链接。选择一个链接,然后在链接部分中点击 。
要删除链接集,请执行以下操作:
找到包含链接集的 SLMX 文件。默认情况下,链接集文件与源工件位于同一文件夹中。
删除链接集之前,请关闭链接的工件,包括需求集、Simulink Test 文件、MATLAB 代码、Simulink 数据字典以及 Simulink、Stateflow 或 System Composer 模型。
在 MATLAB 命令行中,输入以下命令清除已加载的需求和链接:
slreq.clear
删除 SLMX 文件。
注意
如果要删除与 Simulink 模型关联的链接集文件,请确保链接存储在外部。有关如何在外部存储链接的更多信息,请参阅链接存储。