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
6. Implementierungsbeziehung Die Implementierungsbeziehung ist eine Beziehung zwischen einer Klasse und einer Schnittstelle, die angibt, dass die Klasse die Realisierung aller Merkmale und Verhaltensweisen der Schnittstelle ist. Darstellungsmethode: hohles Dreieck + gepunktete Linie
Um Ihnen zu helfen, die sechs Beziehungen zwischen Klassen besser zu verstehen, werden im Folgenden Beispiele verwendet, die Ihnen beim Lernen und Verdauen helfen.
1. Diagramm der Automobilklasse
Automotive UML-Klassendiagramm
Beschreibung des Automobilklassendiagramms:
Es gibt eine „Realisierungs“-Beziehung zwischen Autos, Autos und Fahrrädern, die durch eine gepunktete Linie mit einem hohlen Pfeil dargestellt wird;
Die Beziehung zwischen Autos und SUVs ist eine allgemeine Beziehung, dargestellt durch eine durchgezogene Linie mit einem hohlen Pfeil;
Es besteht eine „kombinierte“ Beziehung zwischen dem Auto, dem Motor und den Reifen, die durch die durchgezogene Linie des durchgezogenen Diamantpfeils dargestellt wird.
Schüler müssen Fahrräder benutzen, um zur Schule zu gehen, und es besteht eine „Abhängigkeitsbeziehung“ zu Fahrrädern, die durch eine gepunktete Linie mit einem Pfeil dargestellt wird.
Es besteht eine „Aggregations“-Beziehung zwischen Schülern und Klassen, dargestellt durch eine durchgezogene Linie mit einem hohlen Rautenpfeil;
Die Beziehung zwischen Studenten und Ausweisen ist „Assoziation“, dargestellt durch eine durchgezogene Linie mit einem spitzen Pfeil;
2. Tier-UML-Klassendiagramm
3. Diagramm der Internet-UML-Klasse für Studenten
Diagramm der Internet-UML-Klasse für Studenten
Wenn Sie den obigen Fall schnell lesen und verstehen können, bedeutet dies, dass Sie das Klassendiagramm grundsätzlich verstanden haben. Wenn Sie mehr Code und das entsprechende Klassendiagramm kombinieren, um es zu konsolidieren, werden Sie in Zukunft nicht verwirrt sein, wenn Sie das Klassendiagramm sehen .
ProcessOn unterstützt das Zeichnen von Flussdiagrammen, Mindmaps, UML-Diagrammen, Architekturdiagrammen und anderen Grafiken. Die Methode zum Zeichnen von UML- Klassendiagrammen ist sehr einfach, solange Sie die Wissenspunkte des Zeichnens von Klassendiagrammen beherrschen und verstehen Ich glaube, dass jeder schnell lernen kann, Klassendiagramme zu zeichnen.
Schritt 1: Registrieren Sie sich, melden Sie sich bei ProcessOn an und erstellen Sie ein neues UML-Diagramm
Schritt 2: Wählen Sie das Klassenlogo in der linken Symbolleiste aus, ziehen Sie es in den rechten Bearbeitungsbereich und schreiben Sie den Klassennamen, die Attribute und Methoden.
Schritt 3: Markieren Sie Pfeile und Linien entsprechend der Beziehung zwischen den Klassen.
Hinweis: Die Verbindungen zwischen den einzelnen Symbolen von ProcessOn sind standardmäßig durchgehende Pfeile. Sie können den Verbindungsstil, den Verbindungstyp, die Verbindungsfarbe, die Pfeilrichtung und den Pfeilstil in der oberen Symbolleiste nach Bedarf anpassen. Wenn Sie Ihre Bilder schöner gestalten möchten, können Sie Texte, Symbole, Linien usw. mit verschiedenen Farben füllen und dieselben Symbole möglichst gleich groß machen.
Das Obige ist der relevante Inhalt zu UML -Klassendiagrammen . Alle oben genannten Fälle von UML-Klassendiagrammen werden mit ProcessOn gezeichnet .