掲示板一覧 - トピック一覧 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 |




