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]
Total1490.1154476978.52%003.410.440.082.191.99.4217.99
api module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
client module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
codec module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
common module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
config module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
configuration module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
dtx module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
exchange module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
extras module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
filter module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
framing module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
interop module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
jms module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
jndi module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
management module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
naming module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
nclient module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
njms module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
oldtopic module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
ping module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
plugins module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
pool module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
protocol module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
qman module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
requestreply module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
sasl module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
security module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
server module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
ssl module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
sustained module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
test module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
testkit module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
thread module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
tools module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
topic module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
transport module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
url module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN
util module.0NaN00NaN%00NaNNaNNaNNaNNaNNaNNaN

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
Total11 (3.7%)43 (1.9%)186 (2.3%)2171 (3.9%)00
api module.000000
client module.000000
codec module.000000
common module.000000
config module.000000
configuration module.000000
dtx module.000000
exchange module.000000
extras module.000000
filter module.000000
framing module.000000
interop module.000000
jms module.000000
jndi module.000000
management module.000000
naming module.000000
nclient module.000000
njms module.000000
oldtopic module.000000
ping module.000000
plugins module.000000
pool module.000000
protocol module.000000
qman module.000000
requestreply module.000000
sasl module.000000
security module.000000
server module.000000
ssl module.000000
sustained module.000000
test module.000000
testkit module.000000
thread module.000000
tools module.000000
topic module.000000
transport module.000000
url module.000000
util module.000000