从 ReqIF 文件导入需求
您可以从使用需求交换格式 (ReqIF™) 文件的第三方需求管理工具导入需求和链接。Requirements Toolbox™ 将 ReqIF 需求和链接类型及属性映射到 Requirements Toolbox 需求和链接类型及属性以及自定义属性。您可以在第三方工具中管理需求,也可以将需求迁移到 Requirements Toolbox。如果您在第三方工具中管理需求,您还可以在工具中导入的引用需求和原始需求之间导航。
或者,您可以使用第三方集成工具,将需求管理工具与 MATLAB® 和 Simulink® 进行连接。如需更多信息,请参阅 Polarion™ 网站上的 Polarion 扩展。
选择导入映射
当您从 ReqIF 文件导入需求和链接时,必须选择一个导入映射,将 ReqIF 需求和链接类型及属性映射到 Requirements Toolbox 需求和链接类型、属性和自定义属性。
提示
除了使用内置或通用映射之外,您还可以在导入期间创建配置文件,以映射 ReqIF 需求和链接类型及属性。Requirements Toolbox 将每个 ReqIF 需求和链接类型映射到配置文件中的新原型,并将需求和链接属性映射到原型属性。有关详细信息,请参阅从 ReqIF 文件导入时使用原型。
Requirements Toolbox 包含这些第三方工具的导入映射:
IBM® DOORS®
IBM DOORS Next
Polarion
PREEvision
Jama
Requirements Toolbox 还包含一个通用映射,如果您的第三方工具没有导入映射,则可以使用它。
当您导入 ReqIF 文件时,软件会根据您选择的导入映射来映射需求和链接类型和属性。
| 导入映射 | 描述 |
|---|---|
|
|
| 泛型 |
|
导入需求后,您可以编辑类型和属性映射。有关详细信息,请参阅Map ReqIF 类型和属性。
定义替代映射
您还可以为您的工具定义自定义导入映射,指定如何映射需求和链接类型和属性。
要定义自定义导入映射,请创建一个使用类似于目录 fullfile(matlabroot,"toolbox","slrequirements","slrequirements","attribute_maps") 中定义的映射文件的结构体的 XML 文件。在 XML 文件中,将 name 元素的 datamodel.MappingOptions 属性设置为第三方工具在生成的 ReqIF 文件中为 REQ-IF-TOOL-ID 元素指定的相同名称。
要使用自定义导入映射,请使用 rmipref 函数的 ReqifMappingFilePath 名称值参量注册包含该映射的文件夹。当您导入 ReqIF 文件时,如果自定义导入映射 XML 文件中的名称与 ReqIF 文件中的名称匹配,Requirements Toolbox 会选择与您的第三方工具匹配的导入映射。否则,您可以从列表中选择自定义映射。有关详细信息,请参阅导入需求。
要刷新已注册的自定义导入映射,请使用 slreq.updateReqIfMappings 函数。要取消注册自定义导入映射,请将 rmipref 的 reqifMappingFilePath 名称值参量设置为空字符串,然后刷新已注册的自定义导入映射。
导入需求
要从 ReqIF 文件导入需求:
使用以下方法之一打开需求编辑器:
在 MATLAB 命令行中,输入:
slreq.editor
在 MATLAB App 选项卡中,在验证、确认和测试下,点击需求编辑器。
在 Simulink App 选项卡中,在模型验证、确认和测试下,点击需求编辑器。
在需求编辑器中,点击导入。
在导入需求对话框中,将文档类型设置为 ReqIF 文件(* reqif 或 * reqifz)。
在文档位置旁边,点击浏览并选择 ReqIF 文件。

在属性映射下,将源工具设置为您想要的导入映射。请参阅选择导入映射。
在目标下,点击浏览。输入文件名,选择保存新需求集的位置,然后点击保存。
选择是否允许更新导入的需求。如果您想在第三方工具中管理导入的需求,请选择支持外部源更新,它将需求作为引用需求导入。如果您想将您的需求迁移到 Requirements Toolbox,请清除支持外部源更新。有关导入选项的详细信息,请参阅选择导入模式。
点击导入导入需求。
注意
如果在导入 ReqIF 文件时需求编辑器报错,请使用
slreq.validateReqIF函数检查该文件是否符合 ReqIF 规范。请使用第三方需求管理工具修复这些警告和错误,然后重新生成 ReqIF 文件并再次导入。
导入的需求维护需求层次结构。
要导入与需求相关的图像,请使用第三方工具将需求导出为 .reqifz 文件,然后将该文件导入到 Requirements Toolbox。
注意
当您导入其需求具有多值枚举属性的 ReqIF 文件时,Requirements Toolbox 会将属性值设置为单个值。
从具有多个规范的 ReqIF 文件导入需求
ReqIF 文件中的需求属于规范。如果您的 REQIF 文件包含多个规格,您可以导入该文件并选择导入规格的方式:
选择单个 ReqIF 源规范导入到需求集。在“导入需求”对话框中,在源设定下,选择导入单个设定,然后从列表中选择一个规范。
将 ReqIF 源规范合并为一个需求集。在“导入需求”对话框中,在源设定下,选择将所有设定组合到一个需求集中。
如果您选择支持外部源更新,那么每个规范都会导入到单独的导入节点。您可以独立更新每个导入节点。否则,每个源规范都作为父需求导入,而规范中的所有需求都作为其子需求导入。
将每个 ReqIF 源规范导入到单独的需求集。在“导入需求”对话框中,在源设定下,选择将每个设定导入一个单独的需求集中。在目标下,文件夹旁边,点击浏览并选择用于保存需求集的目标文件夹位置。

