Was ist ein Klassendiagramm?
Das UML – Klassendiagramm ist eine grafische Notation, die verwendet wird, um objektorientierte Systeme zu konstruieren und zu visualisieren. Ein Klassendiagramm in der Unified Modeling Language ( UML ) ist eine Art statisches Strukturdiagramm, das die Struktur eines Systems beschreibt, indem es Folgendes zeigt:
- Klassen,
- ihre Attribute (oder Eigenschaften),
- Operationen (oder Methoden),
- und die Beziehungen zwischen Objekten.
Was ist eine Klasse?
Eine Klasse ist eine Blaupause für ein Objekt. Objekte und Klassen gehen Hand in Hand. Wir können nicht über das eine sprechen, ohne über das andere zu sprechen. Und beim objektorientierten Design geht es nicht um Objekte, sondern um Klassen, weil wir Klassen verwenden, um Objekte zu erstellen. Eine Klasse beschreibt also, was ein Objekt sein wird, aber es ist nicht das Objekt selbst.
Tatsächlich beschreiben Klassen den Typ von Objekten, während Objekte verwendbare Instanzen von Klassen sind. Jedes Objekt wurde aus denselben Blaupausen erstellt und enthält daher dieselben Komponenten (Eigenschaften und Methoden). Die Standardbedeutung ist, dass ein Objekt eine Instanz einer Klasse und eines Objekts ist – Objekte haben Zustände und Verhaltensweisen.
Beispiel
Ein Hund hat Zustände – Farbe, Name, Rasse sowie Verhaltensweisen – Wedeln, Bellen, Fressen. Ein Objekt ist eine Instanz einer Klasse.
UML-Klassennotation
Eine Klasse stellt ein Konzept dar, das Zustand ( Attribute ) und Verhalten ( Operationen ) kapselt . Jedes Attribut hat einen Typ. Jede Operation hat eine Signatur . Der Klassenname ist die einzige obligatorische Information .
Klassenname:
- Der Name der Klasse erscheint in der ersten Partition.
Klassenattribute:
- Attribute werden in der zweiten Partition angezeigt.
- Der Attributtyp wird nach dem Doppelpunkt angezeigt.
- Attribute werden im Code Membervariablen (Datenmembern) zugeordnet.
Klassenoperationen (Methoden):
- Operationen werden in der dritten Partition gezeigt. Sie sind Dienste, die die Klasse bereitstellt.
- Der Rückgabetyp einer Methode wird nach dem Doppelpunkt am Ende der Methodensignatur angezeigt.
- Der Rückgabetyp von Methodenparametern wird nach dem Doppelpunkt nach dem Parameternamen angezeigt. Operationen werden Klassenmethoden im Code zugeordnet
Klasse Sichtbarkeit
Die Symbole +, — und # vor einem Attribut- und Operationsnamen in einer Klasse geben die Sichtbarkeit des Attributs und der Operation an.
- + bezeichnet öffentliche Attribute oder Operationen
- – bezeichnet private Attribute oder Operationen
- # bezeichnet geschützte Attribute oder Operationen
Parameter Direktionalität
Jeder Parameter in einer Operation (Methode) kann als in, out oder inout bezeichnet werden, was seine Richtung in Bezug auf den Aufrufer angibt. Diese Richtung wird vor dem Parameternamen angezeigt.
Perspektiven des Klassendiagramms
Die Wahl der Perspektive hängt davon ab, wie weit Sie im Entwicklungsprozess fortgeschritten sind. Bei der Formulierung eines Domänenmodells beispielsweise kommt man selten über die konzeptionelle Perspektive hinaus . Analysemodelle weisen typischerweise eine Mischung aus konzeptuellen und Spezifikationsperspektiven auf . Die Entwicklung von Designmodellen beginnt typischerweise mit starker Betonung der Spezifikationsperspektive und entwickelt sich zur Implementierungsperspektive .
Ein Diagramm kann aus verschiedenen Perspektiven interpretiert werden:
- Konzeptuell : Stellt die Konzepte in der Domäne dar
- Spezifikation : Der Fokus liegt auf den Schnittstellen von Abstract Data Type (ADTs) in der Software
- Implementierung : beschreibt, wie Klassen ihre Schnittstellen implementieren
Die Perspektive beeinflusst die Menge der zu liefernden Details und die Arten von Beziehungen, die es wert sind, dargestellt zu werden. Wie oben erwähnt, ist der Klassenname die einzige obligatorische Information.
Ein Klassendiagramm ist eine zentrale Modellierungstechnik, die sich durch fast alle objektorientierten Methoden zieht. Dieses Diagramm beschreibt die Arten von Objekten im System und verschiedene Arten von statischen Beziehungen, die zwischen ihnen bestehen.
Beziehungen
Es gibt drei Hauptarten von Beziehungen, die wichtig sind:
- Assoziation – Stellt Beziehungen zwischen Instanzen von Typen dar (eine Person arbeitet für ein Unternehmen, ein Unternehmen hat eine Reihe von Büros.
- Vererbung – die offensichtlichste Ergänzung zu ER-Diagrammen zur Verwendung in OO. Es hat eine unmittelbare Entsprechung zur Vererbung im OO-Design.
- Aggregation – Aggregation, eine Form der Objektzusammensetzung im objektorientierten Design.
Beispiel für ein Klassendiagramm: GUI
Ein Klassendiagramm kann auch Notizen zu Klassen oder Beziehungen haben.
Kostenloses UML-Software-Tool
In diesem Artikel stelle ich zwei UML-Tools vor:
- Visual Paradigm Community Editon (KOSTENLOS) ist ein Desktop-UML-Tool mit Feature-Modellierungsfunktionen. (mögliches Update auf kommerzielle Editionen)
- Visual Paradigm Online für allgemeine UML- und andere Diagrammzeichnungen.
30 Beispiele für Klassendiagramme
- Kostenlose Beispiele und Vorlagen für Klassendiagramme, die in einer Online-Klassendiagramm-Software bearbeitet werden können: Visual Paradigm Online.
- Verwenden Sie die Vorlagen als Ausgangspunkt, um Ihr eigenes Klassendiagramm zu erstellen.
- ( Klicken Sie hier, um die Beispiele für Klassendiagramme sofort zu bearbeiten. )
Der Einfachheit halber sind die folgenden Beispiele in Visual Paradigm Online eingerichtet. Sie können es sofort ohne Konfiguration oder Installation ausprobieren, viel Spaß!
Dateiausgabe (Verwendung der Generalisierung)
GoF Design Patterns — Fliegengewicht
GoF Design Patterns – Dekorateur
GoF-Entwurfsmuster – Composite
GoF-Entwurfsmuster – Singleton
GoF-Entwurfsmuster – Factory-Methode
GoF Design Patterns – Abstrakte Fabrik
GoF Design Patterns – Besucher
GoF-Entwurfsmuster – Vorlagenmethode
GoF Design Patterns – Strategie
GoF Design Patterns – Beobachter
GoF Design Patterns – Mediator
GoF Design Patterns – Interpreter
GoF Design Patterns – Verantwortungskette
Klassendiagramm – Bestellprozess
Klassendiagramm – Klassen und Pakete Einschränkungen
Klassendiagramm – Klasse in einem Paket (Fluggesellschaft)
Assoziationsklasse und Selbstassoziation