Main Content

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

API を使用した IBM DOORS からの要件のインポート

この例では、Requirements Toolbox™ API を使用して IBM® DOORS® モジュールから要件をインポートする方法を説明します。

IBM DOORS の構成

IBM DOORS とのインターフェイスをとるには、MATLAB® を構成します。MATLAB コマンド プロンプトで、次のように入力します。

rmi setup doors

詳細については、IBM DOORS セッションの構成を参照してください。

DOORS プロジェクトを開く

この例では、フォールトトレラント制御システムを記述する要件モジュールを含む IBM DOORS の DemoRMI.dpa プロジェクトを使用します。

IBM DOORS で、次のように新規のプロジェクトを作成します。

  1. [ファイル][新規][プロジェクト] を選択します。

  2. [新規プロジェクト] ダイアログで、[名前] フィールドに「ExampleProject」と入力します。

  3. [説明] フィールドに「Example MATLAB/Simulink project」と入力します。

  4. [Use a project archive] を選択します。

  5. [参照] をクリックし、[DemoRMI.dpa] を選択します。

newProject.png

要件モジュールのインポート

この例では、FuelSys Requirements Specification モジュールからすべての要件をインポートします。

IBM DOORS で FuelSys Requirements Specification モジュールを開き、モジュール ID を見つけます。詳細については、IBM Web サイトの How to identify the unique ID for an item in DOORS database explorer を参照してください。

slreq.import を使用して要件をインポートします。要件セット ファイルの名前を入力し、要件が参照要件でありリッチ テキスト形式を使用することを指定し、要件セットに fuelSysReqSpec という名前を付けて、モジュール ID を入力します。関数は、インポートされた参照要件の数、要件セットのファイル パス、および要件セット オブジェクトを返します。

[refCount1,reqSetFilePath1,myReqSet1] = slreq.import("linktype_rmi_doors", ...
    AsReference=true,RichText=true,ReqSet="fuelSysReqSpec",DocID="000001c1");
Importing from 000001c1 of type linktype_rmi_doors ..
.. done.

モジュールからの要件のサブセットのインポート

フィルターを適用することで、FuelSys Design Description モジュールから要件のサブセットをインポートできます。IBM DOORS で FuelSys Design Description モジュールを開きます。

要件モジュールのフィルター処理

モジュールにフィルターを適用します。要件モジュールに対するフィルターの適用の詳細については、IBM ウェブサイトのフィルターの定義を参照してください。[フィルター処理] ダイアログで、次のようにします。

  1. [属性][Absolute Number] に設定します。

  2. [条件][is less than or equal to] に設定します。

  3. [値] の隣に「10」と入力します。

filter.png

フィルターに一致する要件のみがモジュールに表示されます。

filteredModule.png

DOORS モジュールにフィルターを適用して、そのモジュールを Requirements Toolbox にインポートする際に、このプロセスでは、フィルターに一致する要件のみがインポートされます。API を使用して要件をインポートする場合、Requirements Toolbox では、将来の使用を目的とするフィルターの保存は行われません。

フィルター処理された要件モジュールのインポート

フィルター処理された要件モジュールをインポートするには slreq.import を使用します。要件セット ファイルの名前を入力し、要件が参照要件でありリッチ テキスト形式を使用することを指定し、要件セットに fuelSysDesignSpec という名前を付けますが、モジュール ID は入力しません。モジュール ID を指定しない場合、関数 slreq.import はアクティブな要件モジュールをインポートします。

モジュールには Created Thru と呼ばれる要件属性が含まれています。属性をカスタム属性として要件と共にインポートします。関数は、インポートされた参照要件の数、要件セットのファイル パス、および要件セット オブジェクトを返します。

[refCount2,reqSetFilePath2,myReqSet2] = slreq.import("linktype_rmi_doors",ReqSet="fuelSysDesignSpec",attributes={'Created Thru'});
Importing from FuelSys Requirements Specification of type linktype_rmi_doors ..
.. done.

Requirements Toolbox は、モジュールから最初の 10 個の要件のみをインポートし、Created Thru 属性を要件セットの新規のカスタム属性にマッピングします。

importedFuelSysDesignSpec.png

組み込み要件プロパティRationaleまたはKeywordsとしてインポートするカスタム属性がある場合は、次を使用できます。

slreq.import("linktype_rmi_doors",keywords="Keyword DOORS Attribute",rationale="Rationale DOORS Attribute")

カスタム属性の詳細については、要件へのカスタム属性の追加を参照してください。

フィルター処理された要件セットの更新

要件セットをインポートした後に、要件セットを更新できます。詳細については、インポートされた要件の更新を参照してください。

DOORS で、FuelSys Design Description モジュールで適用されるフィルターを変更します。

[フィルター処理] ダイアログで、次のようにします。

  1. [属性][Absolute Number] に設定します。

  2. [条件][is less than or equal to] に設定します。

  3. [値] の隣に「15」と入力します。

要件セット myReqSet2 からインポート ノードを見つけます。要件セットを更新します。

importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode);
Importing from FuelSys Requirements Specification of type linktype_rmi_doors ..
.. done.

Requirements Toolbox は、要件セットに最初の 15 個の要件が含まれるよう、要件セットを修正します。

importedFuelSysDesignSpec2.png

DOORS 要件モジュールで再度フィルターを更新します。[値] に「5」を入力します。要件セット myReqSet2 からインポート ノードを見つけます。要件セットを更新します。

importNode = find(myReqSet2,Index="Import1");
status = updateFromDocument(importNode);
Importing from FuelSys Requirements Specification of type linktype_rmi_doors ..
.. done.

Requirements Toolbox は、要件セットに最初の 5 個の要件のみが含まれるよう、要件セットを切り捨てます。

importedFuelSysDesignSpec3.png

参考

|

関連するトピック