Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:modellierung:uml:start [25.10.2021 14:55] – [Multiplizitäten] sbel | faecher:informatik:oberstufe:modellierung:uml:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Darstellungselemente der Modellierung ====== | ||
- | ===== Objektdiagramme ===== | ||
- | |||
- | | {{ : | ||
- | |Allgemein | ||
- | |||
- | * Die Kopfzeile benennt das Objekt und gibt seinen Typ/seine Klasse an | ||
- | * Attribute sind konkret mit Werten angegeben | ||
- | * Die Attribute geben den Zustand des Objekts an, wenn man sie verändert, ändert sich der Objektzustand | ||
- | * Die Methoden der Klasse, aus denen die Objekte instanziiert wurden werden in den Objektdiagrammen nicht angegeben. | ||
- | |||
- | ===== Entwurfsdiagramme ===== | ||
- | | {{ : | ||
- | |Allgemein | ||
- | |||
- | * Ein Schritt näher an der Programierung, | ||
- | * Unabhängig von der Programmiersprache | ||
- | * Wichtige Attribute werden mit " | ||
- | * Wesentliche Methoden werden mit Rückgabetyp angegeben | ||
- | * //Keine// Setter- und Getter- Methoden, keine Konstruktoren | ||
- | |||
- | ===== Implementationsdiagramm ===== | ||
- | |||
- | Das Implementationsdiagramm ist auf eine bestimmte Programmiersprache ausgerichtet: | ||
- | |||
- | Man kann sich das Implementationsdiagramm als " | ||
- | |||
- | | {{ : | ||
- | | Allgemein | ||
- | |||
- | |||
- | ===== Assoziationen ===== | ||
- | |||
- | Im objektorientierten Entwurf einer Miniwelt spielen Beziehungen zwischen den Klassen des Modells eine große Rolle - solche Beziehungen zwischen den Klassen nennt man **Assoziationen**. | ||
- | |||
- | |||
- | * Eine Assoziation wird häufig über ein **Attribut** in der assoziierenden Klasse realisiert. | ||
- | * Die Beziehungen können jedoch auch über eine Steuerklasse (Assoziationsklasse) realisiert werden, welche die Beziehungen zwischen den Klassen des Modells verwaltet. | ||
- | |||
- | ==== Darstellungsmöglichkeiten im UML Diagramm: ==== | ||
- | |||
- | === Möglichkeit A === | ||
- | |||
- | Attribute am Assoziationspfeil: | ||
- | |||
- | {{ : | ||
- | |||
- | Wenn es mehrere Assoziationen gibt sieht dieses Darstellung folgendermaßen aus: | ||
- | |||
- | {{ : | ||
- | |||
- | === Möglichkeit B === | ||
- | |||
- | Der Asooziationspfeil verbindet lediglich die Klassen, dem Pfeil kann man nicht ansehen, welches Attribut die Verbindung realisiert. Das erkennt man erst, wenn man die Typen der Attribute genau betrachtet. | ||
- | |||
- | {{ : | ||
- | |||
- | Bei mehreren Assoziationen ergibt sich das folgende Bild: | ||
- | |||
- | {{ : | ||
- | |||
- | |||
- | ==== Multiplizitäten ==== | ||
- | |||
- | Um auf einen Blick erkennen zu können, ob eine Assoziation einzelne Objekte einer Klasse mit der Steuerklasse verbindet oder mehrere Objekte derselben Art, wie es bei Sammlungen und ADTs der Fall ist, bringt man an der Pfeilspietze des Assoziationspfeils für gewöhnlich noch eine Markierung für die **Multiplizität** des Assoziation an: | ||
- | |||
- | ^ Multiplizität ^ Erläuterung | ||
- | | 1 |Ein Objekt der Klasse assoziiert genau ein Objekt der assoziierten (anderen) Klasse | | ||
- | | 0..1 | Ein Objekt der Klasse assoziiert eine oder keines der assoziierten Objekte | | ||
- | | 0..* | Ein Objekt der Klasse assoziiert beliebig viele (oder keines) der andern Objekte | | ||
- | | n..* | Ein Objekt der Klasse assoziiert beliebig viele, aber mindestens '' |