メインコンテンツ

copy

クラス: slreq.Requirement
名前空間: slreq

要件のコピーと貼り付け

構文

tf = copy(req1,location,req2)

説明

tf = copy(req1,location,req2) は要件 req1 をコピーし、location で指定された場所に応じて要件 req2 の下、前、または後ろに貼り付けます。コピーと貼り付けが実行されると、1 を返します。

メモ

要件をコピーして同一の要件セット内にペーストした場合、コピーされた要件には、元と同じカスタム属性値が保持されます。要件を別の要件セットにペーストした場合は、コピーされた要件にカスタム属性値は保持されません。

入力引数

すべて展開する

コピーする要件。slreq.Requirement オブジェクトとして指定します。

貼り付ける場所。'under''before'、または 'after' として指定します。

要件。slreq.Requirement オブジェクトとして指定します。

出力引数

すべて展開する

貼り付け成功のステータス。logical データ型の 1 または 0 として返されます。

すべて展開する

この例では、要件をコピーして、別の要件の下、前、または後ろに貼り付けます。

クルーズ コントロール システムを表す crs_req_func_spec 要件ファイルを読み込み、変数に代入します。2 つの要件をインデックスで検索します。1 つ目の要件がコピーされ、2 つ目の要件の相対的な位置に貼り付けられます。

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

要件の下に貼り付け

1 つ目の要件 req1 をコピーして 2 つ目の要件 req2 の下に貼り付けます。1 つ目の要件は 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'

要件の前に貼り付け

1 つ目の要件 req1 をコピーして 2 つ目の要件 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'

要件の後ろに貼り付け

1 つ目の要件 req1 をコピーして 2 つ目の要件 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'

バージョン履歴

R2020b で導入