使用したいGraphviz+DoxygenC++コードに基づいてクラス図を生成します。 DoxygenにはネイティブDOTサポートが付属しているため、これはすでに機能しています。ただし、対応するアクセス修飾子(public、privateなど)、クラスの戻り値およびパラメータータイプを使用して、UMLのような出力を生成することは可能です下の図に似た方法?
私はスレッドを知っています doxygenを使用してC++ソースからUMLクラス図を作成する方法 ですが、質問には答えません。
次のソースファイルを作成しますexample.cpp
:
class Animal
{
public:
void die();
string name;
int age;
};
class Dog : public Animal
{
public:
void bark();
};
class Cat : public Animal
{
public:
void meow();
};
実行doxygen -g
および生成されたDoxyfile
の以下のオプションを変更します。
EXTRACT_ALL = YES
HAVE_DOT = YES
UML_LOOK = YES
doxygen
を実行し、Animalクラスの出力を確認します。doxygenはメソッドとフィールドの戻り値の型を表示しませんが、上記の図と同様になります。
私は同様の問題を抱えていましたが、今ではうまく解決しました。
手順は次のとおりです(Doxygen-DoxywizardのGUIバージョンを使用していると仮定)
エキスパートボタンをクリックします
[ドット]タブに移動し、DOT_PATHを選択します。プログラムをインストールしたフォルダーを参照します。例: "C:/ Program Files(x86)/Graphviz2.32/bin"
それが役立つことを願って、アニット
Doxygraphは、プロジェクトのソースコードからUMLクラス図のリバースエンジニアリングを自動化し、それらをインタラクティブなWebアプリとして提示するツールのコレクションです。
Doxygenに依存してソースコードを解析し、収集した情報の中間XML表現を作成します。したがって、Doxygenがサポートするすべてのプログラミング言語(C、C++、C#、Objective C、Java、Python、PHP、Tcl、 D、IDL、VHDL、およびFortran。
複製されたプロジェクトからREADMEを読む必要があります。
あなたの結果を達成するための可能な解決策は、 plantuml を使用することですが、それはドキュメントでより多くの作業が必要です。