Main Content

トレーサビリティ マトリクスで要件を完全にトレース可能にする

この例では、モデルベース デザインの項目までトレースできない要件を見つける方法と、トレーサビリティ マトリクスを使用してリンクを作成することによってそれらの要件をトレースする方法を説明します。

トレーサビリティ マトリクスには、Requirements Toolbox™ オブジェクト、Simulink® モデル要素、Simulink Test™ オブジェクト、MATLAB® コード行などのモデルベース デザイン アーティファクト内の項目間のリンクが表示されます。フィルターを適用して、確認する項目にのみフォーカスすることができます。マトリクスを使用して、リンクされていない項目を特定し、設計に実装できます。

トレーサビリティ マトリクスの使用方法の詳細については、トレーサビリティ マトリクスを使用した要件リンクの追跡を参照してください。

クルーズ コントロール モデル プロジェクトの要件定義を開きます。要件セット crs_req_func_spec を読み込みます。

slreqCCProjectStart;
slreq.load('crs_req_func_spec');

トレーサビリティ マトリクスの生成

[トレーサビリティ マトリクス] ウィンドウを開きます。

slreq.generateTraceabilityMatrix;

[トレーサビリティ マトリクス] ウィンドウで、[追加] をクリックします。[アーティファクトの選択] ダイアログで、[左]crs_req_func_spec.slreqx に、[上]crs_controller.slx に設定します。次に、[マトリクスの生成] をクリックします。指定した要件セットが左で、Simulink モデルが上になったトレーサビリティ マトリクスが生成されます。

リンクされていない要件の特定

リンクされていない項目を特定するには、[欠損しているリンクの強調表示] をクリックします。リンクされていない要件は左の列で黄色で強調表示され、リンクされていないモデル要素は上の行で強調表示されます。

System InterfaceInputs の親要件までスクロールします。[スコープ] をクリックして、マトリクス ビューをその階層にフォーカスします。Inputs の子要件には、Simulink モデルのブロックへのリンクがありません。ただし、作成したトレーサビリティ マトリクスに示されているのは、crs_req_func_spec 要件セットと crs_controller モデルの間のリンクのみです。crs_req_func_spec 要件セットには、この他にも、プロジェクト内の他のアーティファクトへのリンクが含まれている可能性があります。

複数のアーティファクトをもつトレーサビリティ マトリクスの生成

マルチアーティファクト マトリクスを作成することで、複数のアーティファクト間のリンクを同時に表示できます。[マトリクスの構成] をクリックして、マトリクスにさらにアーティファクトを追加します。[マトリクスの構成] ダイアログ ボックスの [使用可能なアーティファクト] ペインで、crs_req_func_spec.slreqx を選択します。選択したアーティファクトとの間のリンクを含むアーティファクトが [使用可能なアーティファクト] ペインで で強調表示されます。この例では、crs_req_func_spec.slreqx 自体を除き、crs_req_func_spec 要件セットとの間のリンクが各アーティファクトに含まれています。強調表示されているすべてのアーティファクトを上部のアーティファクト リストにドラッグします。マトリクスのプレビュー内の展開アイコン () が、これらのアーティファクトの項目間にリンクがあることを示しています。

アーティファクトをトレーサビリティ マトリクスに追加するには、[マトリクスの更新] をクリックします。一番上の行の左端の列から、各アーティファクトを選択して [すべて折りたたむ] を選択します。マトリクス内の青いラインは、1 つのアーティファクトが終了し、別のアーティファクトが始まる場所を示しています。

Inputs の親要件を選択して [スコープ] をクリックすると、Inputs の子要件にフォーカスします。[欠損しているリンクの強調表示] をクリックします。これで、Inputs の下の子要件の一部が crs_plant モデルの項目にリンクしたことがわかります。

リンクされていない Inputs のモデル要素へのリンク

crs_controller モデルと crs_plant モデルには、Inputs の子要件に関連するモデル要素が含まれていますが、Inputs の子要件がすべてリンクされているわけではありません。完全なトレーサビリティのために、Inputs の子要件をすべてモデル要素にリンクします。まず、[マトリクスの構成] をクリックし、左の crs_req_func_spec、および上の crs_controllercrs_plant を除くすべてのアーティファクトを右クリックして [アーティファクトの削除] を選択し、トレーサビリティ マトリクスから削除します。[マトリクスの更新] をクリックします。更新されたマトリクスで、Inputs の親要件を選択して [スコープ] をクリックすると、Inputs の子要件にフォーカスします。

