C++ リバースプラグイン

ライセンス : Apache2.0

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

概要




インストール

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



利用方法

まず、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] - [Doxywizard] をクリックして起動します。
  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 C++ output" もしくは "Optimize for C++/CLI 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++ソースコードの読み込み]を選択し、5で準備した 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で再度お試しください。

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




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

バージョン リリース日 対応エディション ダウンロード
1.1.0 2017.3.24 version6.8 - 9.2
1.0.9 2015.7.17 version6.7
1.0.5 2013.3.22 version6.6