主要内容

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

创建和存储链接

您可以使用链接和链接集来追踪需求到实现和验证它们的设计和测试项。每个链接和链接集都有相应的 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 的链接集文件中。 (自 R2022b 起)

注意

包含来自 Simulink 模型的链接的链接集将模型基名和 ~mdl 结合在一起,以防止模型文件扩展名在 .mdl.slx 之间发生变化时出现链接解析问题。例如,Requirements Toolbox 将来自 crs_plant.slx 的出向链接存储在名为 crs_plant~mdl.slmx 的链接集文件中。

保存链接

当您从工件(例如 Simulink 模型或 Simulink Test 文件)创建链接时,您可以通过保存工件来将更改保存到链接集。

当您创建或编辑指向 MATLAB 代码行或纯文本外部代码的链接时,请使用以下方法之一保存链接集:

  • 在 MATLAB 编辑器中,右键点击并选择 需求 > 保存链接

  • 需求编辑器中,点击显示链接。选择链接集,然后点击保存

  • 在 MATLAB 命令行中,使用 save

可链接项

您可以在这些需求项、模型实体、测试工件和代码之间创建链接:

  • Requirements Toolbox 对象:

  • Simulink 实体:

    • 模块

    • 子系统

    • 注解

  • Simulink 数据字典条目

  • MAT 文件顶级变量 (自 R2025a 起)

  • Simulink Fault Analyzer™ 工件:

    • 故障 (自 R2023b 起)

    • 条件语句 (自 R2023b 起)

    • 安全分析管理器元胞 (自 R2023b 起)

    • 安全分析管理器 (自 R2024b 起)

    有关详细信息,请参阅Link Artifacts (Simulink Fault Analyzer)

  • Stateflow® 对象:

    • 状态

    • 图和子图

    • 转移

  • System Composer™ 架构实体:

    • 组件 (自 R2022b 起)

    • 端口

    • 视图

  • System Composer 序列图实体 (自 R2023a 起):

    • 生命线

    • 消息

    • 片段

  • Simulink Test 对象:

    • 测试文件

    • 测试套件

    • 测试用例

    • 迭代

    • 评估

  • 以下位置的 MATLAB 代码行:

  • 纯文本外部代码文件中的代码行,例如 C 文件和 H 文件 (自 R2022b 起)。您还可以链接到 HTML 文件,但不能链接到 XML 或 JSON。

    注意

    要创建指向纯文本外部代码行的链接,您必须在 MATLAB 编辑器中打开代码。有关详细信息,请参阅将需求链接到 MATLAB 代码或纯文本代码

  • Polyspace® Test 元素 (自 R2026a 起)

    • 表格形式的测试用例

    • 测试步骤

    • xUnit 测试

    • 源代码中的函数

    注意

    要从 Polyspace Test 元素创建链接,必须从 Polyspace 平台工具栏中打开需求编辑器或“可追溯性矩阵”窗口。无法通过编程方式创建链接。

您还可以直接链接到第三方应用程序中的需求。有关详细信息,请参阅直接链接到第三方应用程序中的需求

创建链接

您可以使用需求编辑器、需求视角、可追溯性矩阵、MATLAB 命令行或出向链接编辑器来创建链接。

要使用需求编辑器创建从设计或测试项到需求的链接:

  1. 选择以下其中一项:

    • Simulink 或 Stateflow 模型元素

    • Simulink Fault Analyzer 工件

    • System Composer 架构元素

    • Simulink Test 测试用例

    • MATLAB 编辑器中的代码范围

    • Simulink 数据字典条目

    提示

    要链接到 MATLAB 函数并启用对整个函数体的更改跟踪,请创建指向包含 function 关键字的行的链接。

  2. 需求编辑器中,选择需求。

  3. 点击添加链接,然后选择包含要链接到的选择的菜单选项。

要创建需求到需求的链接:

  1. 选择您想要链接为源项的需求。

  2. 点击 添加链接 > 选择与需求链接

  3. 选择您想要链接为目标项的需求。

  4. 通过选择 添加链接 > 从以下来源创建链接 创建链接。

提示

以编程方式创建链接

要在 MATLAB 命令行创建链接:

  1. 获取链接源的对象或句柄。例如,假设您有一个名为 MyModel 的模型,其中有一个名为 MyBlock 的模块:

    open_system("MyModel")
    src = get_param("MyModel/MyBlock","Handle");

  2. 获取链接目标的对象或句柄。例如,假设您有一个需求,其摘要为 My requirement

    dest = slreq.find(Type="Requirement",Summary="My requirement");
  3. 使用 slreq.createLink 函数创建链接。

    newLink = slreq.createLink(src,dest);

要以编程方式创建指向 MATLAB 代码或纯文本外部代码的链接,请使用 slreq.TextRange 对象。有关详细信息,请参阅将 MATLAB 代码链接到需求

使用出向链接编辑器创建链接

要使用出向链接编辑器在 Requirements Toolbox 中创建指向需求的链接,请执行以下操作:

  1. 打开“出向链接编辑器”。

    1. 在 MATLAB 中,选中一段文本,右键点击该文本,然后选择需求 > 打开出向链接对话框

    2. 在 Simulink 中,右键点击一个模块,将鼠标悬停在选择 App 上,然后点击“需求管理器”按钮 。右键点击该模块,在“需求管理器”部分中,点击“出向链接编辑器”按钮

    The Outgoing Links Editor is shown for a Simulink model called myModel. One link is shown, with description set to My link, Document type set to Requirements Toolbox, and document set to a requirement set called myReqSet.

  2. 点击新建

  3. 描述字段中描述链接。

  4. 文档类型设置为 Requirements Toolbox。

  5. 点击浏览并选择包含要链接的需求的需求需求集。

    或者,在需求编辑器中选择一个需求,然后点击“使用当前”。

  6. 通过选择文档索引选项卡并双击需求来指定要链接的需求。

    或者,在需求选项卡中,您可以在位置字段中指定需求 ID。

  7. 要向链接添加关键字,请在关键字字段中输入以逗号分隔的列表。

  8. 通过点击应用确定创建链接。

