132
138

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacでDoxygenとGraphvizを使ってクラス図を出力する

Last updated at Posted at 2014-11-06

概要

大規模なプロジェクトになるとソースコードの全貌を視覚的に把握したくなることがあるかと思います。
そこでDoxygenというドキュメント生成ツールと、描画ツールであるGraphvizを用いてクラス図を作成する方法を紹介します。

環境

$ sw_vers 
ProductName:	Mac OS X
ProductVersion:	10.9.5
BuildVersion:	13F34

インストール

Homebrewから簡単にインストールできますが、各OSごとに用意されているインストーラを用いてもインストールできます。

$ brew install doxygen
$ brew install graphviz

インストーラはこちら。
Doxygen: http://www.stack.nl/~dimitri/doxygen/download.html
Graphviz: http://www.graphviz.org/Download.php

使い方

まず目的のソースコードのあるルートディレクトリに設定ファイルを出力します。

$ doxygen -g

Configuration file `Doxyfile' created.

Now edit the configuration file and enter

  doxygen Doxyfile

to generate the documentation for your project

$ doxygen -g my_libraryのようにして名前をつけることも可。

設定ファイル内には様々なオプションがありますが、変える必要のあるオプションはそれほど多くないと思います。デフォルトでOFFになっているもののONにした方がよいと考えられる主なオプションは以下の通りです。

option default description
PROJECT_NAME "My Project" クラス図を作成したいプロジェクトの名前
EXTRACT_PRIVATE NO privateなメンバ変数・メンバ関数も出力する
EXTRACT_STATIC NO staticなメンバ変数・メンバ関数も出力する
EXTRACT_ANON_NSPACES NO 匿名の名前空間についても出力する
RECURSIVE NO ソースコードを再帰的に検索する
HAVE_DOT NO YESに設定するとgraphvizなどの描画ツールを使用してクラス図を出力する
DOT_NUM_THREAD 0 スレッド数
CALL_GRAPH NO 関数やメソッドを呼び出す側の依存関係を描画する
CALLER_GRAPH NO 関数やメソッドを呼び出される側の依存関係を描画する

オプションの設定後、

$ doxygen

と入力すると、設定ファイルのあるディレクトリにソースの解析結果の入ったhtmlというサブディレクトリが作成されます。html/index.htmlをブラウザにドラッグアンドドロップすると以下のように解析結果が表示されます。

screenshot_doxygen.png

132
138
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
132
138

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?