主要内容

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

将 MATLAB 代码链接到需求

R2026a

您可以通过使用需求编辑器或在 MATLAB® 命令行中以编程方式,将需求链接到 MATLAB 代码和纯文本外部代码(如 C 代码)。您还可以在 MATLAB Function (Simulink) 模块中创建指向 MATLAB 代码的链接。您可以在 MATLAB 编辑器或需求编辑器中查看、编辑和删除代码链接。

创建指向 MATLAB 代码或纯文本外部代码的链接

您可以通过编程方式或使用需求编辑器创建指向 MATLAB 代码或纯文本外部代码的链接。

当您创建指向代码的链接时,Requirements Toolbox™ 会创建与所选行相对应的 slreq.TextRange 对象。这些 slreq.TextRange 对象被称为行范围。

要以编程方式创建链接,请创建 slreq.TextRange 对象,然后在创建链接时使用该对象作为链接源。在同一个 MATLAB 代码文件或纯文本外部代码文件中创建多个 slreq.TextRange 对象时,slreq.TextRange 对象的行号不能重叠。

使用需求编辑器创建链接

要使用需求编辑器创建基于选择的代码链接:

  1. 在 MATLAB 编辑器中,打开 MATLAB 代码文件或纯文本外部代码文件。

    注意

    您无法在 MLX 文件中创建指向 MATLAB 代码的链接。

  2. 选择您要链接的代码行。

  3. 在需求编辑器中,加载您想要链接的需求集。

  4. 选择要链接的需求。

  5. 在链接部分中,依次点击添加链接 > 从 MATLAB 编辑器中所选内容链接。

    或者,在 MATLAB 编辑器中,右键点击选定的代码范围并选择 需求 > 链接到需求浏览器中的所选内容。

以编程方式创建链接

假设您想以编程方式创建指向名为 myAdd 的 MATLAB 函数的链接。

function y = myAdd(u,v)
y = u + v;
end
您想将该函数与以下需求联系起来:

Requirements for the myAdd function, including requirements for the inputs, outputs, and function behavior.

要在 MATLAB 命令行创建链接:

  1. 使用 slreq.createTextRange 创建一个 slreq.TextRange 对象,代表您想要链接到的代码行。

    lr = slreq.createTextRange("myAdd.m",2);

  2. 使用 slreq.find、find 或 slreq.getCurrentObject 来获取您想要链接的需求的句柄。

    req = slreq.find(Type="Requirement",Summary="Add u and v");

  3. 使用 slreq.createLink 创建链接。

    myLink = slreq.createLink(lr,req);

创建指向 MATLAB Function 模块的链接

使用 MATLAB Function 模块编辑器 (Simulink)创建指向 MATLAB Function 模块中的代码行的链接:

  1. 在需求编辑器中,加载您想要链接到的需求集。

  2. 选择要链接的需求。

  3. 在 Simulink® 模型中,打开 MATLAB Function 模块。

  4. 选择您要链接的代码行。

  5. 右键点击选定的代码范围并选择 需求 > 链接到需求浏览器中的所选内容。

注意

链接到 MATLAB Function 模块内的 MATLAB 代码行的需求会出现在 HTML 需求可追溯性报告中,但不会出现在 Simulink Report Generator™ Web 视图中。请参阅创建和使用模型的 Web 视图 (Simulink Report Generator)。

创建外部文档中需求的链接

要创建从 MATLAB 代码到外部文档中的需求的链接:

  1. 在以下外部文档之一中选择一个需求:

    • Microsoft® Word

    • Microsoft Excel®

    • IBM® DOORS®

    • IBM DOORS Next

  2. 在 MATLAB 编辑器中,打开 MATLAB 代码文件或纯文本外部代码文件。

    注意

    您无法在 MLX 文件中创建指向 MATLAB 代码的链接。

  3. 选择您要链接的代码行。

  4. 右键点击选定的代码范围并选择需求。根据需求文档的类型,选择以下选项之一:

    • 链接到 Word 中的所选内容

    • 链接到 Excel 中的所选内容

    • 链接到 DOORS 中的所选内容

    • 链接到 DOORS Next 中的所选项

  5. 保存更改。有关详细信息,请参阅保存链接。

有关如何配置 Requirements Toolbox 以与这些第三方产品配合使用的详细信息,请参阅配置 Requirements Toolbox 以便与 Microsoft Office 和 IBM DOORS 交互和配置 IBM DOORS 以便与 Requirements Toolbox 集成。

查看和编辑链接及行范围

