C# リバースプラグイン

ライセンス : Apache2.0

C#ソースコードを astahのモデルにリバースするプラグインです。

概要




インストール

  1. 上記Downloadボタンからcsharpreverse-x.x.x.jar ファイルをダウンロードします。
  2. .jarファイルを、astah*図上にドラッグ&ドロップします。
  3. プラグイン概要のダイアログが表示されるので[はい]を選択します。
  4. 次に表示されるメッセージに従ってastah*を再起動します。
    astahプラグイン
    ※[プラグイン]メニューは、バージョン7.2以降のみに存在します。 7.1以前をご利用の方はこちら。
  5. [ツール] - [C#]の先に、[C#ソースコードの読み込み]が追加されていることを確認してください。
    C#リバース

利用方法

まず、Doxygenツールを使って、入力するC#ソースコードをXMI化します。(Doxygenバージョン1.8.6にて動作確認)

  1. SourceFourge Doxygen Page から、doxygen-x.x.x-setup.exeをダウンロードします。
  2. doxygen-x.x.x-setup.exeをダブルクリックして、ウィザードに従いインストールします。(インストール手順はこちら)
  3. Doxygenを起動します。
  4. Doxygenを起動時すると、[Doxygen GUI Frontend]ダイアログが表示されます。[Wizard] - [Project]を選択し、次の項目を設定します。
    Doxygen
    Project name プロジェクト名
    Project version or id プロジェクトバージョン、もしくはID
    Source code directly ソースコードディレクトリ
    Scan recursively 再帰的にスキャンするかどうか。ONにするとサブフォルダも対象になります。
    Destination directory XML出力先ディレクトリ。ソースコードの読込みに失敗する可能性が発生するため、ディレクトリの文字列には、&, <,>, *, @の記号を使用しないでください。
  5. [Wizard] - [Mode]を選択し、各項目を設定します。
    Doxygen
    Extraction mode "All Entities" を選択
    Language "Optimize for Java or C# output" を選択
  6. [Wizard] - [Output]を選択し、設定します。
    Doxygen
    Output format "XML"を選択
  7. [Expert] - [Input]を選択し、設定します。
    Doxygen
    INPUT_ENCODING UTF-8などソースコードの文字コードを入力。必ずソースコードと同一の文字コードを設定してください。(参照: Doxygen対応エンコーディング一覧)
  8. [Expert] - [Preprocessor]を選択し、設定します。
    astahプラグイン
    ENABLE_PREPROCESSING ON: ソースやインクルードファイル内の全てのCプリプロセッサ指令を評価します。
    MACRO_EXPANSION ON: ソースコード内の全てのマクロ名を展開します。
    EXPAND_ONLY_PREDEF デフォルト:OFF
    EXPAND_ONLY_PREDEFタグと MACRO_EXPANSIONタグの両方をONに設定した場合、マクロ展開はPREDEFINEDタグと EXPAND_AS_DEFINEDタグで指定されたものだけに制限されます。
    SEARCH_INCLUDES ON: #includeが見つかると、INCLUDE_PATH内のインクルードファイルが検索されます。
    INCLUDE_PATH デフォルト:なし
    インクルードのパス (プリプロセッサによって処理されるべきインクルードファイルを含むディレクトリ)を指定します。

    astah*ではマクロを扱えません。Doxygenが展開した定義を利用する必要があるため、上記オプションはONに設定してください。

  9. メニューの[File] - [Save] から設定内容を保存します。[Working Directory](Doxygenワーキングディレクトリ)を指定して、[Run]タブにある[Run doxygen]ボタンを押下してXMLを生成します。 画面に "*** Doxygen has finished" と出力されれば、XML生成は完了です。
    Doxygen
  10. astah*で既存プロジェクトファイル(.asta)を開く、又はプロジェクトを新規作成します。
  11. [ツール] - [C#] - [C#ソースコードの読み込み]を選択し、Doxygenで生成された"index.xml"を含むディレクトリを選択してください。
    astahプラグイン
  12. 読込み完了後、構造ツリーでパッケージやモデルなどを右クリックし、[クラス図を自動作成]を選択して図を自動生成します。

読込み失敗時の対処法

  • Doxygen側でエンコードを正しく設定できていない可能性があります。下記手順に従って、xmlファイルを再生成してください。
    1. C#ソースコードに使用しているエンコードを確認してください。
      入力対象のソースコードファイル全てのエンコードが統一している必要があります。
    2. Doxygenを起動します。手順4〜に従って、必要な設定を行います。
    3. 手順7で、1で確認したエンコードを設定してください。(参照: Doxygen対応エンコーディング一覧)
    4. 手順9〜に従って、xmlファイルを再生成して、astahへの読込みを再度お試しください。
  • 動作確認しているDoxygenのバージョンは1.8.6です。これ以外のバージョンをご利用の場合は、1.8.6で再度お試しください。

この対処法をお試し頂いた後も、読込み時にエラーが発生する場合は、弊社サポートへお問合せください。



未対応の項目

  • abstract
  • attribute
  • extern
  • partial
  • 英語以外(例:日本語)を含むクラス、属性、操作等(doxygen1.5.7以降で解消済み)
  • 英語以外(例:日本語)のパスを含む *.cs


旧バージョンのダウンロード

バージョン リリース日 対応エディション ダウンロード
1.0.5 2015.2.23 version6.5以降