In UML modeling, a relationship is a connection between model elements. A UML relationship is a type of model element that adds semantics to a model by defining the structure and behavior between the model elements.
UML relationships are grouped into six categories:
You can set properties and use keywords to create variations on these relationships.
The following topics describe relationships in modeling diagrams:
Abstraction relationships
An abstraction relationship is a dependency between model elements that represents the same concept at different levels of abstraction or from different viewpoints. You can add abstraction relationships to a model in several diagrams, including use-case, class, and component diagrams.Aggregation relationships
An aggregation relationship depicts a classifier as a part of, or as subordinate to, another classifier.Association relationships
In UML models, an association is a relationship between two classifiers, such as classes or use cases, that describes the reasons for the relationship and the rules that govern the relationship.Binding relationships
In UML models, a binding relationship is a relationship that assigns values to template parameters and generates a new model element from the template.Composition relationships
A composition relationship, which was named composition association relationship in UML 1.4, represents whole–part relationships and is a form of aggregation. A composition relationship specifies that the lifetime of the part classifier is dependent on the lifetime of the whole classifier.Dependency relationships
In UML modeling, a dependency relationship is a relationship in which changes to one model element (the supplier) impact another model element (the client). You can use dependency relationships in class diagrams, component diagrams, deployment diagrams, and use case diagrams.Directed association relationships
In UML models, directed association relationships are associations that are navigable in only one direction.Implementation relationships
In UML modeling, an implementation relationship is a specialized type of realization relationship between a classifier and a provided interface. The implementation relationship specifies that the realizing classifier must conform to the contract that the provided interface specifies.Realization relationships
In UML modeling, a realization relationship is a relationship between two model elements, in which one model element (the client) realizes the behavior that the other model element (the supplier) specifies. Several clients can realize the behavior of a single supplier. You can use realization relationships in class diagrams and component diagrams.Usage relationships
In UML modeling, a usage relationship is a type of dependency relationship in which one model element (the client) requires another model element (the supplier) for full implementation or operation.Generalization relationships
In UML modeling, a generalization relationship is a relationship in which one model element (the child) is based on another model element (the parent). Generalization relationships are used in class, component, deployment, and use case diagrams.Include relationships
In UML modeling, an include relationship is a relationship in which one use case (the base use case) includes the functionality of another use case (the inclusion use case). The include relationship supports the reuse of functionality in a use case model.Extend relationships
In UML modeling, you can use an extend relationship to specify that one use case (extension) extends the behavior of another use case (base). This type of relationship reveals details about a system or application that are typically hidden in a use case.Extension points
In UML modeling, an extension point identifies the point in the base use case where the behavior of an extension use case can be inserted. The extension point is specified is specified for a base use case and is referenced by an extend relationship between the base use case and the extension use case.
Related tasks
Managing relationships between classifiers
Adding relationships to diagrams
Deleting relationships
Specifying relationships in modeling diagrams
Related reference
Relationship types