english japanese german

C# リバースプラグイン

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

download plugin

使い方

  1. 上記ダウンロードからcsharpreverse-x.x.x.jarファイルをダウンロードします。
  2. メインメニュー[ヘルプ] - [プラグイン一覧]を選択します。
    (バージョン6.8以降は、.jarファイルをastah*にドラッグ&ドロップしてインストールできます)
  3. astahプラグイン
  4. [インストール] ボタンを押下して、手順1でダウンロードした.jarファイルを選択します。 astahプラグイン
  5. メッセージに従ってastah*を再起動してください。
    astahプラグイン
  6. [ツール] - [C#]の先に、新メニュー[C#ソースコードの読み込み]が追加されていることを確認してください。
  7. astahプラグイン
  8. 入力するC#ソースコードを、Doxygenツールを用いてXMI化します。(Doxygenバージョン1.8.6にて動作確認)
  9. 6-1. SourceFourge Doxygen Page から、doxygen-x.x.x-setup.exeをダウンロードします。
    6-2. Doxygenのインストールと起動
    • - doxygen-x.x.x-setup.exeをダブルクリックして、ウィザードに従いインストールします。 (インストール手順)
    • - [スタート]メニューから [doxygen] - [Doxywizard] をクリックして起動します。
    6-3. Doxygenの設定
    • - Doxygen起動時に、[Doxygen GUI Frontend] ダイアログが表示されます。[Wizard] - [Topics] - [Project]を選択し、次の項目を設定します。
    • astahプラグイン
      Project name プロジェクト名
      Project version or id プロジェクトバージョン、もしくはID
      Source code directly ソースコードディレクトリ
      Scan recursively 再帰的にスキャンするかどうか、ONにするとサブフォルダも対象になります
      Destination directory XML出力先ディレクトリ
      ソースコードの読込みに失敗する可能性が発生する為、ディレクトリの文字列には、&, <, >, *, @の記号を使用しないでください。
    • - 続いて [Wizard] - [Topics] - [Mode]を選択し、各項目を設定します。
    • doxygen
      Select the desired extraction mode "All Entities" を選択
      Select Programming language to optimize the result for "Optimize for Java or C# output" を選択
    • - [Wizard] - [Topics] - [Output]を選択し、設定します。
    • astahプラグイン
      Select the output format(s) to generate "XML"を選択
    • - [Expert] - [Topics] - [Input]を選択し、設定します。
    • astahプラグイン
      INPUT_ENCODING UTF-8などソースコードの文字コードを入力。必ずソースコードと同一の文字コードを設定してください。(ご参照:Doxygen対応エンコーディング一覧)
      ENABLE_PREPROCESSING ON(*1)
      ソースやインクルードファイル内で見つかった全てのCプリプロセッサ指令を評価します。
      MACRO_EXPANSION ON(*1)
      ソースコード内の全てのマクロ名を展開します。
      EXPAND_ONLY_PREDEF デフォルト:OFF
      EXPAND_ONLY_PREDEFタグと MACRO_EXPANSIONタグの両方をONに設定した場合、
      マクロ展開はPREDEFINEDタグと EXPAND_AS_DEFINEDタグで指定されたものだけに制限されます。
      SEARCH_INCLUDES ON(*1)
      #includeが見つかると、INCLUDE_PATH内のインクルードファイルが検索されます。
      INCLUDE_PATH インクルードのパス (プリプロセッサによって処理されるべきインクルードファイルを含むディレクトリ)を指定します
      デフォルト:なし
      (*1): astah*ではマクロを扱えません。Doxygenが展開した定義を利用する必要がある為、ONに設定してください。
    • - メニューの[File] - [Save] から設定内容を保存します。
    • - [Doxygen GUI Frontend] Step3で、[Working Directory](Doxygenワーキングディレクトリ)を指定します。
    6-4. ソースコードを読込む
    • - [Run]タブにある[Run doxygen]ボタンを押下してXMLを生成します。
    • - 画面に "*** Doxygen has finished" と出力されれば、XML生成は完了です。
  10. astah*で、既存プロジェクトファイル(.asta)を開く、又はプロジェクトを新規作成します。
  11. [ツール] - [C#] - [C#ソースコードの読み込み]を選択し、5で準備した "index.xml"を含むディレクトリを選択してください。
  12. astahプラグイン
  13. 読込み完了後、構造ツリーでパッケージ、サブシステム、モデルなどを右クリックし、メニューより[クラス図を自動作成する]を選択します。選択したモデル配下の内容でクラス図が生成されます。

読込み失敗時の対処法


読込みに失敗する原因の一つに、Doxygen側で、エンコードを正しく設定できていない事が挙げられます。
読込み時にエラーが発生した場合は、下記の手順に従って、xmlファイルを再生成してください。

  1. 読込むC++ソースコードに使われているエンコードを確認してください。
    ※読込むソースコードファイル全てのエンコードが統一している必要があります。
    • 一つでも、異なるエンコードが使われたソースコードが含まれる場合、読込み時にエラーが発生して、正常にソースコードを読込む事ができません。
  2. Doxygenを起動します。上記手順6-3に従って、必要な設定を行います。
  3. [Expert] - [Input] - [INPUT_ENCODING]欄で、1で確認したエンコードを設定してください。(ご参照:Doxygen対応エンコーディング一覧)
  4. 上記手順6-4以降に従って、xmlファイルを再生成して、astahへの読込みを再度お試しください。

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

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

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


プラグイン一覧へ戻る