Visual Studio .NET プロジェクトでは、すべての名前空間、クラス、メソッド、およびプロパティを視覚的に表現する "クラス ダイアグラム" をプロジェクトに追加できます。Win32 (.NET ではない) C++ プロジェクトでこれを行う方法はありますか? Visual Studio 自体またはサード パーティのツールを使用しますか?
7 に答える
ほとんどの UML ツールはそれができるはずです。Sparx Systems Enterprise Architectがそうしていることは知っています。
複数の C++ プロジェクトで構成される Visual Studio 2008 ソリューションがある場合、プロジェクトごとに 1 つのクラス ダイアグラムしか生成できません。
たとえば、10 個のライブラリ プロジェクトにリンクする 1 つのアプリケーション プロジェクトがある場合、11 個の個別のクラス図を生成する必要があります。
これを回避するには 2 つの方法がありますが、どちらも快適ではありません。
- すべてのソースを 1 つのプロジェクトに詰め込みます。
- 1 つのプロジェクト (おそらくアプリケーション) のクラス ダイアグラムを作成し、他のすべてのプロジェクトからクラス ダイアグラムにファイルをドラッグします。
Visual Studio クラス デザイナーの機能のより詳細な調査については、「Visual C++ クラス デザイナー」を参照してください。
Visual Studio での C++ クラス ダイアグラムのサポートが不十分であることを考えると、所有しているクラスの単純なリスト以上のものが必要な場合は、おそらく商用ツールを使用することをお勧めします。 Excel Softwareの WinTranslatorは一見の価値があるかもしれません。また、私が一緒に働いている誰かがSource Insightを使用しています。
プロジェクトが C++ ベースのプロジェクトの場合、最初に C++ のクラス図を作成する必要があります。プロジェクトに「n」個のサブプロジェクトが含まれている場合、「n+1」個のクラス図を作成する必要があります。
基本的に、クラス図には含まれています
- クラス変数。
- クラス関数。
- クラス間の関係。
クラスに必要なすべてのプロパティをクラス ダイアグラム内に配置する必要があります。3行タイプのボックスを持つテーブル(グラフ構造)のように見えます。
行 1. クラス名 (オブジェクト図の場合は、下線を引く必要があります)。
行 2. 変数リスト (1 行に 1 つの変数)。
行 3. 関数リスト (1 行に 1 つの関数)
あるクラスと別のクラスの間の関係を作成する必要があります。
クラス デザイナーは、VS 2008 であっても C++ 向けではありません。より専門的なツールを使用することをお勧めします。テンプレートを多用しない単純なプロジェクトで機能します。また、codeplex からモデリング パワー トイズを入手します。
部分的な特殊化を試して、すべてを単一の形状に詰め込む方法を確認してください。