3C Clear Clean Concise  UML                        Previous   Contents   Next
communityUML 2torial

5.4.3               Relationship

The 2torial has already discussed association

A relationship is used when the modeler wishes to specify something about a collection of model elements (and not about the system or its environment). 

Other than this, there is no difference in UML between an association and a relationship.  But what a difference!


Q:  What is the difference between an association and a relationship?

A:  An association represents something that is found in the system; a relationship is about the model, but does not represent something that will be found in the system.

Q:  We thought 3C was trying to reduce the number of concepts in UML.  Why make this distinction?

A:  Since a model is a description of an existing system or a specification of a system to be built, it is important for the user of the model to be able to tell what is to be in the system.  And to be able to distinguish that from something that is only a relationship in the model.

Q:  Give an example.

A: 

Q:  Or two.

Examples of relationships in UML 1 that are relationships in the UML 2 sense are dependency, generalization and flow.

Q:  But, still, this is a pretty wierd distinction, right?

A:  If you say so.  We notice that in UML 1, an association is a kind of relationship (Association is a subtype of Relationship in the metamodel), while, in the U2P submission, an association is not a relationship, but is instead a classifier.  So: 3C is not alone in separating association from relationship.


 

Previous   Contents   Next         RunningExample

  DA.gif (4367 bytes)

The OMG mark, ‘UML,’  is a trademark of Object Management Group, Inc. (OMG). 


During development of this web site, please send comments to Joaquin Miller. mailto:joaquin@acm.org    
Copyright © 2000 Financial Systems Architects