http://xradar.sourceforge.net


Statics Report - System: 1.0, Version: 0, Date: TodayDesigned for use with Checkstyle, CKJM, FindBugs, JavaNCSS, JDepend, 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++
Classes4610001617
Lines50,000300,000500,000

Quality"Low""High""Medium"
CBO2.481.252.09
LCOM447.6578.34113.94
RFC80.3943.8428.60
NOC0.070.350.39
DIT0.370.971.02
WMC45.711.1023.97

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]
Total1210.0891644093.39%329292.90.30.142.661.228.7623.54
Ant10.08121100%40111.207.6140.858.4
CPD10203100%074.491.010.143.252.7914.9218.16
DCD30.16234100%4311.750.60.623.923.4427.172.74
renderers10.02164100%035.720.220.893.941.7227.1713.5
language definition module540.1742830196.3%213166.770.390.387.272.7220.6165.46
stat10.737100%108.5100.571219
util100.21923860%3104.111.950.022.342.9114.077.83

Instability-Abstractness

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
Total000000
Ant000000
CPD000000
DCD000000
renderers000000
language definition module000000
stat000000
util000000