主要内容

使用IBM Rational DOORS 9需求

如何从IBM®Rational®DOORS®9导入、链接和更新需求。在Microsoft®Windows®上支持使用DOORS 9。

IBM Rational DOORS的设置

中的说明配置与IBM Rational DOORS交互的需求管理接口配置与Microsoft Office和IBM DOORS交互的需求工具箱

DOORS工作流程概述

您可以将DOORS需求导入到Simulink®环境中,然后通过导入的引用建立从您的模型到DOORS需求的可追溯性。可追溯性是双向的。如果DOORS需求发生变化,您可以在维护可追溯性的同时更新requirements Toolbox™中的引用。另外:

  • 您可以建立从MATLAB®和Simulink到DOORS的可追溯性,而无需修改DOORS Formal或Link模块。

  • 无需离开Simulink编辑器,就可以在设计、测试和需求之间进行链接。

  • 您可以在Simulink中建立从低级需求到DOORS中高级需求的可追溯性。

  • 您可以使用“需求工具箱”中的度量来识别实现和验证中的差距。

  • 变更检测和跨域可追溯性可用于执行变更影响分析。

如果您有已经存在的Simulink构件,这些构件与之前版本的需求管理接口链接到DOORS,请更新您现有的链接。看到更新模型链接目的地部分将需求管理接口数据迁移到需求工具箱

导入DOORS模块

您可以使用过滤器从模块中导入DOORS需求模块或需求子集。有关更多信息,请参见从IBM Rational DOORS导入需求

要在导入的需求引用和DOORS之间导航:

  • 选择导入的需求引用并单击在文件中显示导航到门。

  • 选择MATLAB >选择项目在DOORS中导航到导入的需求引用。

如果DOORS模块在DOORS项之间有链接,您可以使用额外的命令将链接引入需求集。同样,如果DOORS模块有到Simulink模型的链接,使用链接同步将链接引入需求集。参见本节将链接信息从DOORS复制到Simulink容错燃油控制系统的管理需求(IBM Rational DOORS)

在您导入DOORS模块之前,请确保您已经添加了所有所需的需求属性。在原始导入之后,不能将其他属性导入到“需求工具箱”。

链接到你的模型

您可以将导入的需求链接到Simulink块,方法是将项目从requirements Browser拖到模型中的项目。通过单击窗口右下方的图标并选择需求瓷砖。

当您打开需求透视图并选择一个需求时,链接将显示在下面的属性检查器中链接.您可以:

  • 导航到当前模型之外的链接构件。

  • 通过指向该链接并单击红色叉来删除该链接。

  • 选中,检查和修改链路属性链接视图下拉。

您可以将导入的需求链接到实体,例如测试用例、MATLAB代码、数据字典和其他需求。有关更多信息,请参见从需求链接到测试用例而且使用IBM Rational DOORS 9需求

更新需求以反映DOORS的变化

如果DOORS中的源需求发生了变化,您可以在requirements Toolbox中更新导入的引用。

  • 选择与更新的DOORS模块相对应的顶级节点。

  • 单击更新按钮。

按照下面的步骤操作更新导入需求

如果在最初导入到Requirements Toolbox之后,您已经向DOORS模块添加了属性,那么新的属性不会被导入。如果您想从DOORS模块导入属性,请确保在导入到Requirements Toolbox中的新需求集之前添加它们。

从DOORS同步链接和导航

您可以将可追溯性数据带入DOORS,以便更容易地从原始需求导航到设计和测试。同步你的需求工具箱链接到DOORS:

  • 选择链接视图下拉。

  • 找到并右键单击有新链接的链接集。

  • 选择更新反向链接上下文菜单底部的快捷方式。

“需求工具箱”分析“链接集”中的传出链接,并检查来自支持反向链接插入,包括门。

  • 缺失的链接被添加到外部文档中。在DOORS中,链接显示为外向外部链接并对应于Simulink实体,例如Simulink test™中的块或测试用例。

  • 如果从Simulink到这个外部需求没有匹配的链接,则会检查链接文档的陈旧链接。

  • 通过确认提示,可以从DOORS模块中删除不匹配的链接。

  • 成功完成时,将显示一个简短的报告对话框更新反向链接行动:

后执行更新反向链接步骤,在DOORS模块中查看您的链接需求-您应该看到MATLAB或Simulink的链接。如果相同的需求被链接到多个元素,您可能会看到多个链接。点击DOORS中的链接进行导航:

看到管理外部需求文档中的导航反向链接有关管理来自外部文档的链接的一般信息。

嵌入式HTTP连接器

从外部应用程序到MATLAB/Simulink的导航依赖于MATLAB中内置的HTTP服务器。“需求工具箱”将无法在外部应用程序中插入链接,除非MATLAB的内置HTTP服务器在正确的端口号上处于活动状态。

