Hints and Tips
When you model advanced relationships in the UML, remember that there is a wide range of building blocks at your disposal, from simple associations to more-detailed properties of navigation, qualification, aggregation, and so on. You must choose the relationship and the details of that relationship to best fit your abstraction. A well-structured relationship
- Exposes only those features necessary for clients to use the relationship and hides all others.
- Is unambiguous in its intent and semantics.
- Is not so overly specified that it eliminates all degrees of freedom by its implementers.
- Is not so underspecified that it renders the meaning of the relationship ambiguous.
When you draw a relationship in the UML,
- Show only those properties of the relationship that are important to understanding the abstraction in its context.
- Choose a stereotyped version that provides the best visual cue to the intent of the relationship.