3C Clear Clean Concise UML
Previous Contents Next
communityUML 2torial
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
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