このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
トレーサビリティ マトリクスで要件を完全にトレース可能にする
この例では、モデルベース デザインの項目までトレースできない要件を見つける方法と、トレーサビリティ マトリクスを使用してリンクを作成することによってそれらの要件をトレースする方法を説明します。
トレーサビリティ マトリクスには、Requirements Toolbox™ オブジェクト、Simulink® モデル要素、Simulink Test™ オブジェクト、MATLAB® コード行などのモデルベース デザイン アーティファクト内の項目間のリンクが表示されます。フィルターを適用して、確認する項目にのみフォーカスすることができます。マトリクスを使用して、リンクされていない項目を特定し、設計に実装できます。
トレーサビリティ マトリクスの使用方法の詳細については、トレーサビリティ マトリクスを使用した要件リンクの追跡を参照してください。
クルーズ コントロール モデル プロジェクトの要件定義を開きます。要件セット crs_req_func_spec
を読み込みます。
openProject("CruiseRequirementsExample"); slreq.load('crs_req_func_spec');
トレーサビリティ マトリクスの生成
[トレーサビリティ マトリクス] ウィンドウを開きます。
slreq.generateTraceabilityMatrix;
[トレーサビリティ マトリクス] ウィンドウで、[追加] をクリックします。[アーティファクトの選択] ダイアログで、[左] を crs_req_func_spec.slreqx
に、[上] を crs_controller.slx
に設定します。次に、[マトリクスの生成] をクリックします。指定した要件セットが左で、Simulink モデルが上になったトレーサビリティ マトリクスが生成されます。
リンクされていない要件の特定
リンクされていない項目を特定するには、[欠損しているリンクの強調表示] をクリックします。リンクされていない要件は左の列で黄色で強調表示され、リンクされていないモデル要素は上の行で強調表示されます。
System Interface
、Inputs
の親要件までスクロールします。[スコープ] をクリックして、マトリクス ビューをその階層にフォーカスします。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_controller
と crs_plant
を除くすべてのアーティファクトを右クリックして [アーティファクトの削除] を選択し、トレーサビリティ マトリクスから削除します。[マトリクスの更新] をクリックします。更新されたマトリクスで、Inputs
の親要件を選択して [スコープ] をクリックすると、Inputs
の子要件にフォーカスします。
子要件の一部は crs_plant
モデルの項目にリンクされています。リンクされていない残りの Inputs
の子要件を crs_controller
のモデル要素にリンクします。crs_controller
に対応するセルを選択し、[スコープ] をクリックします。
リンクされていない要件にフォーカスするには、[欠損リンク] フィルターを適用します。[フィルター パネル] の [左] の [リンク] にある [欠損リンク] をクリックします。このフィルターによって、リンクされた項目のある行が除外されます。これは、[欠損しているリンクの強調表示] をクリックすることで確認できます。
CruiseControlMode
、DriverSwRequest
および 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_controller
と crs_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 レポートを生成します。ファイルを保存する場所を選択して、[保存] をクリックします。
参考
slreq.generateTraceabilityMatrix
| slreq.getTraceabilityMatrixOptions