モデルとコードの同期

<< 目次を表示 >>

ページ位置:  ソースコードの生成と読み込み >

モデルとコードの同期

 

 

ソースコードの生成およびソースコードの読み込みに関する設定に加えて、モデルとソースコードの同期についての設定項目もあります。この機能を利用することで、ソースコード側の変更をモデルに反映することもできます。

 

例えば、ソースコードを生成した後、モデルに変更を加えた場合を想定します。再度ソースコードを生成すると、Enterprise Architectは新しい属性や操作を既存のソースコードに追加します。しかし、既に存在する情報は、そのまま残し変更を加えません。これにより、開発者はソースコードに変更を加えても、モデル側に属性や操作を追加し、同期させることができます。

 

別の例として、ソースコードに変更があり、モデルには削除されたくないノート要素などが詳細に記述されているとします。ソースコードからモデルへの同期を行った場合には、追加の属性やメソッドが読み込まれますが、他のモデル要素はそのまま維持されます。ダイアグラム内の位置や色などもそのまま維持されます。

 

ソースコードに存在するがモデルには存在しない操作や属性がある場合で、「コード生成時にモデルにない属性と操作の削除を確認する」のオプションが有効の場合には、コード生成時に次のような選択を行うことができます。

 

 

詳細:

同期する要素のダイアログでは、以下の項目が利用できます。

項目

利用方法

すべて選択

一覧内の項目をすべて選択します。

すべて解除

一覧内の項目をすべて選択解除します。

削除

削除ボタンを押すと選択した属性・操作はコードから削除されます。

再割当

再割当ボタンを押すとモデルにある属性・操作をコードに割り当てます。

この機能では、モデルとコードの両方にある属性・操作は選択できません。

ボタンを押すと、モデル内に存在するがソースコードに存在しない属性・操作が表示され、割当先を指定することができます。

無視

このボタンを押すと何も処理を行いません。その後、ソースコードからモデルの同期を行った場合には、モデル側に属性・操作が追加されることになります。

既定値に戻す

このボタンを押すと、既定値である「無視」に処理を戻します。

OK

指定した内容で処理を実行します。

 

注意:

  • ソースコードへの同期機能は、メソッド(操作)の内部には影響しません。振る舞い図からのコード生成は、ファイル全体を生成する場合にのみ動作します。振る舞い図からのコード生成の結果を同期することはできません。(自動的に追加された属性や操作がクラスに追加され、次回生成時に二重に生成されてしまいます。)
  • この機能を実行しても、モデル側には変更は行われません。
  • セキュリティ(アクセス権)機能が有効の場合には、ソースコードやDDLの生成のアクセス権が必要です。
  • この機能はソースコードの生成時にのみ利用することができます。
  • Enterprise Architectのソースコード生成機能では、ツールが同期処理を行うための情報をソースコードに埋め込みません。そのため、ソースコードにツールのための情報が含まれなメリットがある反面、変更内容について完全な同期を行うことはできません。例えば、あるクラスが2つの操作を持つ場合に、ソースコード側でその2つのメソッドの名前を入れ替えた場合に、その入れ替えたことを検知することはできません。ツールのための情報を埋め込む方法を「マークアップ型ソースコード生成」と呼ぶこともありますが、Enterprise Architectはマークアップ型のツールではありません。そのため、完全な同期を行うことはできない点に、あらかじめ注意してください。

 

参照: