UML Reference

The Unified Modeling Language (UML) is a language which can be used to model software systems. It is is not a programming language or a tool. With UML you can specify (what and how), visualize, construct, and document artifacts (= deliverables, such as documents, source code etc).

UML was conceived by Rational Software Corporation and three persons Grady Booch, James Rumbaugh, and Ivar Jacobson.

UML is maintained by the Object management Group (OMG) and more information can be found at their website:

This UML reference contains brief summaries of UML elements. All drawings are created with ArgoUML.


An association is a relationship between two classes. The classes are connected by a line. By using an open arrow head the direction of the relationship can be identified. When on both ends no arrow heads are drawn than by default bidirectional is assumed.

An dashed association indicates instantiation of objects, that is creation of objects.

Optionally roles (e.g.: chauffeur, vehicle) can be attached at the ends of the association and an association name (e.g.: drives) can be given if the association is not clear.

The number of objects involved in each role of the association is indicated by the multiplicity. If this is omitted than by default 1 is assumed.

Example 1:

Navigability: bidirectional
Multiplicity: 1-to-many

    class Person {
        protected Vector myCar;

    class Car {
        protected Person myPerson;

Example 2:

Navigability: Person to Car
Multiplicity: 1-to-1

    class Person {
        protected Car myCar;

    class Car {