Richtlinie: Generalisierung im Anwendungsanalysemodell
Viele Dinge im echten Leben haben gewisse Eigenschaften gemein. Diese Richtlinie zeigt, wie Gemeinsamkeiten im Geschäftsanalysemodell durch Generalisierungsbeziehungen modelliert werden.
Beziehungen
Hauptbeschreibung

Erläuterung

Viele Dinge im echten Leben haben gewisse Eigenschaften gemein. Hunde und Katzen sind beispielsweise beides Tiere. Auch Klassen können gemeinsame Eigenschaften haben. Beziehungen dieser Art zwischen Klassen können mit einer Generalisierung transparenter gestaltet werden. Wenn Sie gemeinsame Merkmale in eigene Klassen extrahieren, lässt sich das Geschäftsmodell einfacher ändern.

Eine Klasse, die allgemeine Merkmale von einer anderen Klasse erbt, ist eine untergeordnete Klasse. Die Klasse, von der die untergeordnete Klasse Merkmale erbt, ist die übergeordnete Klasse. Eine Generalisierung zeigt, dass eine Klasse von einer anderen erbt, d. h., dass die Definition der übergeordneten Klasse, einschließlich aller Attribute und Operationen, auch für die untergeordnete Klasse gilt. Die Beziehungen der übergeordneten Klasse werden ebenfalls geerbt.

Generalisierung kann in verschiedenen Stadien stattfinden. Auf diese Weise können komplexe Vererbungshierarchien mit mehreren Ebenen modelliert werden, obwohl die Anzahl der Ebenen des besseren Verständnisses wegen beschränkt werden sollte. Allgemeine Eigenschaften können in den oberen Teil der Vererbungshierarchie und besondere Eigenschaften in den unteren Teil gestellt werden. Anders ausgedrückt, Sie können mit Generalisierungsbeziehungen spezialisierte Versionen eines allgemeineren Konzepts modellieren.

Beispiel:

Passagiere, die am Check-in-Schalter ankommen, bringen verschiedene Arten von Gepäck mit sich: normales Gepäck, Handgepäck und Sondergepäck. Aus der Sicht der Fluggesellschaft haben sie, abgesehen davon, dass es sich in allen Fällen um Gepäck handelt, verschiedene gemeinsame Eigenschaften. Jedes Gepäckstück hat beispielsweise einen Besitzer und ein Gewicht. Diese gemeinsamen Merkmale können durch Attribute und Operationen in einer separaten Klasse "Gepäck" modelliert werden. Normales Gepäck, Handgepäck und Sondergepäck erben die Eigenschaften dieser Klasse.

Im Begleittext beschriebenes Diagramm

Die Klassen Normales Gepäck, Handgepäck und Sondergepäck haben gemeinsame Eigenschaften. Sie sind alle spezialisierte Versionen des allgemeinen Konzepts Gepäck.

Eine Klasse kann mehrere andere Klassen erben. Dies wird als Mehrfachvererbung bezeichnet. Gewöhnlich wird jedoch nur eine Klasse geerbt. Wenn die Klasse mehrere Klassen erbt, ist es wichtig zu prüfen, wie die Assoziationen, die Attribute und die Operationen in den übergeordneten Klassen benannt sind. Sollte derselbe Name in mehreren Vorfahren vorkommen, müssen Sie beschreiben, was dieser Name für die jeweilige erbende Klasse bedeutet.

Konkrete und abstrakte Klassen

Eine Klasse, die nur deshalb existiert, damit andere Klassen sie erben können, ist eine abstrakte Klasse. Eine abstrakte Klasse wird nicht instanziert. Ein Objekt einer Klasse, das eine abstrakte Klasse erbt, entspricht jedoch seiner eigenen Beschreibung und der Beschreibung der geerbten Klasse. Klassen, die im Geschäft instanziert werden, sind konkrete Klassen..

In diesem Kontext bedeutet "abstrakt" etwas völlig anderes als gewöhnlich. Es ist durchaus möglich, dass etwas im herkömmlichen Sinne abstrakt ist, ohne dass es von einer abstrakten Klasse dargestellt wird. Schulstunden sind ein abstraktes Phänomen oder Konzept, weil man sie nicht anfassen kann. Wenn Sie jedoch Schulaufgaben modellieren, gleicht eine Schulstunde eher einer konkreten Klasse, d. h. einer Klasse, die instanziert wird. Gleichermaßen können konkrete Phänomene, z. B. Produkte und Personen, abstrakte Klassen erzeugen, wenn sie Eigenschaften mit anderen Klassen gemein haben.

Verwendung

Der Hauptzweck der Vererbung ist, ein Objektmodell zu erhalten, in dem Änderungen auf einfache Weise untergebracht werden können. Vererbung muss jedoch mit Sorgfalt eingesetzt werden:

  • Vererbung ist "lediglich" eine Methode, die Beschreibung zu strukturieren. Sie visualisieren, welche Phänomene gemeinsame Eigenschaften haben.

Wenn es zur Realisierung kommt, müssen Sie trotzdem einen Mitarbeiter finden, der in der Lage ist, sowohl den Job der übergeordneten Klasse als auch die der untergeordneten Klasse auszuführen, wenn eine solche instanziert werden sollte.

  • Verwenden Sie Generalisierungen nur zwischen Klassen desselben Stereotyps.

Da unterschiedliche Klassenstereotypen unterschiedliche Zwecke haben, würde eine Generalisierung von einer Klasse eines Stereotyps zu einer Klasse eines anderen Stereotyps keinen Sinn machen. Wenn Sie beispielsweise eine Mitarbeiterklasse einen Geschäftsentität erben lassen, würde der Mitarbeiter eine Art Hybridklasse werden.