バージョン管理の基本

<< 目次を表示 >>

ページ位置:  Enterprise Architectの操作 > 変更管理 > バージョン管理 > バージョン管理に関する設定 >

バージョン管理の基本

Enterprise Architectでバージョン管理を行う場合、管理する対象のモデルの情報をXMIファイルとして出力し、その内容を管理対象にしています。なお、XMIファイルはテキストファイルやソースコードのように、行単位で単純にマージすることはできません。そのため、モデルの情報も、複数の編集結果をXMIファイルの形式のままで単純にマージすることはできません。

 

以下の内容は、Enterprise Architectでバージョン管理を行う場合に、モデルの一意性を保証するために排他チェックアウト方式になっていることの説明です。

 

 

「ロック→編集→ロック解除」方式

いくつかのバージョン管理システムは異なる作業者が共有のリソースを上書きすることのないように、この方式を採用しています。

 

この方式では、バージョン管理されているリポジトリは同時に一人しか利用することができません。

ロック機能を利用して、排他制御が行われます。編集作業を行う前には、必ずロックしなければならないということになります。誰かがロックしている場合には、別の人はロックすることはできません。その結果、リソースの編集は必ず一人のみに限定されます。編集中の作業者の作業完了を待って、別の人が編集可能になります。

 

 

「コピー→編集→マージ」方式

SubversionやCVSなどでソースコードを管理する場合の多くはこの方式です。

 

クライアントはリポジトリにアクセスし、ローカルマシンの作業コピーを作成します。個々の作業者はローカルコピーに対して同時に、並行的に作業を行うことができます。作業が終わればマスターデータにマージを行い、最新のデータとなります。バージョン管理ツールはこのようなマージを支援する機能を持ちますが、最終的には作業者自身の責任でマージ作業を行うことになります。

この方式は、行単位でのマージが可能である状況では有用です。

 

 

ロックが必須の場合には

「ロック→編集→ロック解除」方式を採用すると作業の効率が落ちると考えられる場合でも、ロック自体は必須の場合があります。

 

「コピー→編集→マージ」方式を採用するためには、UMLモデル自体がマージ可能であるという前提が必要です。つまり、リポジトリ内のファイルが行単位でマージ可能なテキストファイルであるということです。

しかし、UMLが対象とする設計モデルは、矛盾のないマージが可能であったとしても、その結果が論理的に適切かどうかは限りません。全体の構成・方針・アーキテクチャを常に意識し、論理的な整合性を保つ必要があります。その意味でも、ソースコードと同様に扱うことは困難です。

 

 

参照: