UML-Beziehungen zu BEISPIEL: Abhängigkeit, Generalisierung, Realisierung

Inhaltsverzeichnis:

Anonim

Was ist UML-Beziehung?

Beziehungen in UML werden verwendet, um eine Verbindung zwischen strukturellen, Verhaltens- oder Gruppierungsdingen darzustellen. Es wird auch als Link bezeichnet, der beschreibt, wie zwei oder mehr Dinge während der Ausführung eines Systems miteinander in Beziehung stehen können. Typ der UML-Beziehung sind Assoziation, Abhängigkeit, Generalisierung und Realisierung.

Studieren wir sie im Detail

  • Verband

Es handelt sich um eine Reihe von Links, die Elemente des UML-Modells verbinden. Außerdem wird definiert, wie viele Objekte an dieser Beziehung teilnehmen.

  • Abhängigkeit

In einer Abhängigkeitsbeziehung sind, wie der Name schon sagt, zwei oder mehr Elemente voneinander abhängig. Wenn wir in einer solchen Beziehung eine Änderung an einem bestimmten Element vornehmen, ist es wahrscheinlich, dass auch alle anderen Elemente von der Änderung betroffen sind.

  • Verallgemeinerung

Es wird auch als Eltern-Kind-Beziehung bezeichnet. Bei der Verallgemeinerung ist ein Element eine Spezialisierung einer anderen allgemeinen Komponente. Es kann ersetzt werden. Es wird hauptsächlich zur Darstellung der Vererbung verwendet.

  • Realisierung

In einer Realisierungsbeziehung von UML bezeichnet eine Entität eine Verantwortung, die nicht von sich selbst implementiert wird, und die andere Entität, die sie implementiert. Diese Beziehung besteht hauptsächlich bei Schnittstellen.

In diesem UML-Tutorial lernen Sie:

  • Verband
  • Abhängigkeit
  • Verallgemeinerung
  • Realisierung
  • Komposition
  • Anhäufung

Verband

Es ist eine strukturelle Beziehung, die Objekte darstellt, die mit einem anderen Objekt innerhalb des Systems verbunden oder verknüpft werden können. Die folgenden Einschränkungen können auf die Zuordnungsbeziehung angewendet werden.

  • {implizit} - Implizite Einschränkungen geben an, dass die Beziehung nicht manifest ist. es basiert auf einem Konzept.
  • {geordnet} - Geordnete Einschränkungen geben an, dass sich die Gruppe von Objekten an einem Ende einer Zuordnung auf eine bestimmte Weise befindet.
  • {veränderbar} - Die veränderbare Einschränkung gibt an, dass die Verbindung zwischen verschiedenen Objekten im System gemäß den Anforderungen hinzugefügt, entfernt und geändert werden kann.
  • {addOnly} - Gibt an, dass die neuen Verbindungen von einem Objekt hinzugefügt werden können, das sich am anderen Ende einer Zuordnung befindet.
  • {eingefroren} - Gibt an, dass ein Link, der zwischen zwei Objekten hinzugefügt wird, nicht geändert werden kann, solange die eingefrorene Einschränkung für den angegebenen Link oder eine Verbindung aktiv ist.

Wir können auch eine Klasse erstellen, die Assoziationseigenschaften hat. Es wird als Assoziationsklasse bezeichnet.

Reflexive Assoziation

Die reflexive Assoziation ist ein Subtyp der Assoziationsbeziehung in UML. In einer reflexiven Assoziation können die Instanzen derselben Klasse miteinander in Beziehung gesetzt werden. Eine Instanz einer Klasse wird auch als Objekt bezeichnet.

Reflexive Assoziation besagt, dass eine Verknüpfung oder eine Verbindung innerhalb der Objekte derselben Klasse vorhanden sein kann.

Betrachten wir ein Beispiel für eine Klassenfrucht. Die Obstklasse hat zwei Instanzen, wie Mango und Apfel. Reflexive Assoziation besagt, dass eine Verbindung zwischen Mango und Apfel vorhanden sein kann, da es sich um Instanzen derselben Klasse handelt, wie z. B. Obst.

Directed Association

Wie der Name schon sagt, hängt die gerichtete Assoziation mit der Flussrichtung innerhalb der Assoziationsklassen zusammen.

In einer gerichteten Assoziation ist der Fluss gerichtet. Die Zuordnung von einer Klasse zu einer anderen Klasse erfolgt nur in eine Richtung.

Es wird durch eine durchgezogene Linie mit einer Pfeilspitze gekennzeichnet.

Beispiel:

Sie können sagen, dass zwischen einem Server und einem Client eine gerichtete Zuordnungsbeziehung besteht. Ein Server kann die Anforderungen eines Clients verarbeiten. Dieser Fluss ist unidirektional und fließt nur vom Server zum Client. Daher kann eine gerichtete Zuordnungsbeziehung innerhalb von Servern und Clients eines Systems vorhanden sein.

Abhängigkeit

