メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

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

あるいは、要件管理ツールを MATLAB® および Simulink® に接続するサードパーティ製統合機能を使用できます。詳細については、Polarion™ Web サイトの Polarion Extensions を参照してください。

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

要件とリンクを 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","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 ファイルをインポートする場合、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 ファイルを含む REQIFZ ファイルはインポートできません。

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

大きな 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 の既定のリンク ストレージを使用します。詳細については、リンクのストレージおよびSpecify Requirements Link Storage for Modelsを参照してください。再構築されたリンクは、リンク ソースを含むアーティファクトのリンク セットに追加されます。使用可能なリンク セットがない場合は、アーティファクトと同じベース ファイル名をもつリンク セットがインポート処理で作成され、アーティファクトと同じフォルダーに保存されます。

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

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

要件タイプのマッピング

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

  1. 要件エディターを開きます。ReqIF の要件を参照要件としてインポートした場合は、インポート ノードを選択します。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 の要件タイプのリストが表示されます。リストから要件タイプを選択します。要件タイプの詳細については、要件タイプを参照してください。[<カスタム サブタイプを追加>] を選択して、組み込みタイプのサブタイプであるカスタム要件タイプを追加することもできます。カスタム要件タイプの詳細については、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] をクリックしてタイプをマッピングします。ダイアログに更新された項目の数が表示されます。

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

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

[ドキュメントに表示] をクリックしてもサードパーティ製アプリケーションの元の要件が開かない場合は、次の手順に従って、サードパーティ製アプリケーションの元の要件を識別する追加情報を指定する必要があります。

サードパーティ製アプリケーション元の要件を識別するための必要な情報必要な情報の指定方法

IBM DOORS

モジュール ID

  • モジュール ID を対話形式で指定するには、要件エディターで参照要件を選択し、右側のペインの [プロパティ][ドキュメントに表示] をクリックします。[DOORS モジュール ID] ダイアログ ボックスでモジュール ID を入力します。

  • モジュール ID をプログラムで指定するには、rmipref 関数を使用し、名前と値の引数 DoorsModuleID の値としてモジュール ID を渡します。

モジュール ID の識別方法の詳細については、IBM Web サイトの How to identify the unique ID for an item in DOORS database explorer を参照してください。

IBM DOORS Next

  • サーバー アドレス

  • ポート番号

  • サービス ルート

  • ユーザーのログイン名とパスワード、または認証用のカスタム ログイン プロバイダー

  • 必要な情報を対話形式で指定するには、slreq.dngConfigure 関数を実行して [DNG サーバー ログイン構成] ダイアログ ボックスを開きます。必要な情報を入力し、[OK] をクリックします。

  • 必要な情報をプログラムで指定するには、rmipref 関数を使用します。次のように指定します。

    • サーバー アドレスを名前と値の引数 OslcServerAddress の値として。サーバー アドレスにポート番号も含めます。

    • サーバー ルートを名前と値の引数 OslcServerRMRoot の値として

    • カスタム ログイン プロバイダーのコールバック関数の名前を引数 LoginProvider の値として。認証資格情報を直接指定することはできません。

Polarion
  • サーバー アドレス

  • プロジェクト ID

  • 必要な情報を対話形式で指定するには、要件エディターで参照要件を選択します。右側のペインの [プロパティ] で、[ドキュメントに表示] をクリックします。[Polarion サーバーの URL] ダイアログ ボックスで、サーバー アドレスを入力して [OK] をクリックします。[Polarion のプロジェクト ID] ダイアログ ボックスで、プロジェクト ID を入力して [OK] をクリックします。

  • 必要な情報をプログラムで指定するには、rmipref 関数を使用します。サーバー アドレスを名前と値の引数 PolarionServerAddress の値として渡し、プロジェクト ID を引数 PolarionProjectId の値として渡します。

メモ

Polarion の要件から MATLAB または Simulink の項目への移動で問題が生じる場合は、構成の変更を適用します。Polarion インストール フォルダーの polarion/configuration/ フォルダーにある polarion.properties ファイルを開き、localhost を外部で知られているサーバー名に置き換えて、以下の行を変更します。

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

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

その他のサードパーティ製アプリケーションナビゲーション コールバック関数

その他のサードパーティ製アプリケーションを使用して作成した ReqIF ファイルからインポートされた要件について、それらの要件から元の要件への移動を有効にするには以下を行います。

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

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

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

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

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

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

参考

アプリ

関数

トピック