UML Legend

This page describes the notation for several diagrams used in the documentation, which is a slight variation of UML.

Classes

Classes are represented by boxes, containing there names:

inline_dotgraph_5.dot

(In most cases, the attributes and operations are left away, for better readibility. Just click on it, to get to the detailed description.)

Of course, in C++, there are no interfaces, but here, we call a class, which has only virtual abstract methods, and so does not provide any functionality, an interface.

Templates get a yellow background color:

inline_dotgraph_6.dot

Objects

In some cases, an examle for a concrete constellation of objects is shown. An object is represented by a box containing a name and the class, separated by a colon.

inline_dotgraph_7.dot

The names (x, y, and z) are only meant within the context of the diagram, there needs not to be a relation to the actual names in the program. They should be unique within the diagram.

Classes and objects may be mixed in one diagram.

Associations

inline_dotgraph_8.dot

In this example, one instance of A refers to an arbitrary number of B instances (denoted by the "*"), and each instance of B is referred by exactly one ("1") A. The label x is the name of the association, in most cases the name of the field, e.g. A::x.

Possible other values for the multiplicity:

Implementations and Inheritance

inline_dotgraph_9.dot

In this example,

Template Instantiations

Template instantiations are shown as own classes/interfaces, the instantiation by the template is shown by a yellow dashed arrow:

inline_dotgraph_10.dot

In this example, the interface template C uses the template argument as super interface.

Packages

Packages are presented by dashed rectangles:

inline_dotgraph_11.dot

Packages may be nested.


Generated on Wed Sep 7 02:00:36 2011 for Dillo by  doxygen 1.5.9