ここでは astah* の編集APIを利用したサンプル「C#リバースプログラム」を解説します。(サポート対象外)
本アプリケーションを用いて、C#ソースコードから astah*モデルを作成できます。
目次
- 動作に必要な環境
- 対応項目の詳細
- Doxygenのダウンロード、インストール、設定
- 本プログラムの設定 -Config.propertiesファイル
- クラス図を自動作成する方法
- サンプルプログラムをコンパイルするには
はじめに
C#リバースプログラムでは、Doxygenというフリーソフトを使っています。事前にDoxygenでソースコードをパースし、作成したxmlファイルを用いて astah*モデルを作成するためです。
このサンプルプログラムを使う前に、必ず astah* API サンプルプログラム使用許諾契約をお読みください。使う際、使用許諾契約に同意したものとみなします。
サポートについて
C#リバースプログラムは、astah* 編集APIのサンプルプログラムのためサポートサービスの対象ではありません。
不具合報告や実行環境に関連するご質問など、対応しかねる場合がありますのでご了承ください。
動作に必要な環境
OS、Java実行環境はどちらも astah* UML、astah* professionalのシステム要件を満たす必要があります。
Windows環境で動作確認しています。
- astah* professional、astah* UML 6.0以降
(astah* professional(astah* UML)インストールフォルダ\lib\commons-digester.jar(バージョン1.5)などにも依存します) - J2SEおよび、Digesterを利用できる環境
- Doxygen 1.7.1 (doxygen-1.7.1-setup.exe)、利用にあたっては、Doxygenのライセンスやドキュメントを参照してください。
Doxygen 英語サイト
/ Doxygen 日本語サイト
/ Doxygen ダウンロードページ 
対応項目の詳細
クラス、属性、操作、それらの各定義、astah* professional、astah* UMLが対応するC#の言語属性の取込みに対応しています。
プリミティブ型、const、delegate、~destructor()など、項目が多いため、詳しくは「対応項目の詳細」をご覧ください。
Doxygenのダウンロードから設定まで
1. Doxygenをダウンロードする
- Doxygen Download Page から、doxygen-1.7.1-setup.exeをダウンロードします。
2. Doxygenのインストールと起動
- doxygen-1.7.1-setup.exeをダブルクリックして、ウィザードに従いインストールします。
- [スタート]メニューから [doxygen]-[doxywizard] をクリックして起動します。
3. Doxygenの設定
- 起動すると [Doxygen GUI Frontend] ダイアログが表示されます。[Wizard]-[Topics]-[Project]を選択し、次の項目を設定します。
![[Doxygen GUI Frontend]ダイアログ doxygen1_s](http://astah-cdn1.change-vision.com/ja/images/stories/product/doxygen1_s.png.pagespeed.ce._aJZv4I3Gi.png)
Project name プロジェクト名 Project version or id プロジェクトバージョン、もしくはID Source code directly ソースコードディレクトリ Scan recursively ONにするとサブフォルダも対象になる Destination directory XML出力先ディレクトリ
ディレクトリの文字列に、&, <, >, *, @の記号を使わないようにしてください。これらが含まれると、Doxygen 1.5.7.1により生成したXMLのタグの中身が、&, <, >, &star, &at といった文字列にならないため、リバースプログラムが正常に動作せずコンバートされません。 - 続いて [Wizard]-[Topics]-[Mode]を選択し、各項目を設定します。
![[Wizard]-[Topics]-[Mode] csharp_doxygen2_s](http://astah-cdn1.change-vision.com/ja/images/stories/product/csharp_doxygen2_s.png.pagespeed.ce.VXQ_EvO4ao.png)
Select the desired extraction mode "Documented entities only" を選択 Select Programming language to optimize the result for "Optimize for C# output" を選択 - [Wizard]-[Topics]-[Output]を選択し、設定します。
Select the output format(s) to generate Doxygen 1.5.6、1.5.7.1、1.5.8、1.7.0、1.7.1の場合、"XML"を選択する
Doxygen 1.5.7の場合、"HTML"と"XML"を選択する
(1.5.7ではXMLのみを出力できないため) - [Expert]-[Topics]-[Input]を選択し、設定します。
![[Expert]-[Topics]-[Input] doxygen4_s](http://astah-cdn1.change-vision.com/ja/images/stories/product/doxygen4_s.png.pagespeed.ce.VFIeSdmD-9.png)
INPUT_ENCODING UTF-8などソースの文字コードを入力する。必ずソースと同じ文字コードとすること - [OK]ボタンを押下して、[Doxygen GUI Frontend]ダイアログに戻り、[Save]ボタンを押下して設定内容を保存します。
- [Doxygen GUI Frontend] Step1で、Specify the working directory from which doxygen will run](Doxygenワーキングディレクトリ)を指定します。
4. Doxygenでソースコードを読み込む
- [Doxygen GUI Frontend] Step4にある[Start]ボタンを押下してXMLを生成します。
- 画面に "*** Doxygen has finished" と出力されればXML作成は完了です。
5. Doxygenで作成したXMLから astah* プロジェクトに変換する
- astah* professional (astah* UML)インストールフォルダ\api\sample\sample_doxegen_c_sharp\run.bat を使います。
- 例) C:\doxygen_xml配下のXMLを、C:\doxygen_xml\converted.astaに変換する
run.bat C:\doxygen_xml C:\doxygen_xml\converted.asta
本プログラムの設定-Config.propertiesファイル
設定ファイルを編集することで、一部挙動の設定が可能です。
astah* professional(astah* UML)インストールフォルダ\api\sample\sample_doxygen_c_sharp\doxygen_csharp\Config.properties
| jude_csharp_types_for_attribute | プロパティをクラスの属性として作成するか、関連として作成するかを設定する。 プロパティは通常、関連として作成されるが、ここで設定した型を持つプロパティは、クラスの属性として作成される。 例)BrickOut::Form1,BrickOut::Form2 (カンマ区切りで、型をネームスペース付きで列挙します。) |
クラス図を自動作成する
構造ツリーでパッケージ、サブシステム、モデル等のポップアップメニューより、クラス図を自動生成するメニューを選択します。
選択したパッケージ、サブシステム、モデル等の配下にあるモデルでクラス図を自動作成します。
コミュニティサイトのTIPS (旧製品名のJUDEで書かれています) ![]()
サンプルのコンパイル
ソースコードを改変した場合は、起動前にコンパイルが必要です。次のバッチファイルをダブルクリックしてください。
astah* professional(astah* UML)インストールフォルダ\api\sample\sample_doxygen_c_sharp\compile.bat



