Generalization (UML)

from Wikipedia, the free encyclopedia

Generalization (Engl. Generalization ) is a model element in the Unified Modeling Language (UML), a modeling language for software and other systems. It describes a taxonomic relationship between a special and a general classifier .

description

A generalization in UML is a directed relationship between a special and a general classifier. Instances of the special classifier are thus also instances of the general classifier. In concrete terms, this means that the special classifier implicitly has all the characteristics (structural and behavioral characteristics) of the general classifier - implicitly because these characteristics are not explicitly declared in the special classifier. It is said that he “inherits” them from the general classifier.

A generalization relationship can exist between two classifiers of the same type, for example two classes , two components , two interfaces , two associations or two use cases . Inheritance between packets (which are also not classifiers) is not possible . However, UML2 has a relationship with packet merging which is closely related to generalization and which can relate two packets.

If there is a generalization relationship between a class KGenerelland a class KSpeziell, it is also said that there KGenerell is a generalization of KSpeziell , or vice versa, KSpeziell a specialization of KGenerell or is KSpeziell specialized KGenerell .

A classifier can specialize more than one classifier.

notation

Example of a generalization relationship between two classes

A generalization is shown as a solid line between the two classifiers involved. At the end of the general classifier, a closed, empty arrowhead is drawn.

In the example on the right, the class is Privatkundea specialization of Person. It declares the attribute kundennummer and also implicitly has the attributes nameand vornamefrom the class Person.

See also

Individual evidence

  1. a b c DHBW-Stuttgart: Unified Modeling Language - Generalization. Retrieved September 18, 2018 .
  2. a b TU Graz: UML_Generalization. Retrieved September 18, 2018 .
  3. a b TU Dortmund generalization. Retrieved September 18, 2018 .