如果您在执行时看到以下错误弹出更新反向链接动作,这表明HTTP服务器不在正确的状态:

使用connector.port命令行API检查HTTP服务器的状态,并使用rmi(“httpLink”)API来激活服务器connector.port命令返回0。

更新反向链接该特性要求HTTP服务器为端口31415激活。如果connector.port命令返回一个更高的数字,这表明端口号31415在MATLAB实例启动时被其他进程占用。你需要:

  • 保存您的工作并退出MATLAB的所有实例。

  • 只重新启动一个MATLAB实例。

  • 运行命令查看HTTP服务器状态connector.port命令。

  • 如果你得到0,重新运行rmi(“httpLink”)命令。

  • 重新使用connector.port命令-您现在应该看到31415端口激活。

  • 重新打开MBD工件并重试更新反向链接过程。

跟踪到DOORS模块基线

在DOORS中将MBD工件与需求链接起来之后,您可能已经为链接的模块创建了基线。默认情况下,存储在“需求工具箱”中的链接仍然会导航到被链接模块的当前版本。如果您希望将您的设计版本锁定到需求的基线版本,“需求工具箱”允许您为所链接的每个DOORS模块指定一个基线编号。您可以选择为当前MATLAB会话中的所有链接构件配置首选DOORS基线编号,也可以为指定的MBD构件指定不同的DOORS基线编号。

  • slreq.cmConfigureVersion是用于指定首选DOORS基线编号的命令行API。

  • 使用slreq.cmGetVersion命令检查给定DOORS模块的已配置DOORS基线编号。

  • 如果您稍后为链接的模块创建了下一个版本的基线,并且如果您希望导航先前存储的链接以定位后续的基线,则需要重新运行slreq.cmConfigureVersion命令指定更新后的基线数。

  • 每个工件值与相应的链接集一起存储,并将影响相同链接集文件的所有用户的导航。

  • 全局(会话范围)分配存储在用户首选项中。在相同的安装上,您的下一个MATLAB会话将记住先前配置的基线数字。如果您与其他用户共享您的工作,每个用户将需要重新输入相同的首选基线数字。如果需要,您可以在MATLAB启动脚本或Simulink项目启动脚本中包含所需的配置命令。

在DOORS中模块前缀更改后修复先前导入引用的链接

当DOORS中的需求发生变化时,执行更新将更新的DOORS内容引入先前导入的需求集的行动。该过程依赖于将DOORS对象id与先前导入项目的自定义id相匹配,以确定哪些现有引用需要更新,哪些DOORS对象是新的,并且需要在Requirements Toolbox™需求集中创建新的引用。同样,当从DOORS接收到的更新不包括需求集中存在的一些自定义id时,相应的项目被假定在DOORS中删除,并将从需求集中清除。这样会带来以下危险:如果DOORS用户在执行命令之前修改了DOORS中的模块前缀更新对于需求集,现有的自定义ID都不匹配,因为DOORS模块前缀是ID的一部分,而在需求工具箱端已知的所有ID都是基于旧的前缀。更新进程将删除所有现有的引用,然后创建带有自定义id的新引用,这些自定义id对应于DOORS中的更新前缀。如果之前导入的引用与Simulink端的设计构件有链接,则所有链接都将断开,因为最初链接的引用不再存在。例如,DOORS中原来的模块前缀是“KKK”,现在改为“QQQ”,那么执行之后,在需求浏览器中会看到基于QQQ的id更新

...但链接仍将指向基于kkk的项目作为目的地。你会看到橙色警告三角形的所有链接被破坏:

您可以通过以下步骤修复损坏的链接:

  1. 识别LinkSet数据中的原始DOORS id,

  2. 根据您对原始和当前模块前缀的了解,构建预期的更新DOORS id,

  3. 依赖于重建的id来为每个断链目标定位匹配的需求集条目,

  4. 更新每个断开的链接,以连接到需求集中更新的引用。

如果需求集文件的旧副本仍然可用,您可以从中收集SID->CustomID映射。但是如果您只有需求集的更新版本,并且链接已经被破坏,那么您可能能够从存储的链接标签(从链接。描述值)。

下面的脚本演示了在存储所有内容时如何完成该任务链接。描述标签以DOORS ID开始。在我们的例子中,标签看起来像“KKK123: DOORS对象文本或标题”,我们假设DOORS项目的旧ID为“KKK123”,现在的DOORS ID为“QQQ123”。

使用四个输入参数运行这个脚本:LinkSet名称,ReqSet名称,旧前缀,新前缀:

现在所有的链接都被解析了,标签也正确更新了:

相关的例子

更多关于

Baidu
map