Main Content

要件インデックスの番号付けのカスタマイズ

個々の要件、参照要件、または正当化のインデックスを無効にしたり、インデックスを指定値に設定したりできます。インデックスの番号付けをカスタマイズするには、要件エディターを使用するか、MATLAB® コマンド ラインでオブジェクトのプロパティを設定します。

インデックスの番号付けの無効化

Requirements Toolbox™ の要件セットには要件の階層が含まれています。Requirements Toolbox は、要件が属する階層のレベルとそのレベル内での場所を識別するインデックス番号を各要件に割り当てます。

Index numbering for requirement 1.3 and its children is disabled.

階層内の個々の要件、参照要件、または正当化に対するインデックスの番号付けを無効にすることができます。番号付けを無効にすると、すべての子孫の要件に対するインデックスの番号付けも無効になります。ただし、要件、参照要件、および正当化は階層内の同じ場所に保持されます。

インデックスの番号付けを無効にするには、要件エディターで要件を右クリックして [インデックスの番号付けを無効にする] を選択します。

Index numbering for requirement 1.3 and its children is disabled.

インデックスの番号付けを再度有効にするには、要件を右クリックして [インデックスの番号付けを有効にする] を選択します。ただし、子孫の要件に対するインデックスの番号付けは無効なままになります。子孫の要件に対するインデックスの番号付けについては、それぞれ個別に再有効化する必要があります。

ヒント

要件インデックスの番号付けの再有効化は MATLAB コマンド ラインでも実行できます。詳細については、インデックスの番号付けのプログラムによるカスタマイズを参照してください。

Index numbering for requirement 1.3 is enabled but its children still has index numbering disabled.

インデックスを指定値に設定

要件、参照要件、または正当化のインデックスを指定値に設定するには、次のようにします。

  1. 要件エディターで、要件を右クリックして [インデックス番号を設定] を選択します。

  2. [インデックス番号] ダイアログ ボックスで、[既定の自動番号付けを使用] をクリアします。[番号付けを次から再開] フィールドに、目的の要件インデックスの値を入力します。整数値のみを入力できます。

  3. [OK] をクリックします。

要件インデックスを特定の値に設定すると、その要件の後にある要件と子孫の要件に対するインデックスの番号付けが変わります。

The index for requirement 1.3 is set to 1.4. Its children are now 1.4.1 and 1.4.2. The previous requirement 1.4 is now 1.5, and so on.

インデックス番号の設定を既定値に戻すには、要件を右クリックして [インデックス番号を設定] を選択します。[インデックス番号] ダイアログ ボックスで、[既定の自動番号付けを使用] を選択します。

メモ

要件を階層の別のレベルにインデックス値を指定して移動することはできません。代わりに、要件エディターのツールストリップにある [要件の昇格] または [要件の降格] を使用します。参照要件を昇格または降格することはできません。

インデックスの番号付けのプログラムによるカスタマイズ

slreq.Requirementslreq.Reference、および slreq.Justification オブジェクトに対するインデックスの番号付けを MATLAB コマンド ラインでカスタマイズできます。オブジェクトのハンドルを取得するには以下を使用します。

  • slreq.find で、読み込まれている Requirements Toolbox オブジェクトを検索

  • slreq.ReqSetfind メソッドで、要件セット内を検索

  • slreq.getCurrentObject で、要件エディターで選択されているオブジェクトのハンドルを取得

インデックスの番号付けのプログラムによる無効化

インデックスの番号付けをプログラムで無効にするには、要件オブジェクトの IndexEnabled プロパティを false に設定します。

myReq = slreq.find(Type="Requirement",Summary="My Requirement 1");
myReq.IndexEnabled = false;
インデックスの番号付けを無効にすると、すべての子孫の要件に対するインデックスの番号付けも無効になります。

インデックスの番号付けをプログラムで再度有効にするには、要件オブジェクトの IndexEnable プロパティを true に設定します。

myReq.IndexEnabled = true;
子孫の要件に対するインデックスの番号付けは無効なままになります。子孫の要件に対するインデックスの番号付けについては、それぞれ個別に再有効化する必要があります。

インデックス値のプログラムによる指定

要件のインデックス値をプログラムで指定するには、要件オブジェクトの IndexNumber プロパティを整数の数値に設定します。

myReq = slreq.find(Type="Requirement",Summary="My Requirement 1");
myReq.IndexNumber = 101;

メモ

要件を階層の別のレベルにインデックス値を指定して移動することはできません。代わりに以下を使用します。

  • slreq.Requirement オブジェクトの場合は move

  • slreq.Justification オブジェクトの場合は move

参照要件を移動することはできません。

要件インデックスを特定の値に設定すると、その要件の後にある要件と子孫の要件に対するインデックスの番号付けが変わります。

要件インデックスを既定値にリセットするには、IndexNumber を空の配列に設定します。

myReq.IndexNumber = [];

複数の要件に対するインデックスの番号付けのプログラムによるリセット

プログラムを使用して、複数の要件に対するインデックスの番号付けを再度有効にしたり、それらの要件インデックスを既定値にリセットしたりできます。

たとえば、次のスクリプトは以下を実行します。

  • myReqSet という名前の読み込まれている要件セットを検索

  • 要件セット内の slreq.Reference オブジェクトを検索

  • 要件セット内のすべての参照要件に対するインデックスの番号付けを有効化

  • 要件セット内のすべての参照要件に対するインデックス値を既定値にリセット

rs = slreq.find(Type="ReqSet",Name="myReqSet");
refs = find(rs,Type="Reference");
for i = 1:numel(refs)
    refs(i).IndexEnabled = true;
    refs(i).IndexNumber = [];
end
あるいは、次の関数を使用すると、特定の要件に含まれるすべての子孫の要件に対するインデックスの番号付けがリセットされます。この関数は、インデックスの番号付けを有効にし、インデックスを既定の番号付けにリセットします。slreq.Requirementslreq.Reference、および slreq.Justification オブジェクトを入力として受け入れます。
function resetDescendantIndex(ref)
    childRefs = children(ref);
    for i = 1:numel(childRefs)
        childRefs(i).IndexEnabled = true;
        childRefs(i).IndexNumber = [];
        resetDescendantIndex(childRefs(i));
    end
end

参考

| | |

関連するトピック