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

Enterprise Architectで提供している、ソースコードに関連する機能は次の通りです。

  • クラス図からのソースコード生成・既存のソースコードからクラス図の生成
  • ソースコードの生成内容のカスタマイズ
  • 振る舞い図(ステートマシン図・アクティビティ図・シーケンス図)からのソースコード生成
  • ビジネスルールからのソースコード生成
  • 動作解析機能を利用した、シーケンス図の自動生成

なお、ソースコードに関連する機能は、Enterprise Architectデスクトップ版では利用できません。また、機能によってはさらに上位のエディションが必要となります。エディションについてはこちらのページをご覧ください


クラス図からのソースコード生成・既存のソースコードからクラス図の生成

Enterprise Architectには、強力なソースコードの生成・読み込みの機能を備えています。対象となる図はクラス図です。クラス図からのソースコード生成と、既存のソースコードからクラス図を生成することができます。

ラウンドトリップ開発も可能です。つまり、クラス図の内容を変更後、既存のソースコードに変更点を反映させたり、ソースコードの変更内容を既存のクラス図に反映させることも可能です。
(ソースコード生成のカスタマイズを実施している場合には、ラウンドトリップできない場合もあります。)

対応する言語は次の通りです。

  • Java
  • C++
  • C
  • C#
  • VB.NET
  • Delphi
  • ActionScript
  • Python
  • PHP
  • VisualBasic
  • Verilog*
  • VHDL*
  • SystemC*
  • Ada*

(*:Enterprise Architect Suiteシステムエンジニアリング版あるいはアルティメット版のみ)

ソースコードの生成内容のカスタマイズ

Enterprise Architectの既定の設定で出力されるソースコードは、現場で利用しているコーディング規約に沿わない場合など、希望する結果と異なるかもしれません。このような場合には、ソースコードの出力結果をカスタマイズすることができます。

ソースコードの出力をカスタマイズするための機能として「コード生成テンプレート」があります。このテンプレートの内容をカスタマイズしてチーム全体に配布することで、設計者全員でカスタマイズ結果を共有することができます。カスタマイズについては、このページ下部「関連する情報」のドキュメントをご覧ください。

振る舞い図からのソースコード生成

Enterprise Architect Suiteの各エディションを利用すると、振る舞い図(ステートマシン図・アクティビティ図・シーケンス図)からのソースコード生成が可能です。

対応する言語は次の通りです。

  • Java
  • C++
  • C
  • C#
  • VB.NET
  • Verilog*
  • VHDL*
  • SystemC*
  • Ada*

(*:Enterprise Architect Suiteシステムエンジニアリング版あるいはアルティメット版のみ。対象の図はステートマシン図のみ)

振る舞い図からのコード生成の詳細は、こちらのページと、このページ下部「関連する情報」のドキュメントをご覧ください。なお、組込み機器の設計開発を想定し、ステートマシン図の内容をC言語あるいはC++言語で生成するカスタマイズサンプルも提供しています。

ビジネスルールからのソースコード生成

Enterprise Architect Suiteビジネスモデリング版およびアルティメット版では、「ビジネスルール」(要求や制約など)を定義し、そこから段階的に設計を行い、最終的に部分的なソースコードを出力することができます。詳細は、このページ下部「関連する情報」のドキュメントをご覧ください。

動作解析機能を利用した、シーケンス図の自動生成

Enterprise Architectでは、ソースコードの内容を直接解析してシーケンス図を生成することはできません。こうした解析が可能なツールもありますが、一般的にはソースコードには多くの分岐処理が含まれるため、作成されるシーケンス図が複雑になり実用的ではない場合が多いです。

Enterprise Architectでは、対象のアプリケーションのデバッグ版を実行し、その処理の経過をシーケンス図として表現することができます。例えば、正常な処理と不正な処理のそれぞれについてこの機能を利用すると、2種類のシーケンス図が生成されることになります。

想定される使い方の一例として、Webアプリケーションサーバ(Tomcatなど)の内部の処理の解析・視覚化が挙げられます。Webブラウザから利用者が操作した場合に、サーバ側でどのような内部処理が行われているか、を視覚化する場合などに威力を発揮します。

対象の言語はJava・C#・VB.NET・C++(アンマネージド・.NET・g++)・PHP・C(gcc)です。この機能を利用するためにはいくつかの準備・条件がありますので、このページ下部「関連する情報」のドキュメントをご覧ください。

関連する情報

ドキュメント

内容更新日-
ソースコードの生成と読み込み 機能ガイド
ソースコードからクラス図を生成したり、クラス図からソースコードを生成したりする機能の概要です。
2016/10/07 ダウンロード
アクティビティ図・シーケンス図からのコード生成 機能ガイド
Enterprise Architect Suiteで利用可能なアクティビティ図・シーケンス図からのコード生成機能の概要です。
2016/10/07 ダウンロード
ステートマシン図からのコード生成 機能ガイド
ステートマシン図からのソースコード生成の概要と利用方法についての説明です。
2016/10/07 ダウンロード
ビジネスルールからのコード生成 機能ガイド
Enterprise Architect Suiteで利用可能なビジネスルールからのコード生成の概要と利用方法についての説明です。
2016/10/07 ダウンロード
シーケンス図作成機能 機能ガイド
シーケンス図を自動的に作成する機能の説明です。
2016/10/07 ダウンロード
コードテンプレートフレームワーク(CTF) 機能ガイド
コードテンプレートフレームワーク(CTF)を利用すると、ソースコードの生成結果を自由にカスタマイズすることができます。このCTFは非常に多機能で複雑ですので、4分冊で機能の概要を説明します。
2016/10/07 ダウンロード
(基礎編)
2016/10/07 ダウンロード
(応用編)
2016/10/07 ダウンロード
(発展編)
2015/06/15 ダウンロード
(振る舞い図からのコード生成編)

(→ドキュメントのダウンロードページへ移動)

動画デモ

内容時間リンク
ソースコードの生成2分57秒Youtubeで再生
ソースコードの読み込み3分55秒Youtubeで再生
シーケンス図の自動生成2分27秒Youtubeで再生
ルールモデリングからのコード生成機能2分44秒Youtubeで再生

(→動画デモのページへ移動)