Main Content

ReqIF ファイルからの要件のインポート

要件交換形式 (ReqIF™) ファイルを使用するサードパーティ製要件管理ツールから要件とリンクをインポートできます。Requirements Toolbox™ により、ReqIF の要件とリンクのタイプおよび属性が Requirements Toolbox の要件とリンクのタイプ、プロパティ、カスタム属性にマッピングされます。サードパーティ製ツールで要件を管理することも、Requirements Toolbox に要件を移行することもできます。サードパーティ製ツールで要件を管理する場合は、インポートされた参照要件とツールの元の要件の間を移動することもできます。

インポート マッピングの選択

要件とリンクを ReqIF ファイルからインポートするときは、ReqIF の要件とリンクのタイプおよび属性を Requirements Toolbox の要件とリンクのタイプ、プロパティ、カスタム属性にマッピングするインポート マッピングを選択する必要があります。

ヒント

組み込みまたは汎用のマッピングを使用する代わりに、インポート時にプロファイルを作成して ReqIF の要件とリンクのタイプおよび属性をマッピングできます。Requirements Toolbox により、ReqIF の要件とリンクのタイプがプロファイル内の新しいステレオタイプにそれぞれマッピングされ、要件とリンクの属性がステレオタイプ プロパティにマッピングされます。詳細については、Use Stereotypes when Importing from ReqIF Filesを参照してください。

Requirements Toolbox には、次のサードパーティ製ツール向けのインポート マッピングが含まれています。

  • IBM® DOORS®

  • IBM DOORS Next

  • Polarion®

  • PREEvision

  • Jama

Requirements Toolbox には、使用しているサードパーティ製ツール向けのインポート マッピングがない場合に使用できる汎用マッピングも用意されています。

ReqIF ファイルをインポートすると、選択したインポート マッピングに応じて要件とリンクのタイプおよび属性がマッピングされます。

インポート マッピング説明
  • IBM DOORS

  • IBM DOORS Next

  • Polarion

  • PREEvision

  • Jama

  • TypeFunctional に設定して要件をインポート。

  • 要件の属性を組み込みの要件プロパティ (Custom ID または IDSummaryDescriptionCreatedByCreateOnModifiedByModifiedOn) または新しいカスタム属性にマッピング。要件の属性のマッピングは、各ツールのインポート マッピングで異なります。

  • Type をそのツールのマッピング ファイルに記述されているタイプまたは Relate に設定してリンクをインポート。

  • リンク属性 Text をリンク プロパティ Description にマッピング。その他のリンク属性はインポートされません。

汎用
  • TypeFunctional に設定して要件をインポート。

  • 要件の属性を組み込みの要件プロパティ (Custom ID または IDSummaryDescription) または新しいカスタム属性にマッピング。

  • TypeRelate に設定してリンクをインポート。

  • リンク属性 Text をリンク プロパティ Description にマッピング。その他のリンク属性はインポートされません。

要件をインポートした後に、タイプと属性のマッピングを編集できます。詳細については、ReqIF のタイプと属性のマッピングを参照してください。

代替マッピングの定義

使用しているツール用に、要件とリンクのタイプおよび属性のマッピング方法を指定するカスタム インポート マッピングを定義することもできます。

カスタム インポート マッピングを定義するには、ディレクトリ fullfile(matlabroot,"toolbox","slrequirements","attribute_maps") で定義されているマッピング ファイルと同様の構造を使用する XML ファイルを作成します。その XML ファイルで、datamodel.MappingOptions 要素の name 属性を、使用しているサードパーティ製ツールで生成された ReqIF ファイルで REQ-IF-TOOL-ID 要素に対して指定されている名前と同じ名前に設定します。

カスタム インポート マッピングを使用するには、そのマッピングを含むフォルダーを関数 rmipref の名前と値の引数 ReqifMappingFilePath を使用して登録します。カスタム インポート マッピング XML ファイル内の名前が ReqIF ファイル内の名前と一致していれば、ReqIF ファイルをインポートするときに、使用しているサードパーティ製ツールに一致するインポート マッピングが Requirements Toolbox で選択されます。それ以外の場合は、リストからカスタム マッピングを選択できます。詳細については、要件のインポートを参照してください。

