使用 API 从 IBM DOORS导入需求
此示例向您展示如何使用 Requirements Toolbox™ API 从 IBM® DOORS® 模块导入需求。
配置 IBM DOORS
要与 IBM DOORS接口,请配置 MATLAB®。在 MATLAB 命令提示符下,输入:
rmi setup doors
有关更多信息,请参阅 配置 IBM DOORS 会话。
打开 DOORS 工程
在此示例中,您将使用 IBM DOORS中的 DemoRMI.dpa
工程,其中包含描述容错控制系统的需求模块。
在 IBM DOORS中,创建一个新工程:
选择文件 > 新建> 工程。
在新建工程对话框中,在名称字段中输入
ExampleProject
。在描述字段中,输入
Example MATLAB/Simulink project
。选择使用工程存档。
点击浏览并选择
DemoRMI.dpa
。
导入需求模块
在此示例中,您将从 FuelSys Requirements Specification
模块导入所有需求。
在 IBM DOORS中,打开 FuelSys Requirements Specification
模块并找到模块 ID。有关更多信息,请参阅 IBM 网站上的如何在 DOORS 数据库资源管理器中识别项目的唯一 ID。
使用slreq.import
导入模块。输入需求集文件的名称,指定需求为引用需求且应使用富文本格式,将需求集命名为fuelSysReqSpec
,并输入模块 ID。函数返回导入的引用需求的数量,需求集文件路径,以及需求集对象。
[refCount1,reqSetFilePath1,myReqSet1] = slreq.import("linktype_rmi_doors", ... AsReference=true,RichText=true,ReqSet="fuelSysReqSpec",DocID="000001c1");
Importing from 000001c1 of type linktype_rmi_doors .. .. done.
从模块导入需求子集
您可以通过应用过滤器从 FuelSys Design Description
模块导入需求子集。在 IBM DOORS中打开 FuelSys Design Description
模块。
过滤需求模块
对模块应用过滤器。有关将过滤器应用于需求模块的更多信息,请参阅 IBM 网站上的定义过滤器。在过滤对话框中:
将属性设置为
Absolute Number
。将条件设置为
is less than or equal to
。在值旁边输入
10
。
该模块仅显示符合过滤器的需求。
当您将过滤器应用到 DOORS 模块并将模块导入到 Requirements Toolbox 时,该流程只会导入与过滤器匹配的需求。当您使用 API 导入需求时,Requirements Toolbox 不会存储过滤器以供将来使用。
导入过滤需求模块
要导入过滤的需求模块,请使用 slreq.import
。输入需求集文件的名称,指定需求为引用需求且应使用富文本格式,将需求集命名为fuelSysDesignSpec
,但不要输入模块 ID。如果不指定模块 ID,slreq.import
函数将导入活动需求模块。
该模块包含一个名为 Created Thru
的需求属性。将属性与需求一起作为自定义属性导入。函数返回导入的引用需求的数量,需求集文件路径,以及需求集对象。
[refCount2,reqSetFilePath2,myReqSet2] = slreq.import("linktype_rmi_doors",ReqSet="fuelSysDesignSpec",attributes={'Created Thru'});
Importing from FuelSys Requirements Specification of type linktype_rmi_doors .. .. done.
Requirements Toolbox 仅从模块导入前 10 个需求,并将 Created Thru
属性映射到需求集集中的新自定义属性。
如果您有自定义属性想要导入为内置需求属性Rationale 或 Keywords,则可以使用:
slreq.import("linktype_rmi_doors",keywords="Keyword DOORS Attribute",rationale="Rationale DOORS Attribute")
有关自定义属性的更多信息,请参阅 向需求添加自定义属性。
更新已过滤需求集
导入需求集后,您可以更新它。有关更多信息,请参阅 更新导入的需求。
在 DOORS 中,更改 FuelSys Design Description
模块中应用的过滤器。
在过滤对话框中:
将属性设置为
Absolute Number
。将条件设置为
is less than or equal to
。在值旁边输入
15
。
从需求集myReqSet2
中找到导入节点。更新需求集。
importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode);
Importing from FuelSys Requirements Specification of type linktype_rmi_doors .. .. done.
Requirements Toolbox 修改需求集以包含前 15 个需求。
在您的 DOORS 需求模块中,再次更新过滤器。对于值,输入 5
。从需求集myReqSet2
中找到导入节点。更新需求集。
importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode);
Importing from FuelSys Requirements Specification of type linktype_rmi_doors .. .. done.
Requirements Toolbox 截断需求集以仅包含前 5 个需求。
另请参阅
updateFromDocument
| slreq.import