An association is a structural relationship between classes that specifies that objects of one class are connected to objects of another class. An association is represented as a solid line drawn between the classes.
An association between two classes is known in UML as a binary association. In a binary association, both ends may attach to the same class. The links of such an association may connect two different objects from the same class or one object to itself. You may also create associations between three classes (ternary association), and more than three classes ( n-ary association, where n is a variable specifying the number of classes involved).
To add information to an association, open its definition through standard System Architect techniques (double-click on the line, or right-mouse click and select Edit, or select the line and choose Edit, Association from the menu).
Class roles
The definition of the association presents a grid of the Class Roles that the association is involved in. Each Association End is presented as a row in the grid. Two association ends are presented for a typical, binary association. Three association ends (one for each class involved) are presented for a ternary association, etc.
Association ends
The end of an association where it connects to a class is called an association end. Most of the interesting information about an association is attached to its ends. The association end is part of the association, not part of the class.
Name of association end
The name of the association end is displayed on the diagram. Naming each association end is optional.
Multiplicity
Each end of the association line shows the instances of the class to which it connects. This is called the multiplicity of the association.
If the multiplicity of an association end is greater than one, then the set of related objects can be ordered or unordered. You may specify the ordering of each association end. This acts as a constraint on the association. If you do not specify an ordering, the association end is assumed to be unordered. The following three kinds of ordering can be specified:
Unordered: The elements form an ordered set. This is the default. It is not shown on the diagram.
Ordered: The elements of the set have an ordering. Duplicates are prohibited. If you choose an association end to be ordered, the word “ordered” is displayed on the diagram at that association end, within brackets.
Sorted: The elements are sorted based on their internal values. The actual sorting rule is specified as a separate constraint. If you choose an association end to be sorted, the word “sorted” is displayed on the diagram at that association end, within brackets.
Aggregation
You may specify that one class in a relationship is the aggregate of the other by specifying Aggregate or Composite Aggregate within the Aggregation property of that class's association end.
Aggregation: A hollow diamond is attached to the association end at the class that is the aggregate.
Composite Aggregation: A filled-in diamond is attached to the association end at the class that is the composite aggregate.
You may navigate between objects of one class to objects of another class in an association. Unless otherwise specified, navigation across an association is bidirectional. You may also specify that navigation is limited to one direction.