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.

Aggregation ("part-of" relationship).

Aggregation is a special case of association. An aggregation is an "part-of" relationship where parts (one or more classes) belongs to a whole (=collection). If the whole is destroyed, the parts are NOT destroyed. Thus the parts are independent of the whole and may be included in several aggregates. The whole has a unfilled diamond ending point.

Example 1:
A car requires one gearbox, one engine and four wheels. The parts has no strong relationship whith the whole. The parts can exists independently (e.g. the engine can be used on a boat).

uml aggregation

    class CarRadio {

    class Car {
        CarRadio radio = new CarRadio();