注意
您无法导入包含多个 REQIF 文件的 REQIFZ 文件。
生成的需求集文件名与源规范名称相同。如果在选定的目标位置中,存在与某个源规范文件同名的现有需求集文件,导入该文件名对应的需求将覆盖该文件。
对于较大的 ReqIF 文件,考虑将每个源规范导入单独的需求集,有助于减少文件冲突并帮助您跟踪各个需求集中的差异。
在决定对包含多个源规范的 ReqIF 文件使用哪种导入方法时,请考虑是否要导入链接以及是否计划导出回 ReqIF。有关详细信息,请参阅导入链接和具有多个规范的 ReqIF 文件的注意事项
导入链接
当您将 ReqIF 文件导入到需求集时,您也可以导入链接。要导入链接,请在“导入需求”对话框中,在源链接项下选择导入链接,以保留来自 ReqIF 文件的链接。导入后,Requirements Toolbox 链接集文件包含需求和其他基于模型的设计项之间的链接。

使用多个源规范从 ReqIF 文件导入链接
当您从具有多个源规范的 ReqIF 文件导入链接时,您导入源规范的方式会影响链接导入。如果您:
将单个规范导入需求集,Requirements Toolbox 仅导入链接该规范内需求的链接。此次导入可能会遗漏来自 ReqIF 文件的某些链接。
将多个 ReqIF 源规范合并为一个需求集,解析后的链接导入到一个链接集中。
将每个 ReqIF 源规范导入到单独的需求集,将解析的链接导入到单独的链接集。
从 Requirements Toolbox 生成的 ReqIF 文件中导入链接
如果您将 Requirements Toolbox 中的需求链接到需求集未包含的项(如 Simulink 模块),然后将该需求和相关链接导出到 ReqIF 文件,则导出过程会将链接项的链接代理对象插入到 ReqIF 文件中。Requirements Toolbox 将链接代理对象的类型名称设置为描述某些链接对象的对象的名称。有关详细信息,请参阅导出链接。
当您重新导入此 ReqIF 文件时,软件仅针对类型名称不是 Requirement 的链接代理对象重建与链接代理对象和需求的链接。指向类型名称设置为 Requirement 的链接代理对象的链接无法重建。
要在导入 ReqIF 文件时重建链接,请在“导入需求”对话框中:
在源设定下,选择将所有设定组合到一个需求集中或将每个设定导入一个单独的需求集中。
在源链接下,选择导入链接。
重建的链接使用 Requirements Toolbox 默认链接存储。有关详细信息,请参阅链接存储和指定模型的需求链接存储重建的链接将附加到包含链接源的工件的链接集。如果链接集不可用,则导入过程将创建一个与工件具有相同基本文件名的链接集,并将其存储在与工件相同的文件夹中。
Map ReqIF 类型和属性
导入需求后,您可以编辑 ReqIF 需求类型到 Requirements Toolbox 需求类型如何映射。根据您导入需求的方式,选择导入节点或顶级需求。在右侧窗格中的属性映射下,您可以编辑属性映射。您可以通过点击保存映射来保存当前映射。您可以通过点击加载映射来加载已保存的映射。有关详细信息,请参阅编辑导入需求的属性映射。
映射需求类型
要映射 ReqIF 需求类型:
打开需求编辑器。如果您将 ReqIF 需求作为引用需求导入,请选择导入节点。如果您将 ReqIF 需求作为需求导入,请选择顶级需求。
在右侧窗格中的属性映射下,点击映射对象类型。

在“地图对象类型”对话框中,导入的 (外部) 类型列出了 ReqIF 需求类型,而内部 (内置或自定义) 类型列出了可用的 Requirements Toolbox 需求类型。从列表中选择一个需求类型。有关需求类型的更多信息,请参阅需求类型。您还可以选择 <添加自定义子类型> 来添加作为内置类型的子类型的自定义需求类型。有关自定义需求类型的更多信息,请参阅使用 sl_customization 文件定义自定义需求和链接类型。

要添加自定义需求类型:
在“为需求添加子类型”对话框中,将要扩展的父类型名称设置为希望自定义需求类型继承的内置需求类型。
在新子类型名称旁边,输入新的自定义需求类型的名称。
在描述旁边,输入新的自定义需求类型的描述。
点击确定创建自定义需求类型。

点击确定来映射类型。一个对话框会列出已更新项的数量。
从导入的需求导航至原始需求
您可以通过使用需求编辑器,从导入的引用需求导航到第三方应用程序中的原始需求。选择一个需求,然后在右侧窗格中,在属性下,点击在文档中显示。
如果点击在文档中显示无法在第三方应用程序中打开原始需求,您必须按照以下步骤在第三方应用程序中指定额外信息以识别原始需求:
| 第三方应用程序 | 确定原始需求所需的信息 | 如何指定需求信息 |
|---|---|---|
IBM DOORS | 模块 ID |
有关如何识别模块 ID 的更多信息,请参阅 IBM 网站上的如何在 DOORS 数据库资源管理器中识别项的唯一 ID。 |
IBM DOORS Next |
|
|
| Polarion |
|
注意 如果您在从 Polarion 的需求导航到 MATLAB 或 Simulink 的项时遇到问题,请应用配置更改。打开 Polarion 安装文件夹中的
|
| 其他第三方应用程序 | 导航回调函数 | 要启用从使用其他第三方应用程序创建的 ReqIF 文件中导入的需求导航到原始需求:
|