Unified Modeling Language (UML), auch bekannt als Unified Modeling Language oder Standard Modeling Language, ist ein 1997 eingeführter OMG-Standard. Es handelt sich um eine grafische Sprache, die die Modellierung und Softwaresystementwicklung unterstützt und Modelle für alle Phasen der Softwareentwicklung und -visualisierung bereitstellt Unterstützung von der Anforderungsanalyse über die Spezifikation bis hin zur Konstruktion und Konfiguration. Die Entwicklung objektorientierter Analyse- und Designmethoden (OOA&D, OOAD) erreichte Ende der 1980er bis Mitte der 1990er Jahre ihren Höhepunkt, und UML war das Produkt dieses Höhepunkts. Es vereinheitlichte nicht nur die Darstellungsmethoden von Booch, Rumbaugh und Jacobson, sondern entwickelte sie auch weiter und vereinheitlichte sie schließlich zu einer von der Öffentlichkeit akzeptierten Standardmodellierungssprache.
In UML-Klassendiagrammen gibt es mehrere häufig verwendete Beziehungen: Generalisierung, Realisierung, Assoziation, Aggregation, Zusammensetzung, Abhängigkeit. Als Nächstes erhalten Sie in diesem Artikel eine detaillierte Erklärung. Die spezifischen Details lauten wie folgt.
1. Verallgemeinerung
[Generalisierungsbeziehung]: Es handelt sich um eine Vererbungsbeziehung, die die allgemeine und spezielle Beziehung zum Ausdruck bringt. Sie gibt an, wie die Unterklasse alle Merkmale und Verhaltensweisen der übergeordneten Klasse spezialisiert. Beispiel: Tiger ist eine Tierart, die die Merkmale eines Tigers aufweist sowie Gemeinsamkeiten zwischen Tieren.
[Pfeil zeigt]: Eine durchgezogene Linie mit einem dreieckigen Pfeil, der Pfeil zeigt auf die übergeordnete Klasse
2. Erkenntnis
[Implementierungsbeziehung]: Es handelt sich um eine Beziehung zwischen einer Klasse und einer Schnittstelle, die angibt, dass die Klasse die Implementierung aller Merkmale und Verhaltensweisen der Schnittstelle ist.
[Pfeil zeigt]: Eine gepunktete Linie mit einem dreieckigen Pfeil, der Pfeil zeigt auf die Schnittstelle
3. Assoziation
[Assoziationsbeziehung]: Es handelt sich um eine Art Eigentumsbeziehung, die es einer Klasse ermöglicht, die Eigenschaften und Methoden einer anderen Klasse zu kennen, z. B.: Lehrer und Schüler, Ehemann und Ehefrau
Assoziationen können bidirektional oder unidirektional sein. Bidirektionale Zuordnungen können zwei oder keine Pfeile haben, und unidirektionale Zuordnungen haben einen Pfeil.
[Code-Reflexion]: Mitgliedsvariablen
[Pfeil und zeigend]: Eine durchgezogene Linie mit einem gewöhnlichen Pfeil, der auf den Besitzer zeigt
Im Bild oben sind Lehrer und Schüler bidirektional miteinander verbunden. Lehrer können mehrere Schüler haben, und Schüler können auch mehrere Lehrer haben. Die Beziehung zwischen einem Studenten und einem Kurs ist jedoch eine einseitige Beziehung. Ein Student kann mehrere Kurse belegen. Ein Kurs ist eine abstrakte Sache und besitzt keine eigenen Studenten.
Das Bild oben zeigt seine eigene Beziehung:
4. Aggregation
[Aggregationsbeziehung]: Es handelt sich um eine Beziehung zwischen einem Ganzen und einem Teil, und ein Teil kann unabhängig vom Ganzen existieren. Beispielsweise haben ein Auto und ein Reifen eine Beziehung zwischen einem Ganzen und einem Teil, und der Reifen kann immer noch existieren ohne das Auto.
Die Aggregationsbeziehung ist eine Art Assoziationsbeziehung und eine starke Assoziationsbeziehung; Assoziation und Aggregation können grammatikalisch nicht unterschieden werden, und die spezifische logische Beziehung muss untersucht werden.
[Code-Reflexion]: Mitgliedsvariablen
[Pfeil und Zeigen]: Eine durchgezogene Linie mit einer hohlen Raute, die Raute zeigt auf das Ganze
5. Zusammensetzung
[Kombinierte Beziehung]: Es ist die Beziehung zwischen dem Ganzen und den Teilen, aber die Teile können nicht unabhängig vom Ganzen existieren. Beispielsweise ist die Beziehung zwischen dem Unternehmen und der Abteilung die Beziehung zwischen dem Ganzen und dem Teil ohne das Unternehmen , gäbe es keine Abteilung.
Die Kombinationsbeziehung ist eine Art Assoziationsbeziehung und eine stärkere Beziehung als die Aggregationsbeziehung. Sie erfordert, dass das Objekt, das das Ganze in der gewöhnlichen Aggregationsbeziehung darstellt, für den Lebenszyklus des Objekts verantwortlich ist, das den Teil darstellt.
[Code-Reflexion]: Mitgliedsvariablen
[Pfeil und Zeigen]: Eine durchgezogene Linie mit einer durchgezogenen Raute, die Raute zeigt auf das Ganze
6. Abhängigkeit
[Abhängigkeit]: Es handelt sich um eine Nutzungsbeziehung, das heißt, die Implementierung einer Klasse erfordert die Unterstützung einer anderen Klasse. Versuchen Sie daher, keine gegenseitige Abhängigkeit in beide Richtungen zu verwenden.
[Codeleistung]: lokale Variablen, Methodenparameter oder Aufrufe statischer Methoden
[Pfeil und zeigend]: Eine gepunktete Linie mit einem Pfeil, der auf den Benutzer zeigt
Die Reihenfolge der Stärke verschiedener Beziehungen:
Generalisierung = Implementierung > Zusammensetzung > Aggregation > Assoziation > Abhängigkeit
Das folgende UML-Diagramm zeigt verschiedene Klassendiagrammbeziehungen anschaulicher:
Das Obige ist die gesamte Erzählung dieses Artikels, ich hoffe, es gefällt Ihnen.