Enterprise Architectプロジェクト間でデータをやり取りする方法

プロジェクト間でUMLモデルをやり取りする(コピーする)方法については、大きく2つにわかれます。具体的には、Enterprise Architectが内部の管理のために利用しているID(GUID)を変化させず同じ要素として扱われるようにする方法と、IDが変化する方法の2つです。

同じデータとして扱う方法

次に説明する2つの方法は、Enterprise Architectが要素・接続などに対して個々に割り当てている内部ID(GUID)を変化させることなく、やりとりを行う方法です。この内部IDが一致するかどうかで、同じ要素(や接続など)かどうかの判定を行っています。

このIDを保持したまま入出力することで、同期読み込みを行うことができます。例えば、上記の例では、別のプロジェクトに読み込んだUMLモデルを編集し、再度元のプロジェクトファイルに戻す場合に、GUIDを初期化せずに読み込むことで、ダイアグラム内の要素の配置や他の要素との接続などを維持できます。

1.XMIファイルを利用する方法

Enterprise Architectでは、UMLモデルの一部あるいは全部を、XMIファイル(XML形式で表現した、UMLモデルをやりとりするための仕様)で入出力できます。つまり、あるモデルの一部をXMIファイルで出力しておいて、別のモデルにそのXMIファイルを読み込むことで、データをコピーできます。
具体的には、モデルブラウザから対象のパッケージを選択し、コンテキストメニューから「モデルの読み込みと出力」→「XMIファイルへ出力...」を選択します。ファイル名の設定画面が表示されますので、適切なファイル名を指定して出力します。

次に、別のプロジェクトファイルのモデルの読み込み位置(パッケージ)から同様にコンテキストメニューを開き、「モデルの読み込みと出力」→「XMIファイルから読み込み...」を選択します。先ほど指定したファイルを読み込めば、対象のパッケージ以下の要素やダイアグラムが追加されます。

2.バージョン管理ツールを利用する方法

1番の方法に対して、さらに「複数のプロジェクトファイルで常に情報を共有する」「編集は排他制御する」「操作を簡単にしたい」という条件を満たすのが、バージョン管理ツールを利用したプロジェクト間のモデル共有です。

この概要は、ドキュメントライブラリ「バージョン管理機能 機能ガイド」の「3.3 バージョン管理機能の構成」もご覧下さい。

異なるデータとして扱う方法

次に紹介する方法は簡便ですが、コピー元との要素とコピー先の要素は異なる要素として扱われます。つまり、コピーした先の要素を編集しても、コピー元の要素には影響しません。また、コピーしたモデルとコピー元のモデルは異なるものという扱いになりますので、同期読み込みやモデルのマージを行うことはできません。

モデルブラウザでコピー・ペースト方法

まず、Enterprise Architectを2つ起動し、コピー元・コピー先となるプロジェクトファイルをそれぞれ開きます。コピー元のパッケージや要素をモデルブラウザ内で選択し、Ctrl+SHIFT+C(あるいは右クリックメニューの「コピー・貼り付け」→「クリップボードにコピー」→「複製情報をクリップボードにコピー」)を実行します。その後、コピー先となるパッケージをモデルブラウザ内で選択し、Ctrl+V(あるいは右クリックメニューの「コピー・貼り付け」→「クリップボードからパッケージを貼り付け」)を実行します。

この方法は、コピー対象の要素やパッケージなどが「別のもの」として扱われても問題がない場合には便利な方法です。