有关使用出向链接编辑器在第三方应用程序中创建指向需求的直接链接的信息,请参阅直接链接到第三方应用程序中的需求

链接类型

每个链接都有一个类型来描述源项和目标项之间的关系。slreq.Link 对象的 Type 属性值描述链接类型。

分配的链接类型

每种链接类型都有一个预期的用例。例如,Implement 链接类型表示需求与实现该需求的设计项之间的关系。当您在两个项之间创建链接时,Requirements Toolbox 会设置链接类型,并根据项所属的工件类型将其指定为源或目标。例如,如果在需求和 Simulink 模型元素之间创建链接,则 Requirements Toolbox 假定模型元素实现了该需求,将链接类型设置为 Implement,并将模型元素指定为源,将需求指定为目标。

如果两个项之间创建的链接没有假定的链接类型,则 Requirements Toolbox 将链接类型设置为 Relate。例如,需求到需求的链接默认为 Relate

编辑链接类型

创建链接后,您可以在需求编辑器、需求视角或 MATLAB 命令行中编辑链接类型。在需求编辑器中,点击显示链接。选择一个链接,然后在右侧窗格中的属性下从类型列表中选择所需的链接类型。

内置链接类型

Requirements Toolbox 提供六种内置链接类型。

前向指示源与目标的关系。类似地,后向表示目标与源的关系。

类型描述源到目标示例前进方向后退方向
Relate
  • 大多数用例中的项之间的一般关系

  • 双向链接

需求对需求

第一个需求第二个需求相关。

第二个需求第一个需求相关。

Implement
  • 指定实现该需求的源项

  • 促进实现状态

有关详细信息,请参阅使用实现状态跟踪需求链接

Simulink 模型元素到需求

Simulink 模型元素实现该需求。

该需求 Simulink 模型元素实现。

Verify
  • 指定哪个源项验证需求

  • 如果源项属于可接受项类型之一,则有助于验证状态

有关详细信息,请参阅审查需求验证状态

Simulink 测试用例符合需求

Simulink 测试用例验证了该需求。

该需求已通过 Simulink 测试用例验证

Derive

指定哪个源项派生目标项

已将引用的需求导入至需求

导入的引用需求衍生该需求。

该需求源自导入的引用需求。

Refine

指定哪个源项为目标项指定的功能添加详细信息

低级需求到高级需求

低级需求细化高级需求。

高级需求由低级需求细化

Confirm
  • 指定需求和外部测试结果源之间的关系

  • 在某些情况下有助于验证状态

有关详细信息,请参阅从外部结果中导入需求验证状态

对外部测试结果的需求

该需求已得到外部测试结果的确认。

外部测试结果证实了该需求。

ImplementVerify 链接类型描述需求到模型和需求到测试的关系。这些环节影响实现状态和验证状态。有关详细信息,请参阅使用实现状态跟踪需求链接审查需求验证状态

链接类型也会影响可追溯性图窗口中的影响方向。有关详细信息,请参阅使用可追溯性图可视化链接

自定义链接类型

除了内置类型之外,您还可以定义自定义链接类型。自定义链接类型必须使用内置类型之一作为基本行为。自定义链接类型从内置类型继承了一些功能,包括链接类型如何有助于实现和验证状态。有关详细信息,请参阅选择内置类型作为基本行为

您可以使用原型或使用 sl_customization 文件来定义自定义链接类型。有关详细信息,请参阅定义自定义需求和链接类型和属性

查看和编辑链接

要查看已加载的链接集及其包含的链接,请在需求编辑器中点击查看链接。然后您可以选择一个链接并查看或编辑其属性或自定义属性。有关详细信息,请参阅设置链接属性、自定义属性或构造型属性

当您选择一个需求时,您还可以在需求编辑器中查看该特定需求的链接。在右侧窗格中,在链接下,出向链接图标 Outgoing links icon. 表示出向链接,传入链接图标 Incoming links icon. 表示传入链接。

要使用需求视角查看 Simulink 编辑器中的链接:

  1. 通过点击模型画布右下角的显示透视视图图标,在 Simulink 模型中打开需求透视,然后选择需求

  2. 需求选项卡中,确保选择了 布局 > 需求浏览器

  3. 在需求浏览器的视图菜单中,选择链接

为了使链接可视化,请创建可追溯性矩阵或可追溯性图。有关详细信息,请参阅使用可追溯性矩阵跟踪需求链接使用可追溯性图可视化链接

删除链接和链接集

要删除链接,请在需求编辑器中点击显示链接。选择一个链接,然后在链接部分中点击 Delete links icon.

要删除链接集,请执行以下操作:

  1. 找到包含链接集的 SLMX 文件。默认情况下,链接集文件与源工件位于同一文件夹中。

  2. 删除链接集之前,请关闭链接的工件,包括需求集、Simulink Test 文件、MATLAB 代码、Simulink 数据字典以及 Simulink、Stateflow 或 System Composer 模型。

  3. 在 MATLAB 命令行中,输入以下命令清除已加载的需求和链接:

    slreq.clear

  4. 删除 SLMX 文件。

注意

如果要删除与 Simulink 模型关联的链接集文件,请确保链接存储在外部。有关如何在外部存储链接的更多信息,请参阅链接存储

另请参阅

App

函数

主题