Main Content

Requirements Toolbox API を使用した要件セットの階層の作成

この例では、Requirements Toolbox™ API を使用して、カスタム階層とカスタム要件タイプをもつ要件セットを作成する方法を説明します。要件セットは .slreqx ファイルとして作成します。

要件セットの階層

この例で作成する要件セットには、実装と検証に対する 2 つの最上位の親要件と親正当化が含まれています。要件セットは次の階層構造に従います。

要件セットの作成

要件セットを作成するフォルダーに移動します。関数 slreq.new() を使用して、ハンドル myReqSet で要件セット my_New_Req_Set を作成します。

myReqSet = slreq.new('my_New_Req_Set');

要件セットへのシステム要件の追加

システム要件の最上位のコンテナー要件を要件セットに追加します。

myParentReq1 = add(myReqSet,'Id','R1', ...
    'Summary','System Requirements', ...
    'Type', 'Container');

R1 の子要件を作成します。

childReqR11 = add(myParentReq1,'Id','R1.1');
childReqR12 = add(myParentReq1,'Id','R1.2');

R1.1 の子要件を作成します。

childReqR111 = add(childReqR11,'Id','R1.1.1');
childReqR112 = add(childReqR11,'Id','R1.1.2');
childReqR113 = add(childReqR11,'Id','R1.1.3');

R1.1.3 の子要件を作成します。

childReqR1131 = add(childReqR113,'Id','R1.1.3.1');

要件セットへの安全要件の追加

最上位の安全要件を要件セットに追加します。安全要件は情報要件であり、実装や検証の状態の概要の対象となりません。この例では、sl_customization.m ファイルを使用して、情報要件タイプを拡張するカスタム要件タイプを定義します。

カスタマイズを更新して、要件タイプのリストに安全要件タイプを追加します。

slreq.refreshCustomizations;

親安全要件を作成します。

myParentReq2 = add(myReqSet,'Id','R2', ...
    'Summary','Safety Requirements', ...
    'Type','Safety');

R2 の子要件を作成します。

childReqR21 = add(myParentReq2,'Id','R2.1');
childReqR22 = add(myParentReq2,'Id','R2.2');

R2.2 の子要件を作成します。

childReqR221 = add(childReqR22,'Id','R2.2.1');
childReqR222 = add(childReqR22,'Id','R2.2.2');
childReqR223 = add(childReqR22,'Id','R2.2.3');

要件セットへの正当化の追加

親正当化を作成します。

myParentJustification = addJustification(myReqSet,'Id','J', ...
    'Summary','Requirement Justifications');

親正当化 J に子正当化を追加して、実装の要件を正当化します。

childJust1 = add(myParentJustification,'Id','J1', ...
    'Summary','Implementation Justifications');

親正当化 J に子正当化を追加して、検証の要件を正当化します。

childJust2 = add(myParentJustification,'Id','J2', ...
    'Summary','Verification Justifications');

要件セットの保存

save(myReqSet);

クリーンアップ

開いているすべての要件セットを閉じます。

slreq.clear;