[opencms-dev] review

Sebastian Dietrich Sebastian.Dietrich at anecon.com
Thu Mar 18 20:24:02 CET 2004


Hi!
 
Since my company wants to sell services based on OpenCMS we are going to
review the design & code quality of it. This static-code review will be
based on several tools, mainly sotograph (see
http://www.software-tomography.de/html/sotograph.htm) and will show:
*) where the code doesn't meet the architecture (to our knowledge
sotograph is the only tool that can do this)
*) where there are cycles (over subsystems, packages, classes)
*) where the metrics indicate bad design/code (e.g. excessive
overloading, too many subclasses, stability-metric violations, ...)
*) where there are bad-smells that should definitively be removed (huge
packages/classe/methods, unused classes/methods/attribs, ...)
 
I am going to send a pdf-Version of the report to the list.
 
But I need some help from you as well:
One needs to describe the defined architecture in the tool - and since I
don't know the architecture of OpenCMS maybe someone could help me to
define the architecture. I haven't found any architecture document that
could help me on this task.
Sotograph needs an architecture defined like this:
Packages are to be grouped in subsystems and subsystems are to be
grouped in layers.
e.g.
Subsystem A = Package 1, 2, 3, 4 (including all sub-packages)
Subsystem B = Package 5, 6, 7
Layer 1 (GUI) = Subsystem A & B
 
Then one can restrict the architecture like this:
Subsystems can have facade-packages --> a call/reference to a
non-facade-package from outside is illegal
Layers can restrict intra-layer-usage --> a call/reference from one
subsystem to another in the layer is illegal
Layers can restrict inter-layer-usage --> a call/reference to a distant
layer is illegal, only calls to the next layer are legal
Layers can never call upwards --> a call/reference to an upper-layer is
always illegal
 
We should model all the restrictions that are in the architecture
otherwise we will find out, that OpenCMS has just a few
architecture-errors because it has a way to simple architecture.
 
Any help would be appreciated,
Sebastian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20040318/de7af695/attachment.htm>


More information about the opencms-dev mailing list