子要件の一部は crs_plant モデルの項目にリンクされています。リンクされていない残りの Inputs の子要件を crs_controller のモデル要素にリンクします。crs_controller に対応するセルを選択し、[スコープ] をクリックします。

リンクされていない要件にフォーカスするには、[欠損リンク] フィルターを適用します。[フィルター パネル][左][リンク] にある [欠損リンク] をクリックします。このフィルターによって、リンクされた項目のある行が除外されます。これは、[欠損しているリンクの強調表示] をクリックすることで確認できます。

CruiseControlModeDriverSwRequest および TargetSpeedThrottle の各サブシステムを選択し、[すべて折りたたむ] をクリックして折りたたみます。Enable Switch 要件と enbl ブロックに対応するセルを選択して [作成] をクリックすることによって、これらの 2 つの項目間のリンクを作成します。[リンクの作成] ダイアログ ボックスで、[タイプ]Implements に設定してから [作成] をクリックし、2 つの項目間のリンクを作成します。

Ctrl を押しながらリンクを作成するセルを選択して [リンクの作成] をクリックすると、複数のリンクを一度に作成できます。以下に示す残りの要件と対応するモデル要素の間にリンクを作成します。

  • Cancel Switch 要件と cncl ブロック

  • Set Switch 要件と set ブロック

  • Resume Switch 要件と resume ブロック

  • Increment Switch 要件と inc ブロック

  • Decrement Switch 要件と dec ブロック

  • Key Position 要件と key ブロック

[リンクの作成] ダイアログで、すべてのリンクの [タイプ]Implements に設定します。

上部のアーティファクト リストの [フィルターのクリア] をクリックして、[欠損リンク] フィルターをクリアします。[すべて表示] をクリックして、すべてのアーティファクトを表示します。Inputs の子要件はすべて設計項目にリンクしているため、強調表示されなくなりました。crs_controllercrs_plant の下の階層を折りたたみます。展開アイコン () は、Inputs のすべての子要件がリンクされていることを示しています。

項目をアーティファクトのコンテキストで開く

行と列の項目に対応するセルをダブルクリックすると、項目をアーティファクトのコンテキストで開くことができます。たとえば、Simulink ブロックに対応するセルをダブルクリックすると、そのブロックが含まれる Simulink モデルおよびサブシステムが開きます。

"要件エディター"Enable Switch 要件をダブルクリックして開きます。要件の [説明] に次のテキストを追加します。"The Cruise button enables the cruise control as long as all other conditions are met." 次に [保存] をクリックします。

"要件エディター" では、この要件に関連付けられているリンクに変更の問題があるため、要件の概要および関連するリンク ([リンク] の下の [詳細] ペインに一覧表示) が赤色で強調表示されています。

変更の問題の表示とクリア

他の項目にリンクされた要件に変更を加えると、要件が赤色で強調表示され、リンクに関連付けられた変更の問題があることが示されます。Enable Switch 要件の説明を変更したため、リンクに変更の問題が発生しています。

トレーサビリティ マトリクスに戻ります。[更新] をクリックして、マトリクスを更新します。Inputs の親要件を選択して [スコープ] をクリックすると、Inputs の子要件にフォーカスします。[欠損しているリンクの強調表示][変更されたリンクを強調表示] をクリックしてから、[欠損しているリンクの強調表示][変更されたリンクのみを表示] をクリックします。変更の問題が関連付けられているリンクが表示され、要件、リンクされた項目、およびリンクが赤色で強調表示されます。

説明のみを変更したため、その変更は要件の実装や検証には影響しませんでした。リンクを含むセルを選択し、[変更の問題をクリア] をクリックして、変更の問題をクリアします。[コメント] に「Added additional information to the requirement description.」と入力してから [すべてクリア] をクリックします。

コメントは、"要件エディター"[詳細] ペインで、[コメント] の下にあるリンクを選択すると表示できます。

トレーサビリティ マトリクスからのレポートの生成

[更新] をクリックするとマトリクスが更新され、クリアされた変更の問題が反映されます。Inputs の親要件を選択し、[スコープ] をクリックします。展開アイコン () を含むセルを選択し、[すべて展開] をクリックして、すべてのリンクを展開します。リンクを含まない階層をすべて折りたたむには、[すべて折りたたむ] をクリックします。このビューには、Inputs の子要件へのリンクが表示されます。[エクスポート][HTML レポートの生成] をクリックして、トレーサビリティ マトリクスの現在の表示の静的スナップショットを含む HTML レポートを生成します。ファイルを保存する場所を選択して、[保存] をクリックします。

参考

|

関連するトピック