Mithilfe einer Abhängigkeitsbeziehung in UML kann man in Beziehung setzen, wie verschiedene Dinge innerhalb eines bestimmten Systems voneinander abhängig sind. Die Abhängigkeit wird verwendet, um die Beziehung zwischen verschiedenen Elementen in UML zu beschreiben, die voneinander abhängig sind.

Stereotype

  • «Bind» - Bind ist eine Einschränkung, die angibt, dass die Quelle die Vorlage an einem Zielspeicherort unter Verwendung der angegebenen Parameter oder Werte initialisieren kann.
  • «Ableiten» - Dies bedeutet, dass der Standort eines Quellobjekts aus dem Zielobjekt berechnet werden kann.
  • «Freund» - Gibt an, dass die Quelle im Zielobjekt eine eindeutige Sichtbarkeit aufweist.
  • «InstanceOf» - Gibt an, dass die Instanz eines Zielklassifikators das Quellobjekt ist.
  • «Instanziieren» - Gibt an, dass das Quellobjekt Instanzen eines Zielobjekts erstellen kann.
  • «Verfeinern» - Gibt an, dass das Quellobjekt eine außergewöhnliche Abstraktion aufweist als das Zielobjekt.
  • «Use» - Wird verwendet, wenn Pakete in UML erstellt werden. Das Verwendungsstereotyp beschreibt, dass die Elemente eines Quellpakets auch im Zielpaket vorhanden sein können. Es wird beschrieben, dass das Quellpaket einige Elemente eines Zielpakets verwendet.
  • «Ersatz» - Gibt an, dass der Kunde zur Laufzeit durch den Kunden ersetzt werden kann.
  • «Access» - Gibt an, dass das Quellpaket auf die Elemente des Zielpakets zugreift, das auch als private Zusammenführung bezeichnet wird.
  • «Import» - Gibt an, dass das Ziel das Element eines Quellpakets so importieren kann, wie es im Ziel definiert ist. Dies wird auch als öffentliches Zusammenführen bezeichnet.
  • «Erlaubnis» - Gibt an, dass das Quellelement unabhängig von der deklarierten Sichtbarkeit des Lieferanten Zugriff auf das Lieferantenelement hat.
  • «Erweitern» - Hilft Ihnen anzugeben, dass das Ziel das Verhalten des Quellelements erweitern kann.
  • «Include» - Ermöglicht die Angabe des Quellelements, in das das Verhalten eines anderen Elements an einer bestimmten Stelle aufgenommen werden kann. (wie ein Funktionsaufruf in c / c ++)
  • «Werden» - Gibt an, dass das Ziel der Quelle mit unterschiedlichen Werten und Rollen ähnlich ist.
  • «Call» - Gibt an, dass die Quelle eine Zielobjektmethode aufrufen kann.
  • «Copy» - Gibt an, dass das Zielobjekt eine unabhängige Kopie eines Quellobjekts ist.
  • «Parameter» - Der Lieferant ist ein Parameter des Kundenbetriebs .
  • «Senden» - Der Client ist eine Operation, die dem Lieferanten ein nicht angegebenes Ziel sendet.

Stereotype unter Zustandsmaschine

  • «Send» - Gibt an, dass die Quelloperation das Zielereignis sendet.

Verallgemeinerung

Es ist eine Beziehung zwischen einer allgemeinen Entität und einer eindeutigen Entität, die im System vorhanden ist.

In einer Generalisierungsbeziehung kann das objektorientierte Konzept der Vererbung implementiert werden. Zwischen zwei Objekten besteht eine Verallgemeinerungsbeziehung, die auch als Entitäten oder Dinge bezeichnet wird. In einer Verallgemeinerungsbeziehung ist eine Entität ein Elternteil und eine andere als Kind. Diese Entitäten können durch Vererbung dargestellt werden.

Bei der Vererbung kann ein untergeordnetes Element eines übergeordneten Elements auf die im übergeordneten Objekt angegebenen Funktionen zugreifen, diese aktualisieren oder erben. Ein untergeordnetes Objekt kann seine Funktionalität zu sich selbst hinzufügen sowie die Struktur und das Verhalten eines übergeordneten Objekts erben.

Diese Art von Beziehung wird zusammen als Generalisierungsbeziehung bezeichnet.

Stereotype und ihre Einschränkungen

  • «Implementierung» - Dieses Stereotyp wird verwendet, um darzustellen, dass die untergeordnete Entität von der übergeordneten Entität implementiert wird, indem die Struktur und das Verhalten eines übergeordneten Objekts geerbt werden, ohne die Regeln zu verletzen. Hinweis Dieses Stereotyp wird häufig in einer einzelnen Vererbung verwendet .

Die Generalisierungsbeziehung enthält Einschränkungen wie "vollständig" und "unvollständig", um zu überprüfen, ob alle untergeordneten Entitäten in der Beziehung enthalten sind oder nicht.

Realisierung

In einer Realisierungsbeziehung von UML bezeichnet eine Entität eine Verantwortung, die nicht von sich selbst implementiert wird, und die andere Entität, die sie implementiert. Diese Beziehung besteht hauptsächlich bei Schnittstellen.

Die Realisierung kann auf zwei Arten dargestellt werden:

  • Verwendung einer kanonischen Form
  • Mit einer elidierten Form