要在 MATLAB 编辑器中查看当前文件的链接和行范围,请在编辑器中右键点击并选择需求 > 打开需求可追溯性面板 (自 R2025a 起)来打开需求可追溯性。当前文件中的行范围具有行范围图标 ,而链接目标具有链接目标图标 。

This image shows the Requirements Traceability panel. The panel contains 3 line ranges and 4 links.

您还可以通过启用需求高亮显示功能,在 MATLAB 编辑器中查看关联的代码范围。在编辑器中右键点击,然后选择需求 > 启用需求突出显示。

要编辑链接,请使用需求编辑器。有关详细信息,请参阅查看和编辑链接。

在 MATLAB 编辑器中编辑行范围

要在 MATLAB 编辑器中编辑某一段落的行号:

  1. 打开需求可追溯性面板,并选择带有线段范围图标的 项。编辑器选择行范围内的代码 (自 R2025a 起)。

  2. 在编辑器中点击要取消选择的代码行范围。然后,在行范围内右键点击,并选择需求 > 调整行范围。“调整范围”对话框打开。

  3. 在调整范围对话框中,使用+和-按钮更改行范围的第一行和最后一行。或者,在字段中输入行号。

    Adjust range dialog box showing lines 1 and 2 as the first and last lines for the line range

  4. 点击确定。

  5. 保存更改。有关详细信息,请参阅保存链接。

或者,您也可以在编辑器中右键点击,然后选择需求 > 启用需求突出显示,以此突出显示关联的行范围。

程序化编辑行范围

要在 MATLAB 命令行编辑 slreq.TextRange 对象的行:

  1. 在 MATLAB 编辑器中打开 MATLAB 代码文件或纯文本外部代码文件。

    open("myAdd.m");

  2. 通过将文件名以及行范围的开始和结束的行号传递给 slreq.getTextRange 函数来获取 MATLAB 代码文件中现有的 slreq.TextRange 对象。

    lr = slreq.getTextRange("myAdd.m",[1 2]);

  3. 使用 setLineRange 方法修改行范围。

    setLineRange(lr,1);

  4. 保存更改。

    myLinkSet = slreq.find(Type="LinkSet",Artifact=lr.Artifact);
    save(myLinkSet);

MATLAB 编辑器更新了代码范围突出显示。或者,您可以使用 show、getText 或 getLineRange 确认更改。

删除链接和未使用的行范围

您可以在 MATLAB 编辑器、需求编辑器、需求可追溯性面板或 MATLAB 命令行中删除指向 MATLAB 代码的链接。

如果您在 MATLAB 编辑器中删除代码范围的链接,您可以删除编辑器中、需求可追溯性面板中或 MATLAB 命令行中的未使用行范围。

删除链接

要删除已加载链接集中单个链接,请使用需求编辑器。有关详细信息,请参阅删除链接和链接集。

要在 MATLAB 编辑器中删除当前文件中的单个链接,请使用需求可追溯性面板。有关详细信息,请参阅删除链接。

要在 MATLAB 编辑器中删除某一行范围的所有入站和出向链接,请右键点击高亮显示的代码范围,然后选择需求 > 删除所有链接。

要程序化地删除链接,请获取一个 slreq.Link 对象的句柄,并使用 remove 函数。或者,打开一个包含入站或出向链接的文件,并在 MATLAB 编辑器中打开它。然后,使用 slreq.getTextRange 函数获取一个 slreq.TextRange 对象的句柄。使用 deleteLinks 函数删除目标的链接。

删除行范围

要在 MATLAB 编辑器中删除当前文件中的行范围,请使用需求可追溯性面板。有关详细信息,请参阅删除链接。

要程序化地删除行范围,请在 MATLAB 编辑器中打开包含入站或出向链接的文件。然后,使用 slreq.getTextRange 函数返回一个 slreq.TextRange 对象。使用 remove 函数删除代码范围。

修复链接

如果您删除了包含出向链接的行范围,或者软件无法在 MATLAB 代码文件或纯文本文件中找到某个行范围,则指向该行范围的链接将变为未解析状态。您可以修复未解决的链接,或者如果它们不再需要,可以删除它们。有关详细信息,请参阅解析链接。

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

孤链是指来源无效的链接。要查看文件中的孤立链接,请使用需求可追溯性面板。面板以红色文字显示孤链。

保存链接

要保存创建、编辑、删除或修复链接或线段范围时对链接集所做的更改,请使用以下方法之一:

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

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

  • 在 MATLAB 命令行中,使用 save。

另请参阅

App

类

函数

主题