掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     複製の機能で「同じ要素」と判定される条件について


フラット表示 前のトピック | 次のトピック
投稿者 トピック
tkouno
投稿日時: 2006-12-11 10:20
EA Administrator
投稿: 3939

複製の機能で「同じ要素」と判定される条件について

○ご質問

「複製」の機能を利用していますが、同じ要素が2つできてしまいました。
2つ作成されることなく、変更が反映されるには
どうすればよいですか?

○回答

この「複製」機能は、Microsoft社のJETデータベースエンジンの機能を
利用したもので、Enterprise Architect独自の機能ではありません。
つまり、UMLモデルの内容や情報などは一切考慮せず、JETが
「同一」であれば同一とみなされる、という動作になります。

そして、この「同一」とみなすためのキーが「ID」になります。
新規にデータベースに情報が追加されると、一意に識別するための
IDが設定されます。このIDは、他の複製ファイルを含めて
同じ値になることはありません。


つまり、クラスの情報に対する「ID」が一致していれば
正しく同期されますし、そうでなければ、結果は意図しないものとなります。
一度削除して再度まったく同じ内容の要素を作成すると、UMLモデルでは
まったく同一に見えます。しかし、内部的な「ID」は異なったものになるため
同期した場合には、意図した結果にはなりません。



繰り返しになりますが、この「複製」の機能では、UMLモデルについての
情報はまったく考慮されません。単に、JETデータベースにおけるID
(および更新時刻)だけで判断されます。



まとめますと、同じIDのデータベースの列に対して、

・モデルAが変更なし・モデルBで更新
→モデルAの内容を、更新した内容で上書き

・モデルAが変更なし・モデルBで削除
→モデルAの該当行を削除

・両方のモデルを変更
→競合が発生し、「変更の衝突の解決」機能で、いずれかの変更を
採用、他方の変更内容はすべて破棄
(モデルAでクラス名を変更し、モデルBでノートを変更した場合のように
UMLモデルとして変更した内容が異なる場合でも、データベースとしてみれば
同一のレコードの編集になる場合があります。
この衝突の状態になった場合には、どちらかの変更内容は
破棄しなければなりません。)

のようになります。


詳細は、ヘルプファイルの「複製」のページもご覧ください。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
 » 複製の機能で「同じ要素」と判定される条件について tkouno 2006-12-11 10:20