UML モデルを分析するための静的分析メトリック

この内容は、バージョン 7.5.4 以降にあてはまります。UML モデルに関するいくつかのタイプの統計情報を収集して、分析に役立てることができます。例えば、ダイアグラムの数、パッケージ内のクラスの数、または継承の階層内の分類子の深さを発見することができます。 UML メトリックは、結合、ダイアグラム、継承、およびサイズの 4 つのカテゴリーにグループ化されます。

結合メトリック

以下の表に、結合カテゴリーのメトリックをリストします。
メトリック名 説明
抽象度 このメトリックでは、パッケージ内の全クラス数に対する、抽象クラスおよびインターフェース・クラスの比率を計算します。
求心性結合 このメトリックでは、パッケージ内の 1 つの分類子を参照するパッケージ外の分類子の数をカウントします。分析中、内向きの継承関係、内向きの依存関係、属性、および操作の各パラメーターが検査されます。 親ノードには、下位ノードの結果の平均が表示されます。
遠心性結合 このメトリックでは、パッケージ内の 1 つの分類子が参照する 1 つの異なるパッケージ内の分類子の数をカウントします。 分析中、外向きの継承関係、外向きの依存関係、属性、および操作の各パラメーターが検査されます。 親ノードには、下位ノードの結果の平均が表示されます。
不安定性 このメトリックでは、すべての結合 (求心性と遠心性の合計) に対する遠心性結合の比率を計算します。
標準距離 このメトリックでは、メイン・シーケンスへの正規化距離を計算します。メイン・シーケンスとは、抽象度と不安定性のバランスが取れる位置を指します。

ダイアグラム・メトリック

以下の表に、ダイアグラム・カテゴリーのメトリックをリストします。
メトリック名 説明
名前空間でのダイアグラムの数 このメトリックでは、名前空間内のダイアグラムの数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。
ダイアグラムのエッジの数 このメトリックでは、ダイアグラム内のエッジの数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。
ダイアグラムの図形の数 このメトリックでは、ダイアグラム内の図形の数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。

継承メトリック

以下の表に、継承カテゴリーのメトリックをリストします。
メトリック名 説明
分類子の祖先数 このメトリックでは、1 つの分類子が特殊化する分類子の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子の子孫数 このメトリックでは、1 つの分類子が汎化する分類子の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
階層内の分類子の深さ このメトリックでは、継承の階層内での分類子の深さを判別します。つまり、最も深い継承のブランチ内にある汎化の数を判別します。 親ノードには、下位ノードの結果の平均が表示されます。
分類子が継承する属性の数 このメトリックでは、分類子の汎化分類子内にある属性のうち、その分類子がオーバーライドしない属性の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子が継承する操作の数 このメトリックでは、分類子の汎化分類子内にある操作のうち、その分類子がオーバーライドしない操作の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子がオーバーライドする属性の数 このメトリックでは、分類子の汎化分類子内にある属性のうち、その分類子がオーバーライドする属性の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子がオーバーライドする操作の数 このメトリックでは、分類子の汎化分類子内にある操作のうち、その分類子がオーバーライドする操作の数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
クラスが実装するインターフェースの数 このメトリックでは、クラスにより実装されるインターフェースの数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。

サイズ・メトリック

以下の表に、サイズ・カテゴリーのメトリックをリストします。
メトリック名 説明
分類子ごとの属性の平均数 このメトリックでは、分類子で定義している属性の平均数をカウントします。ただし、継承された属性は含みません。 親ノードには、下位ノードの結果の平均が表示されます。
パッケージごとの分類子の平均数 このメトリックでは、パッケージ内の分類子の平均数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子ごとの操作の平均数 このメトリックでは、分類子で定義している操作の平均数をカウントします。ただし、継承された操作は含みません。 親ノードには、下位ノードの結果の平均が表示されます。
名前が「get」、「is」、または「has」で始まる、分類子中の操作の平均数 このメトリックでは、分類子で定義している getter の平均数をカウントします。ただし、継承された getter は含みません。 getter は、分類子によって定義されるプロパティーの値を返すメソッドです。 getter メソッドの名前は、接頭部 get (プロパティーの非論理型値を返します)、is (論理型プロパティーを返します)、または has (項目の集合であるプロパティーに、ある特定の値が含まれていることを示します) のいずれかで始まります。 親ノードには、下位ノードの結果の平均が表示されます。
名前が「set」で始まる、分類子中の操作の平均数 このメトリックでは、分類子で定義している setter の平均数をカウントします。ただし、継承された setter は含みません。 setter は、分類子によって定義されるプロパティーの値を設定するメソッドです。 setter メソッドの名前は、接頭部 set で始まります。 親ノードには、下位ノードの結果の平均が表示されます。
操作ごとのパラメーターの平均数 このメトリックでは、操作が持つパラメーターの平均数をカウントします。 親ノードには、下位ノードの結果の平均が表示されます。
分類子中の属性の数 このメトリックでは、分類子で定義している属性の合計数をカウントします。ただし、継承された属性は含みません。 親ノードには、下位ノードの結果の合計が表示されます。
分類子中の操作の数 このメトリックでは、分類子で定義している操作の合計数をカウントします。ただし、継承された操作は含みません。 親ノードには、下位ノードの結果の合計が表示されます。
名前が (set) で始まる分類子中の操作の数 このメトリックでは、分類子で定義している setter の合計数をカウントします。ただし、継承された setter は含みません。 setter は、分類子によって定義されるプロパティーの値を設定するメソッドです。 setter メソッドの名前は、接頭部 set で始まります。 親ノードには、下位ノードの結果の合計が表示されます。
名前が「get」、「is」、または「has」で始まる、分類子中の操作の数 このメトリックでは、分類子で定義している getter の合計数をカウントします。ただし、継承された getter は含みません。 getter は、分類子によって定義されるプロパティーの値を返すメソッドです。 getter メソッドの名前は、接頭部 get (プロパティーの非論理型値を返します)、is (論理型プロパティーを返します)、または has (項目の集合であるプロパティーに、ある特定の値が含まれていることを示します) のいずれかで始まります。 親ノードには、下位ノードの結果の合計が表示されます。
パッケージ内の分類子の数 このメトリックでは、パッケージ内の分類子の合計数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。
操作中のパラメーター数 このメトリックでは、操作が持つパラメーターの合計数をカウントします。 親ノードには、下位ノードの結果の合計が表示されます。

フィードバック