登録済みのカスタム インポート マッピングを更新するには、関数 slreq.updateReqIfMappings を使用します。カスタム インポート マッピングの登録を解除するには、rmipref の名前と値の引数 reqifMappingFilePath を空の string に設定し、登録済みのカスタム インポート マッピングを更新します。

要件のインポート

ReqIF ファイルから要件をインポートするには次のようにします。

  1. 次のいずれかの方法で要件エディターを開きます。

    • MATLAB® コマンド ラインで以下のように入力します。

      slreq.editor
    • MATLAB [アプリ] タブの [検証とテスト] で、[要件エディター] アプリをクリックします。

    • Simulink® [アプリ] タブの [モデルの検証とテスト] で、[要件エディター] アプリをクリックします。

  2. 要件エディターで、[インポート] をクリックします。

  3. [要件をインポート] ダイアログで、[ドキュメント タイプ][ReqIF ファイル (*.reqif または *.reqifz)] に設定します。

  4. [ドキュメントの場所] の横の [参照] をクリックし、ReqIF ファイルを選択します。

    The Importing Requirements dialog is shown with Document type set to ReqIF file, Document location set to CruiseControlReqs.reqif, Attribute mapping set to Generic, and Allow updates from external source selected.

  5. [属性マッピング][ソース ツール] を目的のインポート マッピングに設定します。インポート マッピングの選択を参照してください。

  6. [宛先][参照] をクリックします。ファイル名を入力し、新しい要件セットを保存する場所を選択して、[保存] をクリックします。

  7. インポートされた要件の更新を許可するかどうかを選択します。インポートされた要件をサードパーティ製ツールで管理する場合は、[外部ソースからの更新を許可] を選択します。これにより、要件が参照要件としてインポートされます。要件を Requirements Toolbox に移行する場合は、[外部ソースからの更新を許可] をオフにします。インポート オプションの詳細については、インポート モードの選択を参照してください。

  8. [インポート] をクリックして要件をインポートします。

インポートした要件では、要件の階層が維持されています。

ヒント

要件に関連するイメージをインポートするには、サードパーティ製ツールを使用して要件を .reqifz ファイルとしてエクスポートし、続いてそのファイルを Requirements Toolbox にインポートします。

複数の仕様をもつ ReqIF ファイルからの要件のインポート

ReqIF ファイルの要件は仕様に属します。複数のソース仕様を含む ReqIF ファイルをインポートする場合は、[要件をインポート] ダイアログの [ソース仕様] セクションでそれらの仕様を選択できます。次のことが可能です。

  • 要件セットにインポートする単一の ReqIF ソース仕様を選択します。[要件をインポート] ダイアログの [ソース仕様] で、[単一の仕様をインポート] を選択し、リストから仕様を選択します。

  • ReqIF ソース仕様を 1 つの要件セットに統合します。[要件をインポート] ダイアログの [ソース仕様] で、[すべての仕様を 1 つの要件セットに統合] を選択します。

    [外部ソースからの更新を許可] を選択した場合、各仕様が個別のインポート ノードにインポートされます。各インポート ノードを個別に更新できます。それ以外の場合、各ソース仕様が親要件としてインポートされ、仕様のすべての要件がその子としてインポートされます。

  • 各 ReqIF ソース仕様を個別の要件セットにインポートします。[要件をインポート] ダイアログの [ソース仕様] で、[各仕様を個別の要件セットにインポート] を選択します。[フォルダー] の横にある [宛先] で、[参照] をクリックし、要件セットを保存する保存先フォルダーの場所を選択します。

    The Importing Requirements dialog is shown with Source specifications set to Combine all specifications into one Requirement Set.

    結果の要件セットのファイル名は、ソース仕様名と同じになります。選択した保存先に、ソース仕様のいずれかと同じ名前の既存の要件セット ファイルがある場合、そのファイルは上書きされます。

ヒント

