このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
MATLAB コードの要件のトレーサビリティ
MATLAB® コードやプレーンテキストの外部コード (C コードなど) に要件を関連付けることができます。そのためには、要件エディターを使用して選択ベースのリンクを作成するか、MATLAB コマンド ラインでプログラムによってリンクを作成します。MATLAB Function (Simulink) ブロックの MATLAB コードへのリンクを作成することもできます。MATLAB ユニット テストへのリンクを作成して、テストを実行することで、MATLAB コードを使用して要件を検証できます。その後、MATLAB エディターまたは要件エディターでコードへのリンクを表示および編集できます。
MATLAB コードまたはプレーンテキストの外部コードへのリンクの作成
MATLAB コードまたはプレーンテキストの外部コードへのリンクをプログラムによって、または要件エディターを使用して作成できます。
コードへのリンクを作成するときに、Requirements Toolbox™ は選択された行に対応する slreq.TextRange
オブジェクトを作成します。これらの slreq.TextRange
オブジェクトは "行範囲" と呼ばれます。
プログラムによってリンクを作成するには、slreq.TextRange
オブジェクトを作成し、リンクを作成するときにそのオブジェクトをリンク ソースとして使用します。同じ MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルに複数の slreq.TextRange
オブジェクトを作成する場合、slreq.TextRange
オブジェクトの行番号はオーバーラップできません。
要件エディターを使用したリンクの作成
要件エディターを使用してコードへの選択ベースのリンクを作成するには、以下を行います。
MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。
メモ
MLX ファイルで MATLAB コードへのリンクを作成することはできません。
リンクするコード行を選択します。
要件エディターで、リンクする要件セットを読み込みます。
リンクする要件を選択します。
[リンク] セクションで、[リンクの追加] 、 [MATLAB エディターの選択内容からのリンク] をクリックします。
あるいは、MATLAB エディターで選択されたコード範囲を右クリックし、[要件] 、 [要件ブラウザーの選択内容へのリンク] を選択します。
プログラムによるリンクの作成
myAdd
という MATLAB 関数へのリンクをプログラムによって作成するとします。
function y = myAdd(u,v) y = u + v; end
MATLAB コマンド ラインでリンクを作成するには、以下を行います。
slreq.createTextRange
を使用して、リンク先のコード行を表すslreq.TextRange
オブジェクトを作成します。lr = slreq.createTextRange("myAdd.m",2);
slreq.find
、find
、またはslreq.getCurrentObject
を使用して、リンクする要件のハンドルを取得します。req = slreq.find(Type="Requirement",Summary="Add u and v");
slreq.createLink
を使用して、リンクを作成します。myLink = slreq.createLink(lr,req);
MATLAB Function ブロックへのリンクの作成
MATLAB Function ブロック エディター (Simulink)を使用して、MATLAB Function ブロック内のコード行へのリンクを作成します。
要件エディターで、リンク先の要件セットを読み込みます。
リンクする要件を選択します。
Simulink® モデルで、MATLAB Function ブロックを開きます。
リンクするコード行を選択します。
選択されたコード範囲を右クリックし、[要件] 、 [要件ブラウザーの選択内容へのリンク] を選択します。
メモ
MATLAB Function ブロック内の MATLAB コード行にリンクされる要件は、要件のトレーサビリティについての HTML レポートには記載されますが、Simulink Report Generator™ Web ビューには表示されません。モデルの Web ビューの作成と使用 (Simulink Report Generator)を参照してください。
外部ドキュメントの要件へのリンクの作成
MATLAB コードから外部ドキュメントの要件へのリンクを作成するには、以下を行います。
次のいずれかの外部ドキュメントの要件を選択します。
Microsoft® Word
Microsoft Excel®
IBM®Rational®DOORS®
IBM DOORS Next
MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。
メモ
MLX ファイルで MATLAB コードへのリンクを作成することはできません。
リンクするコード行を選択します。
選択されたコード範囲を右クリックし、[要件] を選択します。要件ドキュメントの種類に応じて、次のオプションのうちいずれかを選択します。
Word の選択内容へのリンク
Excel の選択内容へのリンク
DOORS の選択内容へのリンク
DOORS Next の選択した項目へのリンク
これらのサードパーティ製品と連携させるための Requirements Toolbox の構成の詳細については、Microsoft Office および IBM DOORS との相互作用のための Requirements Toolbox の構成およびIBM DOORS Next セッションの構成を参照してください。
MATLAB テストによる要件の検証
クラスベースおよび関数ベースのテストへのリンクを作成してからテストを実行することで、MATLAB コードで要件を検証できます。
要件から MATLAB ユニット テストへのリンクを作成するときに、Requirements Toolbox はリンク タイプを Verify
に設定します。これにより、ソフトウェアで要件を検証できます。詳細については、要件検証の状態の確認を参照してください。
要件を検証するには、MATLAB コマンド ラインまたは要件エディターを使用してテストを実行します。要件エディターで検証の状態を確認するには、 [列] 、 [検証の状態] を選択します。
要件エディターを使用したテストの実行
要件エディターを使用して、要件セット、親要件とそのすべての子孫、または 1 つの要件に対して、MATLAB ユニット テストを実行するには、以下を行います。
要件エディターで、テストへのリンクをもつ要件セット、親要件、または子要件を右クリックし、[テストの実行] を選択します。
[テストの実行] ダイアログ ボックスで、リンクされたテストを実行することを確認します。実行からテストを省略するには、選択をクリアします。
[テストの実行] をクリックします。
テストを実行すると、要件の検証の状態が更新されます。
MATLAB コマンド ラインでのテストの実行
MATLAB テストをプログラムによって実行し、ShortestPath
プロジェクト内の要件を検証する必要があるとします。
要件セットにリンクされたテストをプログラムによって実行するには、以下を行います。
ShortestPath
プロジェクトを開きます。slreqShortestPathProjectStart
shortest_path_tests_reqs
要件セットを読み込んで、要件エディターで開きます。rs = slreq.open("shortest_path_tests_reqs");
slreq.ReqSet.runTests
を使用して、要件セットにリンクされているテストを実行します。results = runTests(rs);
要件エディターに検証の状態が表示されます。あるいは、
getVerificationStatus
を使用して、コマンド ラインに検証の状態を表示します。status = getVerificationStatus(rs)
status = total: 14 passed: 13 failed: 0 unexecuted: 0 justified: 0 none: 1
リンクとリンクされた行範囲の表示と編集
要件の強調表示を有効にすることで、MATLAB エディターでリンクされたコード範囲を確認できます。MATLAB エディター内で右クリックし、[要件] 、 [要件の強調表示を有効にする] を選択します。
リンクを編集するには、要件エディターを使用します。詳細については、View and Edit Linksを参照してください。
MATLAB エディターまたは MATLAB コマンド ラインで、リンクされた行範囲の開始行と終了行を編集することもできます。
MATLAB エディターでリンクされた行範囲を編集
MATLAB エディターでリンクされた行範囲の行番号を編集するには、以下を行います。
強調表示された行範囲を右クリックし、[行の範囲を調整] を選択します。
[範囲を調整] ダイアログ ボックスで、[+] および [-] ボタンを使用して、行範囲の最初と最後の行を変更します。あるいは、行番号をフィールドに入力します。
[OK] をクリックします。MATLAB エディターによって強調表示が更新されます。
リンクされた行範囲のプログラムによる編集
MATLAB コマンド ラインで slreq.TextRange
オブジェクトの行を編集するには、以下を行います。
MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。
open("myAdd.m");
ファイル名と行範囲の最初と最後の行番号を関数
slreq.getTextRange
に渡すことで、MATLAB コード ファイル内の既存のslreq.TextRange
オブジェクトを取得します。lr = slreq.getTextRange("myAdd.m",[1 2]);
setLineRange
を使用して、行範囲を変更します。setLineRange(lr,1);
MATLAB エディターによってコード範囲の強調表示が更新されます。あるいは、
show
、getText
、またはgetLineRange
を使用して、変更内容を確認できます。
リンクの保存
MATLAB コードや外部コードの行へのリンクを作成または編集するときに、変更をリンク セットに保存するには、次のいずれかの方法を使用します。
MATLAB エディターで、右クリックして [要件] 、 [リンクの保存] を選択します。
要件エディターで、[リンクの表示] をクリックします。リンク セットを選択し、[保存] をクリックします。
MATLAB コマンド ラインで、
save
を使用します。
リンクと未使用の行範囲の削除
MATLAB エディター、要件エディター、または MATLAB コマンド ラインで、MATLAB コードへのリンクを削除できます。
MATLAB エディターでコード範囲へのリンクを削除すると、MATLAB エディターまたは MATLAB コマンド ラインで未使用の行範囲を削除できます。
リンクの削除
MATLAB エディターでリンクを削除するには、強調表示されたコード範囲を右クリックし、[要件] 、 [すべてのリンクを削除] を選択します。これにより、このコード範囲へのすべての内向きリンクと外向きリンクが削除されます。
要件エディターからリンクを削除するには、Delete Links and Link Setsを参照してください。
MATLAB コマンド ラインでリンクを削除するには、slreq.Link
オブジェクトへのハンドルを取得し、remove
を使用します。あるいは、コード範囲が含まれるファイルが MATLAB エディターで開いていていることを確認してから、slreq.getTextRange
を使用して slreq.TextRange
オブジェクトを取得します。deleteLinks
を使用して、オブジェクトへのリンクを削除します。
未使用の行範囲の削除
MATLAB エディターで未使用の行範囲を削除するには、行範囲を含む行を右クリックし、[要件] 、 [行の範囲を削除] を選択します。
メモ
行範囲に外向きリンクがない場合、MATLAB エディターはコード行を強調表示しません。未使用の行範囲を削除できるように、リンクを削除する前に行番号をメモします。あるいは、MATLAB コマンド ラインを使用してファイル内の行範囲を取得してから、未使用の行範囲を削除します。
コマンド ラインで行範囲を削除するには、コード範囲が含まれているファイルが MATLAB エディターで開いていることを確認してから、slreq.getTextRange
を使用して slreq.TextRange
オブジェクトを取得します。remove
を使用して、コード範囲を削除します。
参考
slreq.TextRange
| slreq.createTextRange
| slreq.getTextRange