In der obigen Abbildung realisieren die Geschäftsregeln des Kontos die Schnittstelle IRuleAgent.

Arten der Realisierung:

  1. Kanonische Form

    In einer Realisierungsbeziehung von UML wird die kanonische Form verwendet, um Schnittstellen im gesamten System zu realisieren. Es verwendet ein Schnittstellenstereotyp, um eine Schnittstelle zu erstellen, und eine Realisierungsbeziehung wird verwendet, um die bestimmte Schnittstelle zu realisieren.

    In einer kanonischen Form wird die Realisierungsbeziehung unter Verwendung der gestrichelten gerichteten Linie mit einer beträchtlichen offenen Pfeilspitze bezeichnet.

    In der obigen Abbildung wird die Schnittstelle Iruleagent mithilfe eines Objekts realisiert, das als Account Business Rules bezeichnet wird.

  2. Elided Form

    Die Realisierung im UML-Klassendiagramm kann auch mit einem elidierten Formular dargestellt werden. In elidierter Form wird die Schnittstelle mit einem Kreis bezeichnet, der auch als Lollipop-Notation bezeichnet wird.

    Wenn diese Schnittstelle unter Verwendung von allem, was im System vorhanden ist, realisiert wird, erzeugt sie eine elidierte Struktur.

    In dem obigen Diagramm wird die Schnittstelle Iruleagent mit einer elidierten Form bezeichnet, die von acctrule.dll realisiert wird.

Komposition

Es ist keine Standard-UML-Beziehung, wird aber dennoch in verschiedenen Anwendungen verwendet.

Die zusammengesetzte Aggregation ist ein Subtyp der Aggregationsbeziehung mit folgenden Merkmalen:

  • Es ist eine wechselseitige Zuordnung zwischen den Objekten.
  • Es ist eine Ganz / Teil-Beziehung.
  • Wenn ein Verbund gelöscht wird, werden alle anderen damit verbundenen Teile gelöscht.

Die zusammengesetzte Aggregation wird als binäre Assoziation beschrieben, die am aggregierten (ganzen) Ende mit einem gefüllten schwarzen Diamanten verziert ist.

Ein Ordner ist eine Struktur, die n Dateien enthält. In einem Ordner werden die darin enthaltenen Dateien gespeichert. Jeder Ordner kann einer beliebigen Anzahl von Dateien zugeordnet werden. In einem Computersystem ist jede einzelne Datei Teil mindestens eines Ordners innerhalb des Dateiorganisationssystems. Dieselbe Datei kann auch Teil eines anderen Ordners sein, ist jedoch nicht obligatorisch. Immer wenn eine Datei aus dem Ordner entfernt wird, bleibt der Ordner unberührt, während die Daten zu dieser bestimmten Datei zerstört werden. Wenn ein Löschvorgang für den Ordner ausgeführt wird, wirkt sich dies auch auf alle Dateien aus, die im Ordner vorhanden sind. Alle dem Ordner zugeordneten Dateien werden automatisch zerstört, sobald der Ordner aus dem System entfernt wird.

Diese Art von Beziehung in UML ist als zusammengesetzte Aggregationsbeziehung bekannt.

Anhäufung

Eine Aggregation ist ein Subtyp einer Assoziationsbeziehung in UML. Aggregation und Zusammensetzung sind beide Arten von Assoziationsbeziehungen in UML. Eine Aggregationsbeziehung kann in einfachen Worten beschrieben werden als "ein Objekt einer Klasse kann Objekte einer anderen Klasse besitzen oder darauf zugreifen".

In einer Aggregationsbeziehung bleibt das abhängige Objekt auch dann im Bereich einer Beziehung, wenn das Quellobjekt zerstört wird.

Betrachten wir ein Beispiel für ein Auto und ein Rad. Ein Auto braucht ein Rad, um richtig zu funktionieren, aber ein Rad braucht nicht immer ein Auto. Es kann auch mit dem Fahrrad, Fahrrad oder anderen Fahrzeugen verwendet werden, jedoch nicht mit einem bestimmten Auto. Hier ist das Radobjekt auch ohne das Autoobjekt sinnvoll. Eine solche Art von Beziehung wird als Aggregationsbeziehung bezeichnet.

Zusammenfassung

  • Die Beziehung in UML ermöglicht es, eine Sache mit anderen Dingen innerhalb des Systems in Beziehung zu setzen.
  • Assoziations-, Abhängigkeits-, Generalisierungs- und Realisierungsbeziehungen werden von UML definiert.
  • Die Zusammensetzungsbeziehung kann auch verwendet werden, um darzustellen, dass das Objekt jeweils nur Teil eines Verbunds sein kann.
  • Die Zuordnung wird verwendet, um zu beschreiben, dass ein Objekt einem anderen Objekt zugeordnet werden kann.
  • Abhängigkeit bedeutet, dass Objekte voneinander abhängig sein können.
  • Eine Realisierung ist eine sinnvolle Beziehung zwischen Klassifikatoren.
  • Generalisierung wird auch als Eltern-Kind-Beziehung bezeichnet.