Da die Projekte während der Softwareentwicklung immer größer und komplexer werden, werden effektive Design- und Dokumentationstools von entscheidender Bedeutung. Unified Modeling Language (UML), eine standardisierte Modellierungssprache, bietet Entwicklern eine leistungsstarke Möglichkeit, Softwaresysteme zu beschreiben, zu erstellen und zu visualisieren. Dabei spielt das UML-Klassendiagramm als eines der Kernwerkzeuge des objektorientierten Designs (OOD) eine zentrale Rolle.
UML-Klassendiagramme stellen die Klassen im System, die Beziehungen zwischen ihnen und die internen Strukturen der Klassen, wie Attribute (Felder) und Methoden (Funktionen), grafisch dar. Diese Diagramme helfen Entwicklern nicht nur, die Gesamtarchitektur des Systems zuverstehen, sondern erleichtern auch die Kommunikation und Zusammenarbeit in der Teamarbeit und stellen sicher, dass alle Mitglieder ein gemeinsames Verständnis des Designs haben. Heute lernen wir UML- Klassendiagramme.
Was ist ein Klassendiagramm? Was sind die Zeichenregeln für Klassendiagramme? Wie zeichne ich ein Klassendiagramm? Um das Lernen für alle zu erleichtern, hat der Herausgeber es hier verfeinert und zusammengefasst. Ich hoffe, dass Sie nach dem Lesen ein grundlegendes Verständnis für Klassendiagramme haben.
Das Klassendiagramm soll hauptsächlich die Struktur (Attribute, Operationen) von Klassen und die Beziehung zwischen Klassen widerspiegeln. Es beschreibt die Struktur des Softwaresystems und ist eine statische Modellierungsmethode. Klassendiagramme werden verwendet, um sinnvolle Konzepte im System zu beschreiben, einschließlich spezifischer Konzepte, abstrakter Konzepte, Implementierungskonzepte usw. Sie sind Abstraktionen von Dingen in der realen Welt. Der Hauptzweck von Klassendiagrammen besteht darin, das Vokabular des Systems zu modellieren, einfache Kollaborationen zu modellieren und das logische Datenbankschema zu modellieren.
Klassendiagramme bestehen hauptsächlich aus zwei Teilen: Klassen und der Beziehung zwischen Klassen. Die Definition einer Klasse ist in der folgenden Abbildung dargestellt. Sie besteht hauptsächlich aus dem Klassennamen. Die Attribute der Klasse. Die Methode der Klasse entspricht den drei Partitionsinhalten in der Abbildung.

Klassenname : Das obere rechteckige Feld im Bild ist der Klassenname. Wenn die Schriftart kursiv ist, wird sie als abstrakte Klasse dargestellt
Klassenattribute : der Bereich unter dem Klassennamen
Klassenmethoden : der untere Teil in der Abbildung
* Erklärung der Symbole : „+“, „-“ und „#“ vor Attributen und Methoden geben
Zugriffsebenen an. Diese Symbole werden unten erklärt . .
+: öffentlich, öffentlich, für alle Klassen sichtbar
-: privat, privat, nur für die Klasse selbst verfügbar
#: geschützt, geschützt, sichtbar für Nachkommen dieser Klasse
~: Paket, Paket, nur für andere im selben Paket deklarierte Klassen sichtbar
=: gibt den Standardwert an
Unterstrich: statisch
Kursivschrift: abstrakt (beachten Sie, dass Abstraktion auch durch Einschließen in zwei spitze Klammern ausgedrückt werden kann, z. B. - <<Ich bin eine abstrakte Klasse oder Schnittstelle>>)
Vor dem Doppelpunkt steht der Methodenname/Variablenname (unterscheidbar durch das Vorhandensein oder Fehlen von Klammern) und nach dem Doppelpunkt steht der Rückgabeparameter/Variablentyp (unterscheidbar durch das Vorhandensein oder Fehlen von Klammern). bedeutet, dass die Methode void zurückgibt (einige Leute verwenden auch: void, um die Rückgabe von void anzuzeigen)
Die Beziehungen zwischen Klassen umfassen hauptsächlich 6 Beziehungen: Generalisierung (Vererbung), Abhängigkeit, Assoziation, Aggregation, Kombination und Implementierung einer nach dem anderen unten.

1. Generalisierungsbeziehung Die Generalisierungsbeziehung ist eine Vererbungsbeziehung. Die Unterklasse erbt alle Verhaltensweisen und Attribute der übergeordneten Klasse. Die Unterklasse kann neue Funktionen hinzufügen oder die Funktionen der übergeordneten Klasse neu schreiben. Darstellungsmethode: hohles Dreieck + durchgezogene Linie, Pfeil zeigt auf die übergeordnete Klasse

2. Abhängigkeiten
Eine Abhängigkeitsbeziehung gibt an, dass eine Klasse die Dienste oder Informationen einer anderen Klasse nutzt (von ihnen abhängt). Zwischen zwei Klassen besteht eine Abhängigkeit, wenn sich Änderungen an einer Klasse auf eine andere Klasse auswirken. Im Allgemeinen sind Abhängigkeiten immer einseitig und es sollte keine bidirektionalen Abhängigkeiten geben. Darstellungsmethode: spitze Klammern + gepunktete Linie

3. Assoziationsbeziehung
Eine Assoziation ist eine Eigentumsbeziehung, die eine Klasse auf die Eigenschaften und Methoden einer anderen Klasse aufmerksam macht. Es verkörpert eine starke Abhängigkeitsbeziehung unterschiedlicher Art, wie z. B. zwischen mir und meinen Freunden. Diese Beziehung ist stärker als Abhängigkeit. In Abhängigkeitsbeziehungen gibt es keine Kontingenz, und die Beziehung ist nicht vorübergehend, sondern im Allgemeinen langfristig.
Assoziationsbeziehungen werden in unidirektionale oder bidirektionale Assoziationen unterteilt und können auch Multiplizität aufweisen (eins-zu-viele-Assoziationen können zwei Pfeile oder keine Pfeile haben, und unidirektionale Assoziationen haben einen Pfeil). Darstellungsmethode: spitze Klammern + durchgezogene Linie, Pfeil zeigt auf den Eigentümer

4. Aggregationsbeziehung
Die Aggregationsbeziehung ist eine Art Assoziationsbeziehung, die eine „schwache“ „Eigentumsbeziehung“ darstellt. Es handelt sich um die Beziehung zwischen dem Ganzen und dem Teil, und der Teil kann unabhängig voneinander existieren, beispielsweise die Beziehung zwischen dem Auto und der Reifen ist die Beziehung zwischen dem Ganzen und dem Teil, und der Reifen ist vom Ganzen getrennt. Das Auto kann immer noch alleine existieren. Darstellungsmethode: Hohlraute + durchgezogene Linie, die Raute zeigt auf das Ganze

5. Kombinationsbeziehung
Die Kombinationsbeziehung ist auch eine Art Assoziationsbeziehung. Sie ist eine stärkere Beziehung als die Aggregationsbeziehung. Sie ist die Beziehung zwischen dem Ganzen und dem Einzelnen, aber das Individuum kann nicht allein ohne das Ganze existieren. Beispielsweise besteht die Beziehung zwischen einem Unternehmen und einer Abteilung aus einem Ganzen und einem Teil. Ohne ein Unternehmen gäbe es keine Abteilung. Es erfordert, dass das Objekt, das das Ganze in einer normalen Aggregationsbeziehung darstellt, für den Lebenszyklus des Objekts verantwortlich ist, das den Teil darstellt. Darstellungsmethode: Vollraute + durchgezogene Linie