VisualStudioでC#のクラス図を生成してみた
(VisualStudio2019の場合)

どもです。

VisualStudioの機能を使用して、C#のコードからクラス図を作成してみました。
VisualStudioも"2022″がリリースされている昨今において、使用しているのは"2019″です。

0. 開発環境

今回のエントリの内容は、以下の環境で作業を行っています。

開発/実行環境
項目 内容
OS Windows10 Pro(21H1)
CPU i7-8700
メモリ 16GB
IDE Visual Studio Community 2019
Version 16.11.18

1. ツールのインストール

既存コードからのクラス図の生成ですが、まずツールのインストールが必要です。
ツールのインストールは、「Visual Studio Installer」から実施します。

  1. まず、「Visual Studio Installer」を起動してツールをインストールしたいVisualStudioを選択します。
    「変更中–VisualStudio…」の画面が表示されますので、画面上部のタブの中から「個別のコンポーネント」画面を表示します。



  2. ここで、「コンポーネントを検索する」欄に「クラス」と入力します。
    すると、「クラスデザイナー」が表示されますので、これをチェックします。
    あとは画面右下の「ダウンロードしながらインストールする」をクリックすると、ダウンロートとインストールが開始されます。



  3. インストールが完了すれば、準備完了です。

2. 既存コードからのクラス図の作成

準備が完了したので、次は既存コードからクラス図を作成してみます。

今回は、「TestParser」という、GitHub公開しているツールの中のとあるソリューションにプロジェクトを追加してみます。

  1. クラス図を追加したいプロジェクトを選択して右クリック、[追加]-[新しい項目]を選択します。



  2. 「新しい項目の追加」画面が表示されます。
    この画面中で[Visual C# アイテム]-[全般]を選択します。すると、画面中央の少し下の辺りに「クラスダイアグラム」が表示されますので、これを選択します。
    (ファイル名は、任意の名前を設定して下さい。)



  3. 追加直後のクラス図は、使い方に関するメッセージが表示されています。



    この画面に対して、クラス図を生成したいクラスが実装されたソースファイルをドラッグアンドドロップします。
    すると、クラス図が生成されます。



3. 生成されたクラス図のイイところ/ヨクナイところ

3.1. イイところ

3.1.1. クラス詳細表示

生成されたクラス図の任意のクラス上で右クリック、[クラスの詳細]を選択します。



すると、「クラスの詳細」画面が表示されます。
この画面では、そのクラスのプロパティ/フィールド/メソッド/イベントが一覧で表示されます。



これにより、ソースコードを表示して上限にスクロールしなくても、クラスの内容をすぐに確認がでいます。

3.1.2. クラスの編集

次に、この画面上でクラスの内容を編集ができます。

「ツールボックス」画面に、クラス図で描画可能な内容が一覧で表示されます。これらを用いることで、クラス図の画面上で、クラスの内容を設定が可能です。



加えて、「クラスの詳細」画面でもプロパティ/フィールド/メソッド/イベントの設定が可能です。
(ただし、メソッドの処理については、当然ですが.csファイルで実装する必要があります。)

3.2. ヨクナイところ

次に、この機能のヨクナイところです

3.2.1. 関連が出力されない

既存コードからクラス図を作成した場合、クラス間の関連が反映されません。
加えて、改めて関連を追加しようとした場合、新しいプロパティとして追加されてしまいます。
せっかくクラス図が自動で生成できても、これは非常にもったいないです。

4. まとめ

今回は、VisualStudio上でクラス図を操作する機能について紹介しました。
またこの機能では、既存のコードからクラス図を自動で生成できます。
しかし自動で生成されたクラス図は、関連が表示されなかったり、一部ですが、痒いところに手が届かない部分はあると感じます。
それでも、コードから手動よりも、はるかに簡単にクラス図をリバースで生成可能であり、有効なツールであることは間違いないと思います。

今度は、この機能を使用したクラスの実装を行ってみたいと思います。

ではっ!