大きな ReqIF ファイルの場合は、各ソース仕様を個別の要件セットにインポートすることを検討してください。こうすると、ファイルの競合が軽減され、個別の要件セットの差分を追跡するのに役立ちます。

複数のソース仕様を含む ReqIF ファイルに使用するインポート方法を決定する際には、リンクをインポートするかどうかと、ReqIF にエクスポートし直す予定があるかどうかを考慮してください。詳細については、リンクのインポートおよび複数の仕様をもつ ReqIF ファイルに関する考慮事項を参照してください。

リンクのインポート

ReqIF ファイルを要件セットにインポートする際に、リンクをインポートすることもできます。リンクをインポートするには、[要件をインポート] ダイアログの [ソース リンク][リンクのインポート] を選択し、ReqIF ファイルからのリンクを保持します。インポート後、Requirements Toolbox リンク セット ファイルに、要件と他のモデルベース デザインの項目との間のリンクが含められます。

The Importing Requirements dialog is shown with Import links selected.

複数のソース仕様をもつ ReqIF ファイルからのリンクのインポート

複数のソース仕様をもつ ReqIF ファイルからリンクをインポートする場合、ソース仕様のインポート方法がリンクのインポートに影響します。それは次のようになります。

  • 単一の仕様を要件セットにインポートすると、その仕様内の要件をリンクするリンクのみが Requirements Toolbox でインポートされる。このインポートにより、インポート時に ReqIF ファイルからの一部のリンクが除外される場合があります。

  • 複数の ReqIF ソース仕様を 1 つの要件セットに統合すると、関連付けられているリンクは 1 つのリンク セットにインポートされる。

  • 各 ReqIF ソース仕様を個別の要件セットにインポートすると、関連付けられているリンクは個別のリンク セットにインポートされる。

Requirements Toolbox によって生成された ReqIF ファイルからのリンクのインポート

Requirements Toolbox で要件セットに含まれていない項目 (Simulink ブロックなど) に要件をリンクしている場合、その要件と関連リンクを ReqIF ファイルにエクスポートすると、エクスポート プロセスで、リンクされた項目のリンク プロキシ オブジェクトが ReqIF ファイルに挿入されます。リンク プロキシ オブジェクトのタイプ名は、いくつかのリンク オブジェクトのオブジェクトを記述する名前に Requirements Toolbox で設定されます。詳細については、リンクのエクスポートを参照してください。

この ReqIF ファイルを再インポートすると、タイプ名が Requirement 以外のリンク プロキシ オブジェクトについて、リンク プロキシ オブジェクトと要件を関連付けるリンクが再構築されます。タイプ名が Requirement に設定されたリンク プロキシ オブジェクト間のリンクは再構築できません。

ReqIF ファイルをインポートする際にリンクを再構築するには、[要件をインポート] ダイアログで次のようにします。

  1. [ソース仕様] で、[すべての仕様を 1 つの要件セットに統合] または [各仕様を個別の要件セットにインポート] を選択します。

  2. [ソース リンク][リンクのインポート] を選択します。

再構築されたリンクでは Requirements Toolbox の既定のリンク ストレージを使用します。詳細については、要件リンクのストレージを参照してください。再構築されたリンクは、リンク ソースを含むアーティファクトのリンク セットに追加されます。リンク セットがない場合は、アーティファクトと同じベース ファイル名で作成され、アーティファクトと同じフォルダーに保存されます。

ReqIF のタイプと属性のマッピング

要件をインポートした後に、ReqIF の要件タイプを Requirements Toolbox の要件タイプにマッピングする方法を編集できます。要件をインポートした方法に応じて、インポート ノードまたは最上位の要件を選択します。右側のペインの [属性マッピング] で、属性マッピングを編集できます。[マッピングの保存] をクリックすると、現在のマッピングを保存できます。[マッピングの読み込み] をクリックすると、保存済みのマッピングを読み込むことができます。詳細については、インポートされた要件の属性マッピングの編集を参照してください。

要件タイプのマッピング

