ソースコード生成機能・ソースコードの読み込み機能について

Enterprise Architectで提供している、ソースコードに関連する機能は次の通りです。
- クラス図からのソースコード生成・既存のソースコードからクラス図の生成
- ソースコードの生成内容のカスタマイズ
- 振る舞い図(ステートマシン図・アクティビティ図・シーケンス図)からのソースコード生成
- ビジネスルールからのソースコード生成
- 動作解析機能を利用した、シーケンス図の自動生成
なお、ソースコードに関連する機能は、Enterprise Architectデスクトップ版では利用できません。また、機能によってはさらに上位のエディションが必要となります。エディションについてはこちらのページをご覧ください。
2011年11月に出展しました「組込み総合技術展」で紹介しましたソリューション「リファクタリング・派生開発に役立つ効率的なC/C++ソースコード解析」のページもご覧ください。
クラス図からのソースコード生成・既存のソースコードからクラス図の生成

Enterprise Architectには、強力なソースコードの生成・読み込みの機能を備えています。対象となる図はクラス図です。クラス図からのソースコード生成と、既存のソースコードからクラス図を生成することができます。
ラウンドトリップ開発も可能です。つまり、クラス図の内容を変更後、既存のソースコードに変更点を反映させたり、ソースコードの変更内容を既存のクラス図に反映させることも可能です。
(ソースコード生成のカスタマイズを実施している場合には、ラウンドトリップできない場合もあります。)
対応する言語は次の通りです。
- Java
- C++
- C
- C#
- VB.NET
- Delphi
- ActionScript
- Python
- PHP
- VisualBasic
- Verilog*
- VHDL*
- SystemC*
- Ada*
ソースコードの生成内容のカスタマイズ

Enterprise Architectの既定の設定で出力されるソースコードは、現場で利用しているコーディング規約に沿わない場合など、希望する結果と異なるかもしれません。このような場合には、ソースコードの出力結果をカスタマイズすることができます。
ソースコードの出力をカスタマイズするための機能として「コード生成テンプレート」があります。このテンプレートの内容をカスタマイズしてチーム全体に配布することで、設計者全員でカスタマイズ結果を共有することができます。カスタマイズについては、このページ下部「関連する情報」のドキュメントをご覧ください。
振る舞い図からのソースコード生成

Enterprise Architect Suiteの各エディションを利用すると、振る舞い図(ステートマシン図・アクティビティ図・シーケンス図)からのソースコード生成が可能です。
対応する言語は次の通りです。
- Java
- C++
- C
- C#
- VB.NET
- Verilog*
- VHDL*
- SystemC*
- Ada*
振る舞い図からのコード生成の詳細は、こちらのページと、このページ下部「関連する情報」のドキュメントをご覧ください。なお、組込み機器の設計開発を想定し、ステートマシン図の内容をC言語あるいはC++言語で生成するカスタマイズサンプルも提供しています。
ビジネスルールからのソースコード生成
Enterprise Architect Suiteビジネスモデリング版およびアルティメット版では、「ビジネスルール」(要求や制約など)を定義し、そこから段階的に設計を行い、最終的に部分的なソースコードを出力することができます。詳細は、このページ下部「関連する情報」ドキュメントをご覧ください。
動作解析機能を利用した、シーケンス図の自動生成
Enterprise Architectでは、ソースコードの内容を直接解析してシーケンス図を生成することはできません。こうした解析が可能なツールもありますが、一般的にはソースコードには多くの分岐処理が含まれるため、作成されるシーケンス図が複雑になり実用的ではない場合が多いです。
Enterprise Architectでは、対象のアプリケーションのデバッグ版を内部で実行し、その処理の経過をシーケンス図として表現することができます。例えば、正常な処理と不正な処理のそれぞれについてこの機能を利用すると、2種類のシーケンス図が生成されることになります。
想定される使い方の一例として、Webアプリケーションサーバ(Tomcatなど)の内部の処理の解析・視覚化が挙げられます。Webブラウザから利用者が操作した場合に、サーバ側でどのような内部処理が行われているか、を視覚化する場合などに威力を発揮します。
対象の言語はJava・C#・VB.NET・C++(アンマネージド・.NET・g++)・PHP・C(gcc)です。この機能を利用するためにはいくつかの準備・条件がありますので、このページ下部「関連する情報」ドキュメントをご覧ください。
関連する情報
ドキュメント
| 内容 | 更新日 | - |
| ソースコードの生成と読み込み 機能ガイド ソースコードからクラス図を生成したり、クラス図からソースコードを生成したりする機能の概要です。 | 2012/3/7 | |
| アクティビティ図・シーケンス図からのコード生成 機能ガイド Enterprise Architect Suiteで利用可能なアクティビティ図・シーケンス図からのコード生成機能の概要です。 | 2011/12/21 | |
| ステートマシン図からのコード生成 機能ガイド ステートマシン図からのソースコード生成の概要と利用方法についての説明です。 | 2011/12/8 | |
| ビジネスルールからのコード生成 機能ガイド Enterprise Architect Suiteで利用可能なビジネスルールからのコード生成の概要と利用方法についての説明です。 | 2012/3/7 | |
| シーケンス図作成機能 機能ガイド デバッグ機能とシーケンス図作成機能の詳細な機能ガイドです。 | 2012/3/7 | |
| コードテンプレートフレームワーク(CTF) 機能ガイド Enterprise Architect3.60で追加された、コードテンプレートフレームワーク(CTF)についてのガイドマニュアルです。この機能を利用すると、コード生成機能を自在にカスタマイズすることができます。このCTFは非常に多機能で複雑なので、4分冊で機能の概要を説明します。 | 2011/5/18 | (基礎編) |
| 2011/5/18 | (応用編) | |
| 2011/5/18 | (発展編) | |
| 2011/12/8 | (振る舞い図からのコード生成編) |
動画デモ
| 内容 | 更新日 | 時間 | - |
| ソースコードの生成 | 2011/7/14 | 2分12秒 | 再生開始 |
| ソースコードの読み込み | 2011/7/21 | 4分15秒 | 再生開始 |
| シーケンス図の自動生成 | 2011/7/25 | 2分2秒 | 再生開始 |
| ルールモデリングからのコード生成機能 | 2011/8/1 | 2分41秒 | 再生開始 |
| ソースコードテンプレートのカスタマイズ | 2011/8/9 | 1分4秒 | 再生開始 |
(→動画デモのページへ移動)