Logo

6.2 Class Blueprint

The Class Blueprint is another famous polymetric view that shows the internals of a class. The class is split into 5 layers:

  1. Initialization layer
  2. Public interface layer
  3. Private implementation layer
  4. Accessor layer
  5. Attribute layer

Furthermore, there are two types of edges:

  • Invocations between methods (shown with blue)
  • Accesses from methods to attributes (shown with cyan)

The picture below shows one example of a class that has one constructor, a wide public interface and its internal implementation is split into several small methods that present several layers of indirection. Furthermore, it has many accessors, but only a handful of them are actually used internally; most attributes are accessed directly.

Class Blueprint of org.argouml.kernel.ProjectImpl

This visualization can be obtain from the contextual menu of a class: Visualize/Class Blueprint.

Class Blueprint can also be shown for multiple classes by simply invoking Visaulize/Blueprint complexity from the class group contextual menu.

For example, in the picture below we see an entire class hierarchy, in which each larger gray rectangle represents a class and the gray edges represent inheritance:

Blueprint complexity of the ArgoFigGroup class hierarchy from ArgoUML 0.28.1

User Contributed Notes

nicolas.anquetil (24 June 2015, 5:11 pm)

More detailed description can be found in the paper:

"The Class Blueprint: A Visualization of the Internal Structure of Classes"

by Michele Lanza and Stephane Ducasse

(http://www.inf.usi.ch/faculty/lanza/Downloads/Lanz01d.pdf)

christophe.detroyer (16 May 2014, 11:31 am)

I have a slight idea of what the color means. I *think* orange boxes (or brown?) indicate high coupling.

srinivas.sudhindra (7 March 2012, 11:24 am)

Need more details like what the height, width and color of the boxes represent in this visual.

ross (11 November 2011, 12:54 am)

If the description above is meant to tell us how to read the figures, it is much too brief. I have only a foggy idea of what the different graphical elements mean after reading it.

vonbecmann (11 February 2011, 8:26 pm)

mispelling: Visaulize should be Visualize.

im sorry but the above note changed when i saved it.

vonbecmann (11 February 2011, 8:19 pm)

Class Blueprint can also be shown for multiple classes by simply invoking Visaulize/Blueprint complexity from the class group contextual menu.

^

|

mispelling

Add a Note