创建和存储链接
您可以使用链接和链接集来跟踪需求到实现和验证它们的设计和测试项。每个链接和链接集都有一个相应的API对象。您可以使用要求编辑器、需求透视、可跟踪矩阵或MATLAB®命令行创建需求之间的链接,MATLAB代码,Simulink®块,仿真软件测试™测试用例,以及其他项目。您还可以查看和编辑链接。
链接对象、源和目的地
每个链接都有一个对应的slreq。链接
对象。您可以通过使用链接属性、自定义属性和原型来提供额外的跟踪信息。有关更多信息,请参见:
链接从源项目指向目标项目,目标项目分别包含在源工件和目标工件中。例如,考虑一个从Simulink块指向需求的链接。Simulink模型是源工件,块是源项。需求集是目标工件,它包含需求,即目标项。
如果一个被链接的项目是一个链接的源,那么它就有一个传出链接。相反,如果一个项目是一个链接的目的地,那么它就有一个传入链接。例如,如果一个链接从一个Simulink块指向一个需求,那么Simulink块有一个输出链接,而需求有一个传入链接。
链接存储
链路集包含链路。加载的每个链接集都有一个对应的链接集slreq。链接Set
对象。当您创建链接时,Requirements Toolbox™将创建一个链接集,并将其作为SLMX文件保存在与源工件相同的文件夹中。链接集名称是源工件基名称和源工件扩展名,用波浪号分隔。例如,需求工具箱存储来自MATLAB函数的输出链接myFunction.m
在一个名为myFunction ~ m.slmx
.
请注意
包含来自Simulink模型的链接的链接集组合了模型基名称和~ mdl
为了防止链接解析问题,如果模型文件扩展名之间的变化. mdl
而且.slx
.例如,“需求工具箱”存储来自vdp.slx
在一个名为vdp ~ mdl.slmx
.
保存链接
当您从构件(如Simulink模型或仿真软件测试文件,您可以通过保存工件来保存对链接集的更改。
要在创建或编辑到MATLAB代码行或纯文本外部代码行的链接时,将更改保存到链接集,请使用以下方法之一:
在MATLAB编辑器中,右键单击并选择需求>保存链接.
在要求编辑器,点击显示链接.选择链接集,然后单击保存.
在MATLAB命令行中,使用
保存
.
可链接的物品
您可以在这些需求项、模型实体、测试工件和代码之间创建链接:
需求的工具箱对象:
仿真软件的实体:
块
子系统
Simulink数据字典条目
Stateflow®对象:
州
图表和子图表
转换
System Composer™体系结构实体:
组件
港口
的观点
System Composer序列图实体:
生命线
盖茨
消息
片段
仿真软件测试对象:
测试文件
测试套件
测试用例
迭代
评估
MATLAB代码行:
MATLAB代码文件(
.m
扩展)。有关更多信息,请参见需求可追溯性的MATLAB代码.MATLAB函数块。有关更多信息,请参见利用MATLAB函数块集成基本算法(模型).
基于matlab的Simulink测试。有关更多信息,请参见使用基于matlab的Simulink测试模型(仿真软件测试).
纯文本外部代码文件(如C和H文件)中的代码行。您还可以链接到HTML文件,但不能链接到XML或JSON。
请注意
要创建到纯文本外部代码行的链接,必须在MATLAB编辑器中打开代码。有关更多信息,请参见链接需求到MATLAB或纯文本代码.
创建链接
您可以使用要求编辑器、需求透视、可跟踪矩阵或MATLAB命令行创建链接。
控件创建从设计或测试项到需求的链接要求编辑器:
选择以下项目之一:
Simulink或statflow模型元素
System Composer体系结构元素
仿真软件测试测试用例
代码范围在MATLAB编辑器
Simulink数据字典条目
提示
要链接到MATLAB函数并启用对整个函数体的更改跟踪,请创建到包含
函数
关键字。在要求编辑器,选择需求。
点击添加链接,然后选择包含要链接到的选项的菜单选项。
要创建一个需求到需求的链接:
选择您想要链接作为源项目的需求。
点击添加链接>选择与需求链接.
选择您想要链接的需求作为目标项。
通过选择创建链接添加链接>从创建链接.
提示
您可以使用需求透视图在不离开Simulink编辑器的情况下创建链接。有关更多信息,请参见链接块和要求.
您可以使用追溯矩阵在单个窗口中创建多个工件之间的链接。有关更多信息,请参见跟踪需求链接到可跟踪矩阵.
以编程方式创建链接
在MATLAB命令行创建链接:
获取链接源的对象或句柄。例如:
open_system (“vdp”SRC = get_param(“vdp /μ”,“处理”);
获取链接目的地的对象或句柄。例如:
dest = slreq.find(类型=“要求”摘要=“我的要求”);
使用
slreq.createLink
函数创建链接。newLink = slreq.createLink(src,dest);
若要以编程方式创建到MATLAB代码或纯文本外部代码的链接,请使用slreq。TextRange
对象。有关更多信息,请参见需求可追溯性的MATLAB代码.
链接类型
每个链接都有一个类型,用于描述源项和目标项之间的关系。的类型的属性值。slreq。链接
对象描述链接类型。
分配的链路类型
每种链接类型都有一个预期的用例。例如,实现
链接类型表示需求和实现需求的设计项之间的关系。当你在两个项目之间创建链接时,需求的工具箱设置链接类型,并根据它们所属的工件类型将项目指定为源或目标。例如,如果您在需求和Simulink模型元素之间创建了一个链接,需求的工具箱假设模型元素实现了需求,将链接类型设置为实现
,并将模型元素指定为源,将需求指定为目标。
如果在两个项目之间创建的链接没有假定的链接类型,则需求的工具箱设置链路类型为联系
.例如,需求到需求的链接和明文外部代码的链接默认为联系
.
编辑链接类型
创建链接后,可以在要求编辑器,需求透视图,或在MATLAB命令行。在要求编辑器,点击显示链接.选择一个链接,并在右侧窗格中属性,选择所需的链路类型类型列表。
内置链路类型
需求的工具箱提供6种内置链接类型。
前进方向表示源与目的的关系。类似地,向后方向表示目标与源的关系。
类型 | 描述 | Source-to-Destination例子 | 前进的方向 | 向后方向 |
---|---|---|---|---|
联系 |
|
需求对需求 | 第一个要求是有关第二个要求。 |
第二个要求是有关第一个要求。 |
实现 |
有关更多信息,请参见评审需求实施状态. |
到需求的Simulink模型元素 | Simulink模型元素实现了的要求。 |
要求是所实现的Simulink模型元素。 |
验证 |
有关更多信息,请参见评审需求验证状态. |
Simulink测试用例到需求 | Simulink测试用例验证的要求。 |
要求是验证了Simulink测试用例。 |
推导出 |
指定派生目标项的源项 |
进口引用的要求要求 | 导入的引用需求派生的要求。 |
要求是来自导入的引用需求。 |
完善 |
指定哪个源项为目标项指定的功能添加详细信息 |
从低级需求到高级需求 | 低层次需求改进高层次的需求。 |
高层次的需求是精制而成低级需求。 |
确认 |
有关更多信息,请参见在验证状态中包括外部来源的结果. |
外部测试结果要求 | 要求是证实了外部测试结果。 |
外部测试结果证实了的要求。 |
的实现
而且验证
链接类型描述了需求到模型和需求到测试的关系。这些环节影响实施状态和验证状态。有关更多信息,请参见评审需求实施状态而且评审需求验证状态.
链接类型还会影响Traceability Diagram窗口中的影响方向。有关更多信息,请参见用可追溯性图表可视化链接.
自定义链路类型
除了内置类型外,还可以定义自定义链接类型。自定义链接类型必须使用内置类型之一作为基本行为。自定义链接类型继承了内置类型的一些功能,包括链接类型对实现和验证状态的贡献。有关更多信息,请参见选择一个内置类型作为基本行为.
您可以使用构造型或使用sl_customization
文件。有关更多信息,请参见定义自定义需求和链接类型和属性.
查看和编辑链接
要查看加载的链接集及其包含的链接,请使用要求编辑器,点击查看链接.然后,您可以选择一个链接并查看或编辑其属性或自定义属性。有关更多信息,请参见设置链接属性、自定义属性或原型属性.
中的特定需求的链接要求编辑器当您选择需求时。在右边窗格的下面链接,输出链接图标指示传出链接和传入链接图标表示进入的链接。
使用需求透视图查看Simulink编辑器中的链接:
控件,打开Simulink模型中的需求透视图显示透视图单击模型画布右下角的图标,然后选择需求.
在需求Tab,确保布局>要求浏览器被选中。
在需求窗格,在视图菜单中,选择
链接
.
为了可视化链接,可以创建一个跟踪矩阵或跟踪图。有关更多信息,请参见跟踪需求链接到可跟踪矩阵而且用可追溯性图表可视化链接.
删除链路和链路集
中删除链接要求编辑器,点击显示链接.选择一个链接,并在链接部分中,点击.
删除一个链路集。
找到包含链接集的SLMX文件。默认情况下,链接集文件位于与源工件相同的文件夹中。
在删除链接集(包括需求集)之前关闭被链接的工件,仿真软件测试文件、MATLAB代码、Simulink数据字典以及Simulink、statflow或System Composer模型。
在MATLAB命令行中,输入以下命令清除已加载的需求和链接:
slreq.clear
删除SLMX文件。
请注意
如果要删除与Simulink模型关联的链接集文件,请确保链接存储在外部。有关如何在外部存储链接的详细信息,请参见链路存储.