Statics Report - System: 4.0, Version: 730, Date: 2004.01.01Designed for use with , Checkstyle, CKJM, CLOC, EMMA, FindBugs, JavaNCSS, JDepend, JUnit, Macaron, PMD, PMD-CPD, Java2HTML and Ant.

[Statics] package design

[scorecard] [analysis] [explanations]
{overview} {architecture} {design} {code} {test} {source control} {system specific}

Standard OO Metrics

Below you see the standard Object oriented metrics in tabular form. According to a NASA Study, they found the following values.

System analyzedJavaJavaC++


The figures suggest that the higher the CBO and WMC, the lower the quality of the system. This seems to hold for LCOM as well.

Package DesignTotal PackagesDistanceEfferent CouplingsAfferent CouplingsCyclesIllegal depLegal depMethods per Class [WMC]Depth of inheritance tree [DIT]Number of Children [NOC]Efferent Class Couplings [CBO/Ce]Afferent Class Couplings [Ca]Response for a Class [RFC]Lack of Cohesion [LCOM]
A module1090100%32610701515
B module20.2854100%112101.524.50.5
C and D module10.241100%1030102134435
E module10.522100%012101241
F module10.432100%102.5100.5152
G module0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN


The packages should be placed along the main sequence (marked with green in the figure). The top right corner is often called "the zone of uselessness" due to the package contents high abstractness and low usage. The opposite corner (bottom right) has been named "the zone of pain" due to low degree of abstraction and high usage. Changes in these packages usually imply extensive changes in the rest of the system.

Roll over the figure with your mouse to see the statistics. Press the mouse button to see the details of that package.

Public API

System APITotal API PackagesTotal API ClassesTotal API MethodsSource StatementsImport CouplingsExport Couplings
Total2 (16.7%)2 (22.2%)6 (14%)76 (15.6%)00
A module1 (100%)1 (100%)4 (100%)64 (100%)00
B module1 (50%)1 (50%)2 (66.7%)12 (70.6%)00
C and D module000000
E module000000
F module000000
G module000000