Glossary of UML Class Relationships

Start Studying! Add Cards ↓

The exact meaning of a relationship is dependent upon the thing being modeled. What is most important in avoiding this confusion?
Making sure to use relationship diagrams consistently within the model.
What is the usual meaning of a dependency relationship?
Dependencies are typically read as "...uses a...".
How is a dependency relationship represented?
You show a dependency between classes using a dashed line with an arrow pointing from the dependent class to the class that is used.
Describe an association type relationship.
Associations are stronger than dependencies and typically indicate that one class retains a relationship to another class over an extended period of time.
How are associations typically read.
Associations are typically read as "...has a...".
How are associations represented?
You show an association using a solid line between the classes participating in the relationship.
How is an association related to navigability.
Associations normally imply navigability.
How can you explicitly forbid navigability.
You can explicitly forbid navigation from one class to another by placing a small X on the association line at the end of the class you can't navigate to.
How can navigability be explicitly expressed?
Use an arrow at the target end of the association to indicate that you can navigate in that direction.
What is the meaning of multiplicity in an association.
Indicates the number of target objects of a given class that a owning class has.
How is multiplicity represented in an association.
A number near the owned class.
Aggregation is a stronger relationship than association. What is the difference.
Aggregation implies a lifeline relationship. You cannot destroy on part of an aggregation without destroying the other.
How is an aggregation represented.
You show an aggregation with a diamond shape next to the owning class and a solid line pointing to the owned class.
How are aggregations read?
Aggregations are usually read as "...owns a...".
Composition is a very strong relationship. What does it typically mean?
Composition is used to capture a whole-part relationship. The "part" piece of the relationship can be involved in only one composition relationship at any given time.
A composition relationship implies what?
A composition implies that the second object is a part of or contained in the first object.
How is a composition relationship typically read?
A composition relationship is usually read as " part of...", which means you need to read the composition from the part to the whole.
How is a composition relationship represented?
You show a composition relationship using a filled diamond next to the owning class and a solid line pointing to the owned class.
What is a generalization relationship?
A generalization relationship conveys that the target of the relationship is a general, or less specific, version of the source class or interface.
How are generalizations read?
You show a generalization relationship with a solid line with a closed arrow, pointing from the specific class to the general class.
What is an association class?
An association class is a complex data type that refines the relationship between two classes.
How is an association class represented graphically

A class that joins to both classes of an association.
What is the purpose of an association qualifier?
Association qualifiers are used to key or index one class into another.
Give an example of an association qualifier.
Account number relates an individual with their bank account.
What is an interface?
An interface is a classifier that has declarations of properties and methods but no implementations.
How is an interface implemented?
A class "realizes" an interface by providing an implementation for it.
How is an interface realization shown?
show realization using a dashed line starting at the realizing classifier and leading to the interface, with a closed arrowhead at the end.
What is a template?
A type whose definition has placeholders for actual types that the user specifies when creating and using instances of the type.
How is a template indicated.
You can indicate that a class is a templated (also called parameterized) class by drawing a dashed rectangle in the upper-right corner of the class.
What are packages used for?
Packages provide a way to group related UML elements and scope their names.
How many levels of visibility does a package support?
What are the levels of visibility for a element contained in a package?
Public and Private

Add Cards

You must Login or Register to add cards