メインコンテンツまでスキップ

インポートの概要

本ページでは、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 以下の階層構造)に沿ってインポートされます。

要求の更新インポート(再インポート)

同じプロジェクトに対して「要求をインポート」を繰り返し実行すると、既存モデルが存在する場合は更新します(以降「更新インポート」と表記します)。

  • 既存モデルの同一判定(検索キー)は、既定では要求オブジェクトの Identifier を用います。
  • Identifier が更新のたびに変わるデータでは、更新インポートで既存モデルを特定できず、新規インポート扱いになる場合があります。

この場合、更新インポートで利用するキー(IDとして扱う属性)を「インポート設定」で変更できます。

要求の削除確認

更新インポート時に、ReqIF ファイルに存在せず Next Design 側にのみ存在するモデル(削除候補)がある場合、削除確認ダイアログが表示されます。

  • [はい]を選択: 削除候補のモデルを削除します。削除したモデルのフルパスは出力タブに出力されます。
  • [いいえ]を選択: 削除せずにインポートを継続します。削除候補のモデルは出力タブに通知されるため、必要に応じて手動で削除してください。

この削除はインポート処理の一部として実行されるため、1 回のアンドゥで元に戻せます。

階層位置・順序の変更

更新インポート時に、ReqIF ファイルで要求オブジェクトの階層位置や兄弟間の順序が変更された場合、Next Design 側のモデルも自動的に移動します。

  • 親要素の変更:ReqIF ファイルで要求オブジェクトの親が変わった場合、Next Design 側のモデルも新しい親の下に移動します。
  • 順序の変更:ReqIF ファイルで兄弟間の順序が変わった場合、Next Design 側のモデルの順序も変更されます。