Types of Relationships That Exist in Class Diagram:: 1. Association
Types of Relationships That Exist in Class Diagram:: 1. Association
1. Association
An association relation is established when two classes are connected to each other in any
way. Association is a broad term that encompasses just about any logical connection or
relationship between classes. For example, passenger and airline may be linked as above:
2. Directed Association
3. Reflexive Association
Reflexive Association occurs when a class may have multiple functions or responsibilities. For
example, a staff member working in an airport may be a pilot, aviation engineer, a ticket
dispatcher, a guard, or a maintenance crew member. If the maintenance crew member is
managed by the aviation engineer there could be a managed by relationship in two instances of
the same class.
4. Multiplicity
Multiplicity is the active logical association when the cardinality of a class in relation to another is
being depicted. For example, one fleet may include multiple airplanes, while one commercial
airplane may contain zero to many passengers. The notation 0..* in the diagram means “zero to
many”.
5. Aggregation
When a class is formed as a collection of other classes, it is called an aggregation relationship
between these classes. It is also called a “has a” relationship. For example, the class “library” is
made up of one or more books, among other materials. In aggregation, the contained classes are
not strongly dependent on the lifecycle of the container. In the same example, books will remain
so even when the library is dissolved. To show aggregation in a diagram, draw a line from the
parent class to the child class with a diamond shape near the parent class.
6. Composition
The composition relationship is very similar to the aggregation relationship, with the only
difference being its key purpose of emphasizing the dependence of the contained class to the life
cycle of the container class. That is, the contained class will be obliterated when the container
class is destroyed. For example, a shoulder bag’s side pocket will also cease to exist once the
shoulder bag is destroyed.
To show a composition relationship in a UML diagram, use a directional line connecting the two
classes, with a filled diamond shape adjacent to the container class and the directional arrow to
the contained class.
7. Inheritance / Generalization
Inheritance refers to a type of relationship wherein one associated class is a child of another by
virtue of assuming the same functionalities of the parent class. In other words, the child class is a
specific type of the parent class. To show inheritance in a UML diagram, a solid line from the
child class to the parent class is drawn using an unfilled arrowhead.
8. Realization
Realization denotes the implementation of the functionality defined in one class by another class.
To show the relationship in UML, a broken line with an unfilled solid arrowhead is drawn from the
class that defines the functionality of the class that implements the function. In the example, the
printing preferences that are set using the printer setup interface are being implemented by the
printer.