Dillo v3.1.1-14-g8f67d6e0
Loading...
Searching...
No Matches
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:

dot_inline_dotgraph_7.png

(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:

dot_inline_dotgraph_8.png

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.

dot_inline_dotgraph_9.png

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

dot_inline_dotgraph_10.png

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:

  • a concrete number, in most cases "1",
  • a range, e.g. "0..1",
  • "*", denoting an arbitrary number.

Implementations and Inheritance

dot_inline_dotgraph_11.png

In this example,

  • the interface B extends the interface A,
  • the class C implements the interface A, and
  • the class D extends the class C.

Template Instantiations

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

dot_inline_dotgraph_12.png

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

Packages

Packages are presented by dashed rectangles:

dot_inline_dotgraph_13.png

Packages may be nested.