Association
A structural relationship that describes a set of links, where a link is a connection among objects.
Related Information:
  • Standards: Relationships
  • Standards: Aggregation
  • Standards: Composition
  • RUP Guidelines: Association
  • RUP Guidelines: Aggregation
  • RUP Guidelines: Subscribes-Association
  • Topics

    Background To top of page

    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 To top of page

    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 To top of page

    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 To top of page

    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 To top of page

    None

    Back to Index
     

    Display Organization Process Web using frames

    Copyright  © 1987 - 2001 Rational Software Corporation 

    Wylie College Process Web Example
    Version 2001.02