掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     ソースコードとモデルを同期させながら進める場合のバージョン管理について


フラット表示 前のトピック | 次のトピック
投稿者 トピック
sugimoto
投稿日時: 2009-8-7 11:49
EA Administrator
投稿: 1895

ソースコードとモデルを同期させながら進める場合のバージョン管理について

○ご質問

ソースコードはバージョン管理をしていますが、EAのモデルをどのように
管理するか悩んでいます。

複数人数で、ソースコードとクラス要素は同期させながらの開発を行いますが、
以下のどの方法が適していますでしょうか?
1. 全てのパッケージをバージョン管理
2. バージョン管理せずEAPを共有して使用
3. それぞれローカルでEAPを生成し、シーケンス図のみバージョン管理
(クラス図はソースコードと同期されるため)

○回答

ソースコードをバージョン管理するということと、EAで書いたモデルを
バージョン管理するということは別々に考えられたほうがよいかもしれません。

その理由の1つとして、ソースコードとクラス図はまったく同一ではない場合があります。
例えば、クラス図は分かりやすく、色を付けたり整列したりして、見やすい
ようにすることが可能ですが、クラス図を何か手違いで消してしまった場合、
ソースコードからクラス図を作成しても、元のような見やすいクラス図は作成されず、
再度作成しなおす必要があります。
このような場合に、クラス図をバージョン管理していれば、
直前のバージョンに戻すことができ、手間を掛けずにすみます。


このように、モデルについては、万が一、何かあった場合に、
以前のバージョンへ戻すことを目的とすることがよいと思います。

作業を行う場合は、それぞれをチェックアウトして、
モデルとソースコードの同期を行うという流れでよいと考えております。

引用:
1. 全てのパッケージをバージョン管理


モデルを間違って消してしまったというようなことがある場合を想定し、
全てのパッケージをバージョン管理することは、よいと思います。

ただし、パッケージが階層構造になっている場合は、どの単位でバージョン管理を
するかがキーになります。
親のパッケージのみをバージョン管理すると、誰かがそのパッケージを
チェックアウトしている間、子パッケージも含めて、誰もチェックアウト
できなくなりますので、特に階層構造の場合にどのパッケージをバージョン
管理するかは、各担当者の作業範囲など状況に合わせて考える必要があり、
この点は、バージョン管理機能を利用する際のポイントになります。

引用:
2. バージョン管理せずEAPを共有して使用


EAPはMS-ACCESSのデータベース(Jetデータベース)を採用していますが、
この特性上、データ破損の可能性があります。(保存中にネットワーク
ケーブルが抜かれたなど)

そのため、EAPを共有している場合は特に、破損してしまった場合を考慮し、
バージョン管理も合わせて利用することをお勧めしています。

(EAP自体をコピーしてバックアップをとるという手段をとっている会社もあります。)

引用:
3. それぞれローカルでEAPを生成し、シーケンス図のみバージョン管理
 (クラス図はソースと同期されるため)


こちらは、最初にも記述しましたように、ソースコード=クラス図ではない
場合がありますので、ソースコードのみバージョン管理するということではなく
モデルとソースコード両方のバージョン管理をお勧めいたします。

なお、バージョン管理や、そのほか複数人数で開発するときに
便利な機能につきましては、「チーム開発で役立つ機能 実践セミナー」で
紹介しています。
https://www.sparxsystems.jp/seminar/MultipleDesigners.htm
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » ソースコードとモデルを同期させながら進める場合のバージョン管理について sugimoto 2009-8-7 11:49