Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

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

多くのサードパーティ製要件管理アプリケーションが ReqIF™ 形式を使用して要件をエクスポートおよびインポートできます。ReqIF ファイルから "参照要件" と呼ばれるサードパーティ ソースへの参照として要件をインポートできます。参照要件は、slreq.Reference オブジェクトとして、または slreq.Requirement オブジェクトとして表される新しい要件セットの要件として表されます。使用するインポート モードの選択の詳細については、インポート モードの選択を参照してください。

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

ReqIF では、要件を SpecObject オブジェクト、リンクを SpecObject オブジェクトを関連付ける SpecRelation オブジェクトとして表します。各 SpecObjectType オブジェクトは関連する SpecObject オブジェクトを指定し、SpecRelationType オブジェクトは各 SpecRelation オブジェクトを分類します。SpecObjectType オブジェクトおよび SpecRelationType オブジェクトは、要件とリンクの情報を保存するための属性を定義します。SpecObject オブジェクトおよび SpecRelation オブジェクトには、これらの属性の値が含まれます。

次の表は、Requirements Toolbox™ の要件とリンクの関係、および ReqIF でそれらに対応するものを示しています。

項目Requirements Toolbox での表現ReqIF での表現
要件

SpecObject オブジェクト

要件タイプ

SpecObjectType オブジェクトの longName 属性

要件の属性

  • SpecObjectType オブジェクトは属性を定義

  • SpecObject オブジェクトは属性の値を定義

リンク

slreq.Link オブジェクト

SpecRelation オブジェクト

リンク タイプ

slreq.Link オブジェクトの Type プロパティ

SpecRelationType オブジェクトの longName 属性

リンクの属性

slreq.Link プロパティおよびカスタム属性

  • SpecRelationType オブジェクトは属性を定義

  • SpecRelation オブジェクトは属性の値を定義

ReqIF のデータ編成の詳細については、Requirements Interchange Format (ReqIF) Version 1.2lo の「Exchange Document Content」の節を参照してください。

ReqIF ファイルから要件とリンクをインポートする際に、インポート プロセスが ReqIF から Requirements Toolbox に要件をマッピングする方法に基づいて、使用するインポート モードを選択できます。インポート プロセスは、SpecObject オブジェクトを slreq.Requirement オブジェクトまたは slreq.Reference オブジェクト (インポート モードによって異なる) にマッピングし、SpecRelation オブジェクトを slreq.Link オブジェクトにマッピングします。インポートされる要件タイプ、プロパティ、およびインポートされるリンク タイプは、選択するインポート マッピングによって異なります。

Requirements Toolbox は、ReqIF を使用する以下のような一部のサードパーティ製アプリケーション用に組み込みのインポート マッピングを提供しています。

  • IBM® Rational® DOORS®

  • IBM DOORS Next

  • Polarion™

  • PREEvision

  • Jama

他の要件管理アプリケーションで生成された ReqIF ファイルから要件をインポートする場合は、汎用属性マッピングを使用できます。

要件をインポートした後に、属性マッピングを編集できます。Requirements Toolbox での ReqIF 属性のマッピングを参照してください。

メモ

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

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

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

インポート時の組み込みマッピングの使用

ReqIF ファイルをインポートし、ファイルを生成したサードパーティ製ツール用の組み込みマッピングを使用する場合、Requirements Toolbox は、関連する SpecObjectType オブジェクトに関係なく、[タイプ]Functional に設定された要件として SpecObject オブジェクトをインポートします。SpecObjectType オブジェクトがサードパーティ製ツールの追加の属性を定義している場合、それらの属性は、Custom ID または IDSummaryDescription、リビジョン情報などの組み込み要件プロパティにマッピングされます。残りの属性は新しいカスタム属性にマッピングされます。要件のカスタム属性の詳細については、要件へのカスタム属性の追加を参照してください。

要件をインポートした後に、SpecObjectType オブジェクトを要件タイプにマッピングできます。要件プロパティに対する SpecObjectType オブジェクト属性のマッピングは編集することもできます。Requirements Toolbox での ReqIF 属性のマッピングを参照してください。

