従来のソフトウェア資源の品質については、ISO/IEC9126において「ソフトウェアの品質特性」として定義されています。
ソフトウェアメトリクスとは、ソフトウェアの品質を計る物差しのようなもので有名なものにはLOC (Lines of code)というものがあります。LOCを例に挙げてソフトウェアメトリクスについて説明すると、あるプログラムのソースコードをLOCという物差し(尺度)で計測することによって、そのソースコードの難しさや保守の困難さ等といった物を評価します。
C&Kメトリクスとはオブジェクト指向で設計されたソフトウェアを計測するもので、ソースコード中のクラスに着目し、主に保守性を評価します。 C&Kメトリクスには6つのメトリクスがあり、メソッドの複雑さや、スーパクラスの数、サブクラスの数といったようなものを計測し、品質を評価します。(詳しくは参考文献を参照してください)
--- | WMC | DIT | NOC | CBO | RFC | LCOM |
計測対象 | メソッドの複雑さ | スーパクラスの数 | サブクラスの数 | 関係するクラスの数 | 関係するメッセージ数 | クラスの凝集性 |
評価品質 | 保守性 | 使用性、保守性 | 保守性 | 保守性 | 保守性 | 保守性 |
Shyam R. Chidamber and Chris F. Kemerer, “A Metrics Suite for Object Oriented Design,” IEEE Transactions on Software Engineering, Vol.20, No.6, pp.476-493, June. 1994.