掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     ラウンドトリップ開発


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2008-2-22 10:01
EA Administrator
投稿: 1895

ラウンドトリップ開発

○ご質問

1)EAでクラス図を作成してソースコードを生成し、
 他のツールでコードを作りこんだものをEAに反映できますか?

2)反映されたクラス図に対してメソッド、コメントの追加を
 実施した後に、既存のソースコードに反映することはできますか?

3)また、こちらはどのレベルで同期を取れますか?
 ・メソッド
 ・行
 ・文字

 例えば、あるメソッドの条件文を、 A = B から A = C と
 変更した場合、BをCに(文字単位で)置換されますか?

4)メソッド名を変更した場合は、既存メソッド削除、新規メソッド追加
 という動きになりますか?


○回答

1)ソースコード読み込みにおいて、EAが認識可能な記述であれば、
 他のツールで記述したソースコードをEAのクラス図に反映することは
 可能です。
 実際にソースコードを読み込んだ結果、クラス図に反映されない箇所
 などありましたら、EAでソースコード生成した記述に合わせることで、
 読み込み可能になる可能性もあります。

2) こちらは可能です。
 ソースコード生成には大きく2つのモードがあり、上書きと同期が
 ありますが、同期に設定している場合は、ソースコード生成時に
 既存のソースコードの情報を変更することなく、追加されたメソッド
 やコメントをソースコードに追加します。
 (上書きの場合は、既存のソースコードを破棄し、新たにソースコード
 を作成します。)

3)こちらは、メソッドの中身(処理部)についてのご質問と思います。
 EAのソースコード生成では、クラスとその属性・メソッドの定義を
 生成します。メソッドの処理部については、基本的に生成いたしません。
 また、同期モードでソースコード生成した場合、既存のソースコードの
 メソッドの処理部について変更はいたしません。

 なお、オプションになりますが、ソースコード読み込み時に、メソッドの
 処理部を、操作のプロパティ画面の振る舞いタブにある既定ソースコード
 欄に格納することは可能です。
 ここに何かしらの情報がある場合は、ソースコード生成に、その内容を
 そのまま出力します。このオプションは、メインメニュー→「ツール」→
 「オプション」の属性と操作ページにある"読み込み時に操作の実装も
 モデルに読み込む"が該当します。

4) ソースコード読み込み時、生成時でそれぞれ回答させていただきます。

・ソースコード読み込み時
 ソースコード側のメソッド名を変更して、ソースコードを読み込んだ場合、
 モデル側のメソッドは削除→新規追加になるか、現在のモデルに新規追加
 されるかのどちらかになります。

 これは、オプションによって動作が異なります。
 メインメニュー→「ツール」→「オプション」の属性と操作ページにある
 "読み込み時にコードにない操作をモデルから削除"が有効の場合は、
 削除→新規追加、無効の場合は新規追加になります。

・ソースコード生成時
 モデル側のメソッド名を変更して、ソースコード生成した場合、
 ソースコード側のメソッドが削除→新規メソッド追加になるか、
 現在のソースコードに新規追加されるかのどちらかになります。

 これは、オプションによって動作が異なります。
 メインメニュー→「ツール」→「オプション」の属性と操作ページにある
 "コード生成時にモデルにない属性と操作の削除を確認する"が
 有効の場合に確認画面で削除を選べば、削除→新規追加、
 無効の場合は新規追加になります。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