組み込みマッピングを使用してリンクをインポートする場合、Requirements Toolbox は、SpecRelation オブジェクトをリンクとしてインポートし、SpecRelationType オブジェクトを Requirements Toolbox のリンク タイプにマッピングします。ReqIF ファイルの SpecRelationType がインポート マッピングで定義されていない場合、そのタイプの SpecRelation オブジェクトは [タイプ]Related to に設定されたリンクとしてインポートされます。リンク タイプの詳細については、Link Typesを参照してください。

インポート時の汎用マッピングの使用

ReqIF ファイルをインポートし、汎用マッピングを使用する場合、Requirements Toolbox は、[タイプ]Functional に設定された要件として SpecObject オブジェクトをインポートします。SpecObjectType オブジェクト属性は、CustomID 要件プロパティまたは ID 要件プロパティ、Description 要件プロパティ、および Summary 要件プロパティにマッピングされ、続いて新しいカスタム属性にマッピングされます。要件のカスタム属性の詳細については、要件へのカスタム属性の追加を参照してください。

要件をインポートした後に、SpecObjectType オブジェクトを要件タイプにマッピングできます。SpecObjectType オブジェクト属性のマッピングを編集して、目的の要件プロパティと一致させることもできます。Requirements Toolbox での ReqIF 属性のマッピングを参照してください。

汎用マッピングを使用してリンクをインポートすると、SpecRelation オブジェクトは [タイプ]Related to に設定されたリンクとしてインポートされます。リンク タイプの詳細については、Link Typesを参照してください。

要件のインポート

要件エディターで要件をインポートできます。ReqIF ファイルの要件は仕様に属します。

ヒント

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

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

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

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

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

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

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

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

  5. [属性マッピング][ソース ツール] ドロップダウンで、目的の属性マッピングを選択します。インポート マッピングの選択を参照してください。

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

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

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

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

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

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

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

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

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

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

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

ヒント

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

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

リンクのインポート

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

ReqIF ファイルでは、リンクを 2 つの SpecObject オブジェクトを関連付ける SpecRelation オブジェクトとして表します。ReqIF ファイルに少なくとも 1 つの SpecRelation オブジェクトが含まれている場合にのみ、リンクをインポートできます。

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

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

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

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

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

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

Requirements Toolbox 内の要件を Simulink ブロックなどの要件セットに含まれていない項目にリンクしてから、その要件と関連リンクを ReqIF ファイルにエクスポートする場合、エクスポート プロセスで、SpecObject オブジェクトが、リンクされた項目のプロキシ オブジェクトとして機能する ReqIF ファイルに挿入されます。リンクされた項目がサポートされているタイプの 1 つである場合、プロキシ オブジェクトは、リンクされたオブジェクト タイプを表す SpecObjectType longName の値をもちます。詳細については、リンクのエクスポートを参照してください。

この ReqIF ファイルを再インポートすると、ソフトウェアでプロキシ SpecObject オブジェクトと要件を、サポートされるタイプのプロキシ オブジェクトに対して関連付けるリンクの再構築が行われます。SpecObjectType longName 属性が Requirement に設定されたプロキシ SpecObject オブジェクト間のリンクは再構築できません。

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

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

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

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

Requirements Toolbox での ReqIF 属性のマッピング

ReqIF では、要件は要件属性を定義する SpecObjectType オブジェクトをもつ SpecObject オブジェクトとして表されます。ReqIF ファイルから要件をインポートすると、選択したインポート マッピングに従って、属性が要件プロパティまたはカスタム属性にマッピングされます。インポート マッピングの選択を参照してください。

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

要件タイプへの SpecObjectTypes のマッピング

要件をインポートした後に、SpecObjectType オブジェクトを Requirements Toolbox の要件タイプにマッピングできます。

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

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

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

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

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

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

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

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

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

参照要件からサードパーティ製アプリケーションの要件への移動

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

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

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

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

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

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

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

参考

| | |

関連するトピック