web-dev-qa-db-de.com

Erklärung der UML-Pfeile

Ich habe kürzlich UML studiert und einfache Diagramme mit einfachen Pfeilen zwischen Klassen gezeichnet, aber ich weiß, dass es nicht genug ist. Es gibt viele andere Pfeile: Verallgemeinerung, Realisierung usw., die für den Diagrammleser eine Bedeutung haben.

Gibt es eine nette Ressource, die jeden Pfeil erklären könnte (gewöhnlich, einfach, gepunktet, diamantengefüllt, Diamant)?

Es wäre das Beste, wenn es einige Codebeispiele für sie geben würde.

213
faya

Hier einige Erklärungen aus den Visual Studio 2015-Dokumenten:

UML-Klassendiagramme: Referenz: https://msdn.Microsoft.com/library/dd409437%28VS.140%29.aspx

UML class diagram

5: Assoziation: Eine Beziehung zwischen den Mitgliedern zweier Klassifikatoren.

5a: Aggregation: Eine Assoziation, die eine gemeinsame Besitzbeziehung darstellt. Die Eigenschaft Aggregation der Eigentümerrolle wird auf Shared festgelegt.

5b: Zusammensetzung: Eine Assoziation, die eine ganzheitliche Beziehung darstellt. Die Eigenschaft Aggregation der Eigentümerrolle wird auf Composite festgelegt.

9: Generalisierung: Der spezifische Klassifikator erbt einen Teil seiner Definition vom allgemeinen Klassifikator. Der allgemeine Klassifikator befindet sich am Pfeilende des Anschlusses. Attribute, Assoziationen und Operationen werden vom jeweiligen Klassifikator geerbt. Verwenden Sie das Tool Inheritance, um eine Generalisierung zwischen zwei Klassifikatoren zu erstellen.

Package diagram

13: Import: Eine Beziehung zwischen Paketen, die angibt, dass ein Paket alle Definitionen eines anderen enthält.

14: Abhängigkeit: Die Definition oder Implementierung des abhängigen Klassifikators kann sich ändern, wenn der Klassifikator am Ende der Pfeilspitze geändert wird.

Realization relationship

15: Realisierung: Die Klasse implementiert die von der Schnittstelle definierten Operationen und Attribute. Verwenden Sie das Tool Inheritance, um eine Realisierung zwischen einer Klasse und einer Schnittstelle zu erstellen.

16: Realisierung: Eine alternative Darstellung derselben Beziehung. Das Etikett auf dem Lollipop-Symbol kennzeichnet die Schnittstelle.

UML-Klassendiagramme: Richtlinien: http://msdn.Microsoft.com/library/dd409416%28VS.140%29.aspx

Eigenschaften einer Assoziation

Aggregation: Dies erscheint als Rautenform an einem Ende des Verbinders. Sie können damit angeben, dass Instanzen in der Aggregationsrolle Instanzen der anderen besitzen oder enthalten.

Ist navigierbar: Wenn nur für eine Rolle wahr, wird ein Pfeil in der navigierbaren Richtung angezeigt. Hiermit können Sie die Navigierbarkeit von Links und Datenbankbeziehungen in der Software angeben.


Generalisierung: Generalisierung bedeutet, dass der spezialisierte oder abgeleitete Typ Attribute, Operationen und Assoziationen des allgemeinen oder Basistyps erbt. Der allgemeine Typ wird am Pfeilende der Beziehung angezeigt.

Realization: Realization bedeutet, dass eine Klasse die von der Schnittstelle angegebenen Attribute und Operationen implementiert. Die Schnittstelle befindet sich am Pfeilende des Anschlusses.

Lassen Sie mich wissen, wenn Sie weitere Fragen haben.

435

enter image description here

enter image description here

Ich finde diese Bilder verständlich.

117
artamonovdev

Ein netter Spickzettel (http://loufranco.com/wp-content/uploads/2012/11/cheatsheet.pdf) :

Es bedeckt:

  • Klassen Diagramm
  • Sequenzdiagramm
  • Paketdiagramm
  • Objektdiagramm
  • Anwendungsfalldiagramm

Und bietet ein paar Beispiele.

Class Diagram Elements, like parent to child relationship , subclass relationship, interface and implementor, plus Sequence Diagram Elements

18
The Red Pea

Mein Lieblings-UML-Spickzettel ist ML Distilled von Martin Fowler. Es ist das einzige seiner Bücher, das ich gelesen habe und das ich empfehlen kann.

13
anon

Hier ist ein vereinfachtes Tutorial:

Praktische UML

Für mehr empfehle ich etwas Literatur.

12
Siblja

Die UML-Kurzreferenz von Allen Holub bietet eine schnelle Referenz und klare Beispiele:

http://www.holub.com/goodies/uml/

(In der ersten Spalte einer Tabelle gibt es einige spezifische Beispiele für Pfeile und Zeiger, in der zweiten Spalte eine Beschreibung.)

9
Mark

Eine sehr leicht verständliche Beschreibung ist die Dokumentation von yuml mit Beispielen für Klassendiagramme, Anwendungsfälle und Aktivitäten.

6
Karsten W.

Die akzeptierte Antwort lautet: Es fehlen einige Erklärungen. Was ist zum Beispiel der Unterschied zwischen einer unidirektionalen und einer bidirektionalen Assoziation? Im angegebenen Beispiel sind beide vorhanden . (Beide 5er in den Pfeilen)

Wenn Sie nach einer vollständigeren Antwort suchen und mehr Zeit haben, ist hier eine ausführliche Erklärung.

4
Makan Tayebi

Wenn Sie eher eine MOOC-Person sind, ist ein kostenloser Kurs, den ich empfehlen würde, der Ihnen alle Details der meisten UML-Diagramme beibringt, der folgende von Udacity: https://www.udacity.com/course/software-architektur-design - ud821

1
Mauricio Reis

Aggregationen und Kompositionen sind etwas verwirrend. Denken Sie jedoch, dass Kompositionen eine stärkere Version der Aggregation sind. Was bedeutet das? Nehmen wir ein Beispiel: (Aggregation) 1. Nehmen Sie ein Klassenzimmer und Schüler: In diesem Fall versuchen wir, die Beziehung zwischen ihnen zu analysieren. Ein Klassenzimmer hat eine Beziehung zu Schülern. Das heißt, der Unterricht besteht aus einem oder mehreren Schülern. Selbst wenn wir die Classroom-Klasse entfernen, muss die Students-Klasse nicht zerstört werden, was bedeutet, dass wir die Student-Klasse unabhängig verwenden können.

(Zusammensetzung) 2. Schauen Sie sich die Seiten und die Buchklasse an. In diesem Fall ist pages ein Buch, dh eine Sammlung von Seiten macht das buch. Wenn wir die Buchklasse entfernen, wird die gesamte Page-Klasse zerstört. Das bedeutet, dass wir die Klasse der Seite nicht unabhängig verwenden können.

Wenn Sie sich zu diesem Thema noch nicht sicher sind, schauen Sie sich dieses kurze, wundervolle Video an, das die Aggregation klarer erklärt.

https://www.youtube.com/watch?v=d5ecYmyFZW

0
Mr_b194