このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
要件への MATLAB コードのリンク
要件エディターを使用するか MATLAB® コマンド ラインでプログラムを使用して、MATLAB コードやプレーンテキストの外部コード (C コードなど) に要件をリンクできます。MATLAB Function (Simulink) ブロックの 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® DOORS®
IBM DOORS Next
MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。
メモ
MLX ファイルで MATLAB コードへのリンクを作成することはできません。
リンクするコード行を選択します。
選択されたコード範囲を右クリックし、[要件] を選択します。要件ドキュメントの種類に応じて、次のオプションのうちいずれかを選択します。
Word の選択内容へのリンク
Excel の選択内容へのリンク
DOORS の選択内容へのリンク
DOORS Next の選択した項目へのリンク
変更を保存します。詳細については、リンクの保存を参照してください。
これらのサードパーティ製品と連携させるための Requirements Toolbox の構成の詳細については、Microsoft Office および IBM DOORS との相互作用のための Requirements Toolbox の構成およびConfigure IBM DOORS Next for Integration with Requirements Toolboxを参照してください。
リンクと行範囲の表示と編集
現在のファイルのリンクと行範囲を MATLAB エディターで確認するには、エディター内で右クリックして [要件] 、 [[要件のトレーサビリティ] パネルを開く] をクリックし、[要件のトレーサビリティ] パネルを開きます (R2025a 以降)。現在のファイルの行範囲には行範囲アイコン 、リンク先にはリンク先アイコン
が付けられます。
要件の強調表示を有効にすることで、リンクされたコード範囲を MATLAB エディターで確認することもできます。エディター内で右クリックし、[要件] 、 [要件の強調表示を有効にする] を選択します。
リンクを編集するには、要件エディターを使用します。詳細については、リンクの表示と編集を参照してください。
MATLAB エディターでの行範囲の編集
MATLAB エディターで行範囲の行番号を編集するには、以下を行います。
[要件のトレーサビリティ] パネルを開き、行範囲アイコン
が付いた項目を選択します。その行範囲のコードがエディターで選択されます (R2025a 以降)。
エディター内でクリックして行範囲のコードを選択解除します。その後、行範囲内を右クリックし、[要件] 、 [行の範囲を調整] を選択します。[範囲を調整] ダイアログ ボックスが開きます。
[範囲を調整] ダイアログ ボックスで、[+] および [-] ボタンを使用して、行範囲の最初と最後の行を変更します。あるいは、行番号をフィールドに入力します。
[OK] をクリックします。
変更を保存します。詳細については、リンクの保存を参照してください。
[要件のトレーサビリティ] パネルを使用して行範囲を特定する代わりに、エディター内で右クリックして [要件] 、 [要件の強調表示を有効にする] を選択すると、リンクされた行範囲を強調表示できます。
プログラムでの行範囲の編集
MATLAB コマンド ラインで slreq.TextRange
オブジェクトの行を編集するには、以下を行います。
MATLAB エディターで、MATLAB コード ファイルまたはプレーンテキストの外部コード ファイルを開きます。
open("myAdd.m");
ファイル名と行範囲の最初と最後の行番号を関数
slreq.getTextRange
に渡すことで、MATLAB コード ファイル内の既存のslreq.TextRange
オブジェクトを取得します。lr = slreq.getTextRange("myAdd.m",[1 2]);
setLineRange
メソッドを使用して行範囲を変更します。setLineRange(lr,1);
変更を保存します。
myLinkSet = slreq.find(Type="LinkSet",Artifact=lr.Artifact); save(myLinkSet);
MATLAB エディターによってコード範囲の強調表示が更新されます。あるいは、show
、getText
、または getLineRange
を使用して、変更内容を確認できます。
リンクと未使用の行範囲の削除
MATLAB エディター、要件エディター、[要件のトレーサビリティ] パネル、または MATLAB コマンド ラインで、MATLAB コードへのリンクを削除できます。
MATLAB エディターでコード範囲へのリンクを削除すると、エディター、[要件のトレーサビリティ] パネル、または MATLAB コマンド ラインで未使用の行範囲を削除できます。
リンクの削除
読み込まれたリンク セットの個々のリンクを削除するには、要件エディターを使用します。詳細については、リンクおよびリンク セットの削除を参照してください。
MATLAB エディターで現在のファイルの個々のリンクを削除するには、[要件のトレーサビリティ] パネルを使用します。詳細については、Delete Linksを参照してください。
MATLAB エディターでコード範囲へのすべての内向きリンクと外向きリンクを削除するには、強調表示されたコード範囲を右クリックし、[要件] 、 [すべてのリンクを削除] を選択します。
プログラムでリンクを削除するには、slreq.Link
オブジェクトへのハンドルを取得し、remove
関数を使用します。あるいは、内向きリンクまたは外向きリンクを含むファイルを MATLAB エディターで開きます。その後、slreq.getTextRange
関数を使用して slreq.TextRange
オブジェクトへのハンドルを取得します。deleteLinks
関数を使用してオブジェクトへのリンクを削除します。
行範囲の削除
MATLAB エディターで現在のファイルの行範囲を削除するには、[要件のトレーサビリティ] パネルを使用します。詳細については、Delete Linksを参照してください。
プログラムで行範囲を削除するには、内向きリンクまたは外向きリンクを含むファイルを MATLAB エディターで開きます。その後、slreq.getTextRange
関数を使用して slreq.TextRange
オブジェクトを取得します。remove
関数を使用してコード範囲を削除します。
リンクの修復
外向きリンクを含む行範囲を削除した場合や MATLAB コード ファイルまたはプレーンテキスト ファイルの行範囲をソフトウェアで特定できない場合、リンク範囲へのリンクが未解決になります。未解決のリンクは修復することができ、もう必要がない場合は削除することもできます。詳細については、Resolve Linksを参照してください。
未解決のリンクを表示するには、要件エディターで [リンクの表示] をクリックします。未解決のリンクには未解決リンク アイコン が表示されます。
"孤立リンク" (ソースが無効なリンク) を確認するには、[要件のトレーサビリティ] パネルを使用します。孤立リンクが赤のテキストでパネルに表示されます。
リンクの保存
リンクや行範囲を作成、編集、削除、または修復するときに変更をリンク セットに保存するには、次のいずれかの方法を使用します。
MATLAB エディターで、右クリックして [要件] 、 [リンクの保存] を選択します。
要件エディターで、[リンクの表示] をクリックします。リンク セットを選択し、[保存] をクリックします。
MATLAB コマンド ラインで、
save
を使用します。