Main Content

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

将需求和链接信息导出到 Excel

此示例展示如何使用 Requirements Toolbox™以编程方式导出需求和链接信息。该示例构建了一个您可以在需求集上使用的自定义函数,并将信息保存为 Excel® 电子表格。

检查导出函数

打开附加的 MATLAB®程序文件reqXlsExport.m,查看函数代码。该函数使用编程命令将信息导出到 Excel 文件。

该函数按顺序接受三个输入参量:

  1. 您想要导出的需求集,指定为字符向量。该参量必须包含 .slreqx 扩展。

  2. 要保存需求的 Excel 文件的名称,指定为字符向量。该名称必须包含 .xls 扩展名。

  3. 您想要导出的属性,指定为字符向量元胞数组。您还可以包括与需求相关的链接的属性。指定至少一个需求属性。

reqXlsExport 可以检索此内置需求信息,它对应于相应的 slreq.Requirement 类属性:

  • Id

  • Index

  • Summary

  • Description

  • Rationale

  • Keywords

  • CreatedOn

  • Dirty

  • ModifiedOn

  • ModifiedBy

  • SID

您指定属性元胞数组参量中的一个或多个属性。

DescriptionRationale属性通常返回包含格式化命令的文本。导出此文本会导致 Excel 中的文本变得模糊。为了防止这种情况,reqXlsExport 代码使用 getDescriptionAsTextgetRationaleAsText 方法以纯文本形式返回描述和理由。

reqXlsExport 还可以检索需求的相关链接信息。函数代码使用slreq.getIncomingLinkTypeLabelslreq.getOutgoingLinkTypeLabel建立表中每个链接方向的标头,并使用getOutgoingTypeLabelgetIncomingTypeLabelgetSourceLabelgetDestinationLabel方法判断选项卡是否符合需求。要检索链接信息,您必须在执行该函数之前加载与需求相关的链接。

您可以使用以下语法导出链接信息:

  • '<links-in>':导出与需求相关的传入链接标签并按类型分组。

  • '<links-out>':导出与需求相关的传入链接标签并按类型分组。

您还可以通过在 links-outlinks-in 后输入冒号和链接类型来指定与需求相关的链接类型。例如,要用验证类型的相关出向链接填充表,请在元胞数组中包含 '<links-out:verify>'

您还可以从原型和自定义链接类型指定自定义属性。有关定义自定义属性和链接类型的更多信息,请参阅 向需求添加自定义属性定义自定义需求和链接类型和属性

在检索需求和链接信息后,该函数将信息合并为一个数组,并使用 writecell 函数将数组导出到 Excel。

从工程导出需求

在此示例中,您将导出 MATLAB 工程中的需求信息。打开附加的示例工程 CruiseRequirementsSafetyExample

addpath(pwd)
openProject("CruiseRequirementsSafetyExample");

接下来,打开要导出的需求集以及包含相关信息的文件,例如链接集、模型和测试。

sysReqSeqSet = slreq.open("crs_req.slreqx");
funcReqSet = slreq.open("crs_req_func_spec.slreqx");
sltest.testmanager.load("crs_controller_tests.mldatx");
sltest.testmanager.load("DriverSwRequest_Tests.mldatx");
open_system("crs_controller");
open_system("crs_plant");
open("crs_controllerdic.sldd");

加载需求集和支持文件后,使用 reqXlsExport。例如,要将系统需求与链接详细信息一起导出,请输入以下代码:

outFile = 'sys_req_export.xls';
columnConfig = {'Index','Id','Type','Summary',...
    'Description','<links-out:Derive>'};
reqXlsExport(sysReqSeqSet, outFile, columnConfig)

Excel 电子表格的配置与需求编辑器中的链接详细信息窗格类似。

您可以指定任意数量的想要检索的属性。例如,要导出功能需求集crs_req_func_spec.slreqx 的创建和修改信息,请输入:

outFile = 'full_func_req_export.xls';
columnConfig = {'Index','Id','Type','Summary','Description','Rationale',...
    '<links-in:Implement>','<links-in:Verify>','Keywords',...
    'CreatedOn','CreatedBy','ModifiedOn','ModifiedBy','SID'};
reqXlsExport(funcReqSet, outFile, columnConfig)

清理

清除打开的需求集和链接而不保存更改,并关闭打开的模型和测试而不保存更改。

slreq.clear;
bdclose all;

另请参阅

函数

相关主题