ReqIF の要件タイプをマッピングするには次のようにします。

  1. 要件エディターで、ReqIF の要件を参照要件または要件のどちらとしてインポートしたかに応じて、インポート ノードまたは最上位の要件を選択します。

  2. 右側のペインの [属性マッピング] で、[オブジェクト タイプのマッピング] をクリックします。

    The imported requirements are shown in the Requirements Editor. The import node is selected and the mouse points to the Map Object Types button in the right pane, under Attribute Mapping. Several external attributes from the ReqIF file are shown.

  3. [オブジェクト タイプのマッピング] ダイアログが表示されます。[インポートした (外部) タイプ] には ReqIF の要件タイプのリストが表示され、[内部 (組み込みまたはカスタム) タイプ] には使用可能な Requirements Toolbox の要件タイプのリストが表示されます。ReqIF のそれぞれの要件タイプについて、リストから要件タイプを選択してマッピングします。要件タイプの詳細については、要件タイプを参照してください。[<カスタム サブタイプを追加>] を選択して、組み込みタイプのサブタイプであるカスタム要件タイプを追加することもできます。カスタム要件タイプの詳細については、sl_customization ファイルを使用したカスタム要件とリンク タイプの定義を参照してください。

    The Map Object Types dialog shows three imported requirement types and the requirement type that they map to in Requirements Toolbox.

    カスタム要件タイプを追加するには、次を行います。

    1. [要件のサブタイプを追加] ダイアログで、[拡張する親タイプの名前] を、継承元とするカスタム要件タイプである組み込み要件タイプに設定します。

    2. [新しいサブタイプの名前] の横に、新しいカスタム要件タイプの名前を入力します。

    3. [説明] の横に、新しいカスタム要件タイプの説明を入力します。

    4. [OK] をクリックすると、カスタム要件タイプが作成されます。

    The Add Subtype for Requirements dialog has a drop-down menu for Parent type name to extend, a text field for New subtype name, and a text field for a description of the subtype.

  4. [OK] をクリックしてタイプをマッピングします。ダイアログに更新された項目数が一覧表示されます。

インポートされた要件から元の要件への移動

インポートされた参照要件からサードパーティ製アプリケーションの元の要件に移動するには、ナビゲーション コールバック関数を作成し、その関数を MATLAB に登録します。

  1. ナビゲーション コールバック関数を作成します。オプションで、Requirements Toolbox テンプレートを使用してナビゲーション コールバック関数を作成できます。テンプレートを生成するには、次を行います。

    1. Requirements Toolbox に要件をインポートします。

    2. 要件エディターで参照要件を選択し、右側のペインの [プロパティ] で、[ドキュメントに表示] をクリックします。

    3. [要件のナビゲーション エラー] ダイアログ ボックスで [エディターに移動] をクリックします。生成されたテンプレートが MATLAB エディターで開き、現在のフォルダーに保存されます。テンプレートにナビゲーション コールバック関数を追加します。

  2. slreq.registerNavigationFcn を使用して、ReqIF ファイルを生成したアプリケーションのナビゲーション コールバック関数を登録します。ReqIF ファイルを生成したアプリケーションの名前を入力します。これは、インポート ノードの Domain プロパティで指定されます。slreq.getNavigationFcn を使用して、コールバックが登録されたことを確認します。

    メモ

    ナビゲーション コールバック関数を登録し、サードパーティ製アプリケーションの名前を指定すると、Requirements Toolbox により、指定したアプリケーションで生成される ReqIF ファイルからインポートするすべての要件にコールバック関数が関連付けられます。

Requirements Toolbox の参照要件からサードパーティ製アプリケーションの元の要件に移動するには、要件エディターで参照要件を選択し、右側のペインの [プロパティ] で、[ドキュメントに表示] をクリックします。

メモ

Polarion が行ったナビゲーション URL の変更によって、Polarion の要件から MATLAB または Simulink の項目への移動に問題が発生した場合には、構成変更の適用が必要になる可能性があります。<polarion_installation>/polarion/configuration/ フォルダーにある polarion.properties ファイルを開き、localhost を外部で知られているサーバー名に置き換えて、以下の行を変更します。

  • repo=http://localhost:80/repo/

  • base.url=http://localhost:80/

参考

アプリ

関数

関連するトピック