加载和解析链接
当您打开或加载具有传入或出向链接的工件时,Requirements Toolbox™ 会加载包含这些链接的链接集。如果链接集有注册的需求集,软件也会加载这些需求集。如果需求集具有指向其他工件的传入或出向链接,则加载已注册的需求集可以进一步加载链接。
当您加载链接时,软件可能会识别出源项或目标项不可用的未解析链接。您可以通过加载包含已卸载项的工件或手动修复链接来解析链接。
加载工件和相关链接集
当您加载具有传入或出向链接的需求集、Simulink® 模型或 MATLAB® 代码等工件时,Requirements Toolbox 会加载包含这些链接的链接集。
例如:
打开
ShortestPath
工程。在 MATLAB 命令行中输入此命令:openExample("slrequirements/ShortestPathExample")
打开
shortest_path_func_reqs
需求集。在 MATLAB 命令行中,输入:slreq.open("shortest_path_func_reqs");
shortest_path_func_reqs
需求集具有指向shortest_path.m
和graph_unit_tests.m
中的 MATLAB 代码范围的出向链接。查看已加载的链接集。在需求编辑器中,点击显示链接。该软件加载了与
shortest_path.m
和graph_unit_tests.m
相关的链接集。
加载已注册的需求集
当您创建指向某个需求的链接时,包含该需求的需求集将注册到该链接集。您可以使用 getRegisteredReqSets
方法查看链接集的已注册需求集。
当您加载具有注册需求的链接集时,Requirements Toolbox 也会加载这些需求集。如果这些需求集包含指向其他工件的链接,则软件还会加载包含这些链接的链接集。
例如:
通过在 MATLAB 命令行输入此命令来清除已加载的需求集和链接集:
slreq.clear
通过在 MATLAB 命令行中输入此命令来打开
ShortestPath
工程:openExample("slrequirements/ShortestPathExample")
打开
graph_unit_tests.m
MATLAB 代码文件。在 MATLAB 命令行中,输入:edit graph_unit_tests.m
graph_unit_tests.m
文件具有指向需求的出向链接。查看已加载的链接集。打开需求编辑器。
在需求编辑器中,点击显示链接。该软件加载了slreq.editor
graph_unit_tests.slmx
,它是包含来自graph_unit_tests.m
的出向链接的链接集。graph_unit_tests.m
文件具有指向shortest_path_tests_reqs
和shortest_path_func_reqs
需求集的出向链接,因此它们被注册到graph_unit_tests
链接集。查看已加载的需求集。在需求编辑器中,点击显示需求。由于
shortest_path_tests_reqs
和shortest_path_func_reqs
需求集已注册到graph_unit_tests
链接集,因此软件也加载了它们。shortest_path_func_reqs
需求集还具有来自shortest_path.m
的传入链接,存储在shortest_path.slmx
中。再次查看已加载的链接集。在需求编辑器中,点击显示链接。由于软件加载了
shortest_path_func_reqs
需求集,因此它还加载了包含其入站链接的链接集shortest_path.slmx
。
取消注册需求集
要从链接集中取消注册需求集,请使用 updateRegisteredReqSets
方法。仅当需求集没有存储在链接集中的传入链接时,您才可以从链接集中取消注册需求集。
解析链接
未解析的链接具有不可用的源项或目标项。项不可用的原因可能是:
未加载包含源或目标项的工件。
例如,加载具有来自 Simulink 模型的传入链接的需求集也会加载属于该模型的链接集。然而,如果您不加载 Simulink 模型,链接就无法解析。
工件已加载,但指定的 ID 不存在。
例如,如果您删除链接的需求,则该链接将无法解析,因为存储的 ID 不再对应于有效项。
由于指定 ID 不存在而无法解析的链接被称为无效链接。具有无效来源的链接被称为孤链,具有无效目标的链接被称为断开的链接。
要查看未解析的链接,请在需求编辑器中点击显示链接。未解析的链接具有未解析链接图标 。
要解析具有未加载的源或目标项的链接,请加载包含该项的工件。通过选择需求编辑器中的链接来加载工件,然后在右侧窗格中的属性下点击带有警告图标 的源或目标项。
解决无效链接的方法:
在需求编辑器中,选择显示链接。选择一个链接集或链接,然后在链接部分中选择 解决链接问题 > 修复无效链接。将打开“修复无效链接”对话框。
在修复无效链接对话框中:
通过在更新为字段中手动指定 ID 来更新源或目标 ID。
通过点击使用当前将源或目标更新为源或目标工件中当前选定的项。
通过点击浏览并选择一个工件来更新源或目标工件。
点击删除链接删除链接。
如果链接集中的链接具有相同的缺失源或目标,则可以通过选中对话框底部的复选框对这些链接应用相同的修复。
如果您打开了链接集的“修复无效链接”对话框,则可以使用<和>按钮导航链接来修复或删除链接集中的其他链接。
点击确定关闭对话框。
保存链接集。在需求编辑器中,选择链接集,然后在文件部分中点击保存。
您还可以在 MATLAB 编辑器中使用需求可追溯性面板修复当前文件中的孤链。通过双击红色文本中的一个孤项,并使用“修复无效链接”对话框来修复链接。有关详细信息,请参阅 识别并修复孤链。
通过编程方式解析链接
要解决或删除链接集中的无效链接:
使用
slreq.find
函数获取链接集的句柄。使用
getBrokenLinks
方法获取断开的链接。使用getOrphanLinks
方法获取孤链。使用
setSource
和setDestination
方法修复链接。或者,删除链接。使用
deleteOrphanLinks
方法删除孤链。使用remove
方法删除断开的链接。使用
save
方法保存链接集。
或者,解决或删除个别无效链接:
使用
slreq.find
函数或find
方法获取链接的句柄。提示
您可以使用
slreq.find
函数或find
方法按目标属性查找链接。有关详细信息,请参阅按目标属性查找链接。使用
setSource
或setDestination
方法修复链接,或者使用remove
方法删除链接。使用
linkSet
方法获取链接集的句柄。使用
save
方法保存链接集。
要修复指向您重命名的需求集的断开的链接,请使用 updateDocUri
方法。
卸载链接信息
要从内存中卸载链接集,请关闭包含链接项的源工件和目标工件。如果您仅关闭源工件或仅关闭目标工件,则链接仍保持加载状态。
或者,您可以使用 slreq.clear
函数清除已加载的需求集和链接集并关闭需求编辑器和可追溯性矩阵窗口来卸载链接集。
另请参阅
需求编辑器 | getRegisteredReqSets
| updateRegisteredReqSets