インポートの概要
本ページでは、ReqIFIntegration パッケージが ReqIF ファイルをインポートする際の動作を、概要として説明します。
対応するファイル形式
- ReqIF インポート機能では、XML フォーマット(
.reqif)または圧縮フォーマット(.reqifz)のファイルを指定できます。 .reqifzに複数の ReqIF データが含まれる場合、最初に見つけた ReqIF ファイルのみをインポートします。
要求の型定義をインポート
「要求の型定義をインポート」を実行すると、ReqIF ファイルに含まれる型定義を Next Design のメタモデルへ変換し、閲覧用ビュー定義を作成します。
変換されるメタモデル
型定義は、次の対応関係で Next Design のメタモデルに変換されます。
| ReqIF の型定義 | Next Design のメタモデル |
|---|---|
| SpecificationType / SpecObjectType / SpecRelationType / RelationGroupType | メタクラス |
| DataTypeEnumeration | 列挙型 |
| 標準属性(Identifier, Description, LastChange) | フィールド |
| カスタム属性(SpecAttribute) | フィールド |
詳細は ReqIF 要素と Next Design の対応表 を参照してください。
閲覧用ビュー定義
型定義のインポート時に、要求モデルを閲覧するためのビュー定義も自動生成されます。
| ビュー名 | 対象 | 形式 | 内容 |
|---|---|---|---|
| 要求 | Specification | ツリーグリッド | 階層構造で要求を一覧表示。フィールドに対応する列定義を含む。 |
| 詳細 | SpecObject | フォーム | 個別の要求の詳細を表示。フィールドに対応するコントロール定義を含む。 |
型定義の更新インポート
同じプロジェクトに対して「要求の型定義をインポート」を繰り返し実行すると、既存のメタモデルが存在する場合は更新します。
メタモデル更新の判定条件
ReqIF の各型定義(SpecType、DataType など)に含まれる LastChange 属性と、Next Design 側のメタモデルに記録された最終変更日時を比較し、異なる場合に更新を行います。
更新される内容
更新時は、以下の内容が ReqIF ファイルの情報で上書きされます。
- クラス名、フィールド名
- 表示名(DisplayName)
- 列挙型、列挙値
更新インポートでは、既存のビュー定義自体を上書きしません。 必要に応じて、自動生成されたビュー定義に列定義やコントロール定義を追加します。 独自に追加したビュー定義は維持されます。
型定義の削除確認
ReqIF ファイルに存在しない型定義(クラス、フィールド、列挙型、列挙値)が Next Design 側に残っている場合、削除確認ダイアログが表示されます。
- [はい]を選択: 該当する型定義を削除します。削除した型定義は出力タブに出力されます。
- [いいえ]を選択: 削除せずにインポートを続行します。削除候補の型定義は出力タブに通知されます。
この削除はインポート処理の一部として実行されるため、1 回のアンドゥで元に戻せます。
要求をインポート
「要求をインポート」を実行すると、ReqIF ファイルに含まれる要求オブジェクト(SpecElementWithAttributes)を Next Design のモデルとしてインポートします。
実行の前提条件
「要求をインポート」を実行する前に、モデルナビゲータで「__ReqIF_ReqIFContent」型のモデルを選択してください。モデルがない場合は、追加してから選択してください。
階層構造のインポート
要求オブジェクトは、ReqIF の構造(Specification 以下の階層構造)に沿ってインポートされます。