Main Content

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

copy

类: slreq.Requirement
命名空间: slreq

复制和粘贴需求

自 R2020b 起

语法

tf = copy(req1,location,req2)

说明

tf = copy(req1,location,req2) 复制需求 req1 并将其粘贴到需求 req2 下方、之前或之后,具体取决于 location 指定的位置。如果执行了复制和粘贴,该函数将返回 1

注意

如果您复制一个需求并将其粘贴到同一个需求集内,则复制的需求将保留与原始需求相同的自定义属性值。如果将需求粘贴到不同的需求集,则复制的需求不会保留自定义属性值。

输入参数

全部展开

复制需求,指定为 slreq.Requirement 对象。

粘贴位置,指定为 'under''before''after'

需求,指定为 slreq.Requirement 对象。

输出参量

全部展开

粘贴成功状态,以数据类型为 logical10 返回。

示例

全部展开

此示例显示如何复制一个需求并将其粘贴到另一个需求之下、之前或之后。

加载描述巡航控制系统的crs_req_func_spec需求文件,并将其分配给变量。通过索引查找两个需求。第一个需求将相对于第二个需求进行复制和粘贴。

rs = slreq.load('crs_req_func_spec');
req1 = find(rs,'Type','Requirement','Index','1');
req2 = find(rs,'Type','Requirement','Index','2');

粘贴至需求下方

将第一个需求 req1 复制并粘贴到第二个需求 req2 下。第一个需求成为 req2 的最后一个子需求,您可以通过查找 req2 的子需求并比较最后一个子需求和 req1 的摘要来验证这一点。

tf = copy(req1,'under',req2);
childReqs = children(req2);
lastChild = childReqs(numel(childReqs));
lastChild.Summary
ans = 
'Driver Switch Request Handling'
req1.Summary
ans = 
'Driver Switch Request Handling'

粘贴在需求之前

将第一个需求 req1 复制并粘贴到第二个需求 req2 之前。通过检查索引和摘要确认该需求已粘贴在req2之前。req2 的旧索引为 2。粘贴的需求的索引应该是2,而req2的索引应该是3

tf = copy(req1,'before',req2);
pastedReq = find(rs,'Type','Requirement','Index','2');
pastedReq.Summary
ans = 
'Driver Switch Request Handling'
req2.Index
ans = 
'3'

粘贴至需求之后

将第一个需求 req1 复制并粘贴到第二个需求 req2 之后。通过检查索引确认该需求已粘贴在req2之后。req2 的索引是 3,不应改变,这意味着粘贴的需求的索引应该是 4

tf = copy(req1,'after',req2);
pastedReq2 = find(rs,'Type','Requirement','Index','4');
pastedReq2.Summary
ans = 
'Driver Switch Request Handling'
req2.Index
ans = 
'3'

清理

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

slreq.clear;
bdclose all;

版本历史记录

在 R2020b 中推出