Standards:
Association
Topics
Background
An association is a structural relationship that specifies that objects of one class
are connected to objects of another. There are two special forms of association;
aggregation and composition - the standards for these elements are the same as used for
associations (although they have their own pages see Standards:
Aggregation and Standards: Composition).
Naming Standards
An association may be named. The name of the association should reflect the purpose of
the relationship and be a verb phrase; association names are optional but should be used
where they add clarity to the model. Association names should start with an upper
case letter.
Each end of an association is a role specifying the face that a class plays in the
association. Each role must have a name, and the role names opposite a class must be
unique. The role name should be a noun indicating the associated object's role in relation
to the associating object. A suitable role name for a Teacher
in an association with a School Class would, for
instance, be lecturer. You should avoid names like
"has" and "contains." Role names should start with a
lower case letter.
Where only single associations exist between two classes no names are required. If
there is more than one association between any two classes then the associations must be
named or explicit role names must be applied. The name of the association can be
omitted if role names are used.
Note: When there is no role name on one of the ends of an association then the class
name is used as a default role name.
General Documentation Standards
All association must have an explicit multiplicity defined.
All other association documentation (except for naming) is optional.
Bi-directional associations are allowed in the Analysis Model.
In addition to setting the multiplicity and navigability of the association, each
association end should be characterized using the following types of constraint:
Initial Value: The result of traversing the association on object creation
Invariants: Details of any invariant conditions that apply to the association end
Valid Ranges: Details of any range limitations applied to the objects held
Validation Rules: Details of any validation rules that apply to the objects held
where these are not already identified by the association or the associated classes.
Stereotypes
Stereotype |
Source |
Comments |
<<subscribes>> |
RUP |
A subscribes-association between
two classes indicates that objects of the subscribing class will be informed when a
particular event has occurred in objects of the associated class. A subscribes-association
has a condition defining the event that causes the subscriber to be notified. The condition must be specified as part of the association's
documentation. |
Examples
None |