Glossary of UML Class Relationships
Other Decks By This User
- 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 "...is 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
You must Login or Register to add cards