今回は、グラフィカルビュー機能の中から、ファイルや関数の依存関係を表示できる Butterfly とクラスの継承関係を表示できる UML Class Diagram の2つを紹介します。
※本記事に載せている画像は、CppUnit のソースコードを解析して生成したものです。
Butterfly
「グラフィカルビュー – Calls/CalledBy」は関数やメソッドの呼び出し/被呼び出し関係を別々に表示します。それに対して、Butterflyではそれらをまとめて表示できます。
以下の画像では、赤枠で囲われている関数「TestRunner」の依存関係を確認できます。
また、以下の画像のようにヘッダーファイルのインクルード関係も確認できます。
Butterfly の注意点は、Calls/CalledBy とは異なり、パラメーターの表示やレイアウトなどを変更できないところです。そのため、用途に合わせて、適切なグラフィカルビューを選択する必要があります。
ソースコードを修正した際の影響範囲の特定には、2次的3次的な影響を同時に確認できる Calls/CalledBy や Butterfly などのグラフ表示が役立ちます。
UML Class Diagram
UML Class Diagram は、クラスの継承関係を矢印で表示します。
クラスの情報としては、クラスの名前、そのクラスで定義されている関数/メソッド名とメンバ変数を表示できます。
関数/メソッド名とメンバ変数の左側にある記号の意味は以下の通りです。
+ : public
- : private
# : protected
以下の画像では、クラス「TestDecorator(派生クラス)」はクラス「Test(基底クラス)」を継承していることを確認できます。
なお、一般的なクラス図に記載される以下の情報は表示できません。
・多重度
・(関数/メソッドの)引数、戻り値の型
・関連、集約、コンポジション、依存の線形
ソースコードを目視で確認した際には、対象としたクラスがどのクラスを継承しているかを確認するのに時間がかかります。そんなときには、Understand の UML Class Diagram で、クラスの継承関係をグラフィカルに短時間で確認しましょう。
過去の記事で、他のグラフィカルビューについても紹介しています。
どのような情報をグラフ表示できるか、一度覗いてみてください。
「Understand Blog ラベル:グラフィカルビュー」