Overview of (non-trivial) calculated metrics
| Shortcut | Name | Description | Reference |
| Ca | Afferent coupling | Number of classes outside that depend upon classes inside (i.e. incoming dependencies) | [PAP] |
| Ce | Efferent coupling | Number of classes outside that classes inside depend upon. (i.e. outgoing dependencies) | [PAP] |
| I | Instability | Ce/(Ca+Ce This is a metric that has the range: [0,1]. If there are no outgoing dependencies, then I will be zero and the package is stable. If there are no incoming dependencies then I will be one and the package is instable. | [PAP] |
| Nc | Number of classes | Number of classes | [PAP] |
| Na | Number of abstract classes | Number of abstract classes (abstract class, interface) | [PAP] |
| A | Abstractness | Na/Nc The A metric has a range of [0,1]. A value of zero means that the package contains no abstract classes. A value of one means that the package contains nothing but abstract classes. | [PAP] |
| D | Distance | A+I-1 (as absolute value - modified!), it has a range of [-1,1]. Negative means „zone of pain" and positive means „zone of uselessness". | [PAP] modified |
| Rc | Relational coupling | Number of internal relations / Nc | [AUP] |
| SIZE | Number of compilation units | Number of compilation units | [LSD] |
| Component dependency | Number of elements an element depends directly or indirectly (transient) upon. | [LSD] | |
| CCD | Cumulative component dependency | Sum over all components Ci in a subsystem of the number of components needed in order to test each Ci incrementally. | [LSD] |
| ACD | Average component dependency | CCD/Number of components | [LSD] |
| CCDbbt | CCD of a tree like system | CCD of a tree like system | [LSD] |
| NCCD | Normalized cumulative component dependency | CCD/CCDbbt | [LSD] |
| CCDcdg | CCD for a cyclically dependent graph | N*N (N=Number of components) | [LSD] |
| Cumulated dependencies | Like the Component dependency, but calculated for other elements like Layer, Subsystem and Package | [LSD] | |
| Level | Levelization | [LSD] |
Bibliography
[PAP] Principles and Patterns, Robert C. Martin, 2000
[LSD] Large-Scale C++ Software Design, John Lakos, Addison-Wesley 1996
[AUP] Applying UML And Patterns, Craig Larman, Prentice Hall 2002