Home » UML Relationship

UML Relationship

by Online Tutorials Library

UML-Relationship

Relationships depict a connection between several things, such as structural, behavioral, or grouping things in the unified modeling language. Since it is termed as a link, it demonstrates how things are interrelated to each other at the time of system execution. It constitutes four types of relationships, i.e., dependency, association, generalization, and realization.

Dependency

Whenever there is a change in either the structure or the behavior of the class that affects the other class, such a relationship is termed as a dependency. Or, simply, we can say a class contained in other class is known as dependency. It is a unidirectional relationship.

Association

Association is a structural relationship that represents how two entities are linked or connected to each other within a system. It can form several types of associations, such as one-to-one, one-to-many, many-to-one, and many-to-many. A ternary association is one that constitutes three links. It portrays the static relationship between the entities of two classes.

An association can be categorized into four types of associations, i.e., bi-directional, unidirectional, aggregation (composition aggregation), and reflexive, such that an aggregation is a special form of association and composition is a special form of aggregation. The mostly used associations are unidirectional and bi-directional.

Aggregation

An aggregation is a special form of association. It portrays a part-of relationship. It forms a binary relationship, which means it cannot include more than two classes. It is also known as Has-a relationship. It specifies the direction of an object contained in another object. In aggregation, a child can exist independent of the parent.

Composition

In a composition relationship, the child depends on the parent. It forms a two-way relationship. It is a special case of aggregation. It is known as Part-of relationship.

Aggregation VS Composition relationship

Features Aggregation relationship Composition relationship
Dependency In an aggregation relationship, a child can exist independent of a parent. In a composition relationship, the child cannot exist independent of the parent.
Type of Relationship It constitutes a Has-a relationship. It constitutes Part-of relationship.
Type of Association It forms a weak association. It forms a strong association.
Examples A doctor has patients when the doctor gets transfer to another hospital, the patients do not accompany to a new workplace. A hospital and its wards. If the hospital is destroyed, the wards also get destroyed.

Generalization

The generalization relationship implements the object-oriented concept called inheritance or is-a relationship. It exists between two objects (things or entities), such that one entity is a parent (superclass or base class), and the other one is a child (subclass or derived class). These are represented in terms of inheritance. Any child can access, update, or inherit the functionality, structure, and behavior of the parent.

Realization

It is a kind of relationship in which one thing specifies the behavior or a responsibility to be carried out, and the other thing carries out that behavior. It can be represented on a class diagram or component diagrams. The realization relationship is constituted between interfaces, classes, packages, and components to link a client element to the supplier element.


You may also like