从 IBM DOORS 导入需求
您可以从 IBM® DOORS® 模块导入整个需求模块或需求子集。Requirements Toolbox™ 将需求导入为 slreq.Reference 对象,也称为引用需求。
在与导入的引用需求建立链接后,您可以使用需求编辑器或需求视角从导入的引用需求导航到 IBM DOORS 中的原始需求。
注意
MATLAB® Online™ 不支持从 IBM DOORS 文档导入需求。
配置 IBM DOORS 会话
为了与 IBM DOORS 交互,您必须在安装或更新 MATLAB 或 MATLAB IBM 后配置 DOORS。关闭 IBM DOORS 的打开实例。然后,在 MATLAB 命令提示符下输入:
rmi setup doors
注意
根据您的机器所需的权限,您可能需要以管理员身份运行 MATLAB 和/或 IBM DOORS。
导入整个需求模块
您可以从需求编辑器或 IBM 命令行从 DOORS MATLAB 导入需求。要以编程方式导入需求,请参阅 使用 API 从 IBM DOORS 导入需求。
要在需求编辑器中导入 IBM DOORS 需求模块,首先使用以下方法之一打开需求编辑器:
在 MATLAB 命令行中,输入:
slreq.editor
在 MATLAB App 选项卡中,在验证、确认和测试下,点击需求编辑器。
在 Simulink® App 选项卡中,在模型验证、确认和测试下,点击需求编辑器。
打开 IBM DOORS 中包含要导入的需求模块的工程。然后,在需求编辑器中:
点击导入。
在导入需求对话框中,将文档类型设置为 IBM Rational® DOORS 模块。
在文档位置旁边,点击使用当前选择活动需求模块,或点击浏览打开 IBM DOORS 中的浏览对话框。在浏览对话框中,选择要导入的模块,然后点击确定。
在导入需求对话框中,在内容下,选择仅文本(性能更佳)将需求导入为文本,或选择包括图和布局导入图像、图形和文本格式。
在行过滤器下,对话框显示您选择的 IBM DOORS 需求模块中当前应用的过滤器。如果您没有看到当前应用的过滤器,点击刷新。Requirements Toolbox 仅导入与当前应用的过滤器匹配的需求。有关详细信息,请参阅从模块导入需求子集。

在要导入的属性下,点击映射属性以从需求模块中选择要导入的属性。Requirements Toolbox 将一些默认属性自动映射到需求属性。在 DOORS 模块对话框中,您可以将其他属性映射到剩余未映射的需求属性或自定义属性。您可以通过选择
<Ignore>来在导入过程中省略属性。在目标下,输入需求集的名称和文件路径。点击浏览选择保存位置。
点击导入。导入完成后,需求编辑器将显示需求层次结构。
Requirements Toolbox 将需求作为引用需求导入到新的需求集。如果您对 IBM DOORS 中的需求模块进行了更改,则可以更新所引用需求。有关详细信息,请参阅更新导入的需求。
从模块导入需求子集
您可以通过对模块应用过滤器来从 IBM DOORS 需求模块导入需求子集。有关将过滤器应用于需求模块的更多信息,请参阅 IBM 网站上的定义过滤器。
当您导入在需求编辑器中应用了过滤器的需求时,“导入需求”对话框会显示该过滤器。仅将符合过滤器的需求导入到 Requirements Toolbox。有关详细信息,请参阅导入整个需求模块。
更新已过滤需求集
当您导入需求时,您可以通过在导入需求对话框中选择存储当前行过滤器以在将来的更新中自动应用来选择存储过滤器。如果您更新需求集,则可以使用此过滤器。如果您存储了过滤器,但使用不同的过滤器更新需求集,则会出现 DOORS 过滤器不匹配对话框。

然后您可以:
点击应用存储的过滤器,使用导入期间存储的过滤器来更新需求集。导入过程会更新需求集中的需求,以反映需求模块中所做的任何更改。
通过点击更新存储的过滤器,使用需求模块中当前应用的过滤器来更新需求集。此操作将用新过滤器替换当前存储的过滤器。Requirements Toolbox 将需求添加到需求集中或从需求集删除需求,以反映需求模块中当前应用的过滤器,并更新现有需求以反映 DOORS 中的更改。
如果您选择在导入期间不存储过滤器,然后更新需求集,则 Requirements Toolbox 会在需求集添加或删除需求,以反映需求模块中当前应用的过滤器,并更新需求集中的现有需求,以反映需求模块中所做的更改。
更新需求集
如果您在将需求导入到 Requirements Toolbox 后更新了 DOORS 中的需求,必须更新需求集以反映这些更改。在需求编辑器中,选择顶部的导入节点,然后在右侧窗格的需求交换下,点击更新。有关详细信息,请参阅更新导入的需求。
要导入在导入需求后于 IBM DOORS 中添加的需求属性,请使用 PreImportFcn 回调函数 (自 R2022a 起):
在 MATLAB 中打开一个新脚本。在 Home 选项卡中,点击新建脚本。
输入以下代码:
该函数将function importAttributes attributesToImport = ["My New Attribute1","My New Attribute2"]; options = slreq.getCurrentImportOptions; for i = 1:numel(attributesToImport) attribute = attributesToImport{i}; if ~any(strcmp(options.Attributes,attribute)) options.Attributes{end+1} = attribute; end end end
attributesToImport字符串数组中的属性添加到当前导入选项属性列表中,如果这些属性尚未存在。指定要导入的属性。将
attributesToImport变量定义为一个字符串数组,该数组包含属性名称。保存脚本。在编辑器选项卡中,点击保存。在 MATLAB 路径中选择一个文件夹,然后点击确定。
打开导入的需求编辑器中的需求集。选择导入节点,然后在右侧窗格中展开回调部分。
在 PreImportFcn 选项卡中,输入回调函数的名称,
importAttributes。
更新导入的需求。在右侧窗格中的需求交换下,点击更新。
指定的需求属性要求将作为自定义属性导入。有关导入回调的更多信息,请参阅 使用回调自定义需求导入行为。
在引用的需求和 IBM DOORS 中的需求之间导航
您可以从引用的需求导航到 IBM DOORS 需求模块中的原始需求,或者从原始需求导航到 MATLAB 中引用的需求。
从 MATLAB 导航至 IBM DOORS
要从需求编辑器导航到 IBM DOORS 中的原始需求,请选择需求编辑器中引用的需求。在右侧窗格中的属性下,点击在文档中显示。
您还可以使用需求视角导航到原始需求。在 Simulink 模型中,打开 App 选项卡并选择需求管理器。确保选择了 布局 > 需求浏览器。在需求浏览器的视图下拉菜单中,选择,然后选择一个需求。在属性检查器中的详细信息选项卡中,在属性下,点击在文档中显示。
从 IBM DOORS 导航至 MATLAB
要从 IBM DOORS 需求模块中的需求导航到 Requirements Toolbox 中相应的引用需求,请选择该需求,然后点击MATLAB > 选择项。引用的需求在需求编辑器中打开。
