Main Content

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

加载和解析链接

当您打开或加载具有传入或出向链接的工件时,Requirements Toolbox™ 会加载包含这些链接的链接集。如果链接集有注册的需求集,软件也会加载这些需求集。如果需求集具有指向其他工件的传入或出向链接,则加载已注册的需求集可以进一步加载链接。

当您加载链接时,软件可能会识别出源项目或目标项目不可用的未解析链接。您可以通过加载包含已卸载项目的工件或手动修复链接来解析链接。

加载工件和相关链接集

当您加载具有传入或出向链接的需求集、Simulink® 模型或 MATLAB® 代码等工件时,Requirements Toolbox 会加载包含这些链接的链接集。

例如:

  1. 打开 ShortestPath 工程。在 MATLAB 命令行中输入此命令:

    openExample("slrequirements/ShortestPathExample")

  2. 打开shortest_path_func_reqs需求集。在 MATLAB 命令行中,输入:

    slreq.open("shortest_path_func_reqs");
    shortest_path_func_reqs需求集具有指向 shortest_path.mgraph_unit_tests.m 中的 MATLAB 代码范围的出向链接。

  3. 查看已加载的链接集。在需求编辑器中,点击显示链接。该软件加载了与 shortest_path.mgraph_unit_tests.m 相关的链接集。

    The Requirements Editor links view shows that shortest_path.slmx and graph_unit_tests.slmx are loaded.

加载已注册的需求集

当您创建指向某个需求的链接时,包含该需求的需求集将注册到该链接集。您可以使用 getRegisteredReqSets 方法查看链接集的已注册需求集。

当您加载具有注册需求的链接集时,Requirements Toolbox 也会加载这些需求集。如果这些需求集包含指向其他工件的链接,则软件还会加载包含这些链接的链接集。

例如:

  1. 通过在 MATLAB 命令行输入此命令来清除已加载的需求集和链接集:

    slreq.clear

  2. 通过在 MATLAB 命令行中输入此命令来打开 ShortestPath 工程:

    openExample("slrequirements/ShortestPathExample")

  3. 打开graph_unit_tests.m MATLAB代码文件。在 MATLAB 命令行中,输入:

    edit graph_unit_tests.m
    graph_unit_tests.m 文件具有指向需求的出向链接。

  4. 查看已加载的链接集。打开需求编辑器

    slreq.editor
    需求编辑器中,点击显示链接。该软件加载了graph_unit_tests.slmx,它是包含来自graph_unit_tests.m的出向链接的链接集。

    The Requirements Editor links view shows that the shortest_path.slmx and graph_unit_tests.slmx link sets are loaded.

    graph_unit_tests.m 文件具有指向 shortest_path_tests_reqsshortest_path_func_reqs需求集的出向链接,因此它们被注册到 graph_unit_tests 链接集。

  5. 查看已加载的需求集。在需求编辑器中,点击显示需求。由于shortest_path_tests_reqsshortest_path_func_reqs需求集已注册到graph_unit_tests链接集,因此软件也加载了它们。

    The Requirements Editor requirements view shows that the shortest_path_tests_reqs and shortest_path_func_reqs requirement sets are loaded.

    shortest_path_func_reqs需求集还具有来自 shortest_path.m 的传入链接,存储在 shortest_path.slmx 中。

  6. 再次查看已加载的链接集。在需求编辑器中,点击显示链接。由于软件加载了 shortest_path_func_reqs需求集,因此它还加载了包含其入站链接的链接集 shortest_path.slmx

    The Requirements Editor links view shows that the shortest_path.slmx and graph_unit_tests.slmx link sets are loaded.

取消注册需求集

要从链接集中取消注册需求集,请使用 updateRegisteredReqSets 方法。仅当需求集没有存储在链接集中的传入链接时,您才可以从链接集中取消注册需求集。

解析链接

未解析的链接具有不可用的源项或目标项。项不可用的原因可能是:

  • 未加载包含源或目标项的工件。

    例如,加载具有来自 Simulink模型的传入链接的需求集也会加载属于该模型的链接集。然而,如果您不加载Simulink模型,链接就无法解析。

  • 工件已加载,但指定的 ID 不存在。

    例如,如果您删除链接的需求,则该链接将无法解析,因为存储的 ID 不再对应于有效项目。

由于指定 ID 不存在而无法解析的链接被称为无效链接。具有无效来源的链接被称为孤立链接,具有无效目标的链接被称为断开的链接

要查看未解析的链接,请在需求编辑器中点击显示链接。未解析的链接具有未解析链接图标

要解析具有未加载的源或目标项的链接,请加载包含该项目的工件。通过选择需求编辑器中的链接来加载工件,然后在右侧窗格中的属性下点击带有警告图标 的源或目标项。

解决无效链接的方法:

  1. 需求编辑器中,选择显示链接。选择一个链接集或链接,然后在链接部分中选择 解决链接问题 > 修复无效链接。将打开“修复无效链接”对话框。

    The Repair Invalid Links dialog for the crs_controller link set is shown. The dialog box shows link 1 out of 21 flagged links.

  2. 在修复无效链接对话框中:

    • 通过在更新为字段中手动指定 ID 来更新源或目标 ID。

    • 通过点击使用当前将源或目标更新为源或目标工件中当前选定的项目。

    • 通过点击“浏览”并选择一个工件来更新源或目标工件。

    • 点击删除链接删除链接。

    如果链接集中的链接具有相同的缺失源或目标,则可以通过选中对话框底部的复选框对这些链接应用相同的修复。

  3. 如果您打开了链接集的“修复无效链接”对话框,则可以使用<>按钮导航链接来修复或删除链接集中的其他链接。

  4. 点击确定关闭对话框。

  5. 保存链接集。在需求编辑器中,选择链接集,然后在文件部分中点击保存

通过编程方式解析链接

要解决或删除链接集中的无效链接:

  1. 使用 slreq.find 函数获取链接集的句柄。

  2. 使用 getBrokenLinks 方法获取断开的链接。使用 getOrphanLinks 方法获取孤立链接。

  3. 使用setSourcesetDestination方法修复链接。

    或者,删除链接。使用 deleteOrphanLinks 方法删除孤立链接。使用remove方法删除断开的链接。

  4. 使用save方法保存链接集。

或者,解决或删除个别无效链接:

  1. 使用 slreq.find 函数或 find 方法获取链接的句柄。

    提示

    您可以使用 slreq.find 函数或 find 方法按目标属性查找链接。有关更多信息,请参阅 按目标属性查找链接

  2. 使用setSourcesetDestination方法修复链接,或者使用remove方法删除链接。

  3. 使用 linkSet 方法获取链接集的句柄。

  4. 使用save方法保存链接集。

要修复指向您重命名的需求集集的断开的链接,请使用 updateDocUri 方法。

卸载链接信息

要从内存中卸载链接集,请关闭包含链接项的源工件和目标工件。如果您仅关闭源工件或仅关闭目标工件,则链接仍保持加载状态。

或者,您可以使用 slreq.clear 函数清除已加载的需求集和链接集并关闭需求编辑器和可追溯性矩阵窗口来卸载链接集。

另请参阅

| |

相关主题