anlage:modellierungstechniken:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
anlage:modellierungstechniken:start [2023/09/08 07:08] – angelegt Martin Pabst | anlage:modellierungstechniken:start [2023/09/08 07:15] (aktuell) – Martin Pabst | ||
---|---|---|---|
Zeile 26: | Zeile 26: | ||
=== Wiederholung === | === Wiederholung === | ||
Wiederholungen werde durch ein " | Wiederholungen werde durch ein " | ||
- | + | {{ :anlage:modellierungstechniken:pasted:20230908-090854.png }} | |
- | {{ :softwaretechnik:modellierung:pasted:20220102-120250.png }} | + | |
Eine For-Wiederholung kann so dargestellt werden: | Eine For-Wiederholung kann so dargestellt werden: | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-120511.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-090909.png }} |
Die Diagramme habe ich mit dem [[https:// | Die Diagramme habe ich mit dem [[https:// | ||
Zeile 35: | Zeile 34: | ||
Im Klassendiagramm werden Klassen und ihre Beziehungen zueinander dargestellt. | Im Klassendiagramm werden Klassen und ihre Beziehungen zueinander dargestellt. | ||
=== Klasse === | === Klasse === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-125426.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-090931.png }} |
Als Datentypen können die Datentypen von Java verwendet werden. Die **Zugriffsmodifikatoren** bedeuten folgendes: | Als Datentypen können die Datentypen von Java verwendet werden. Die **Zugriffsmodifikatoren** bedeuten folgendes: | ||
* + (public): Das Attribut/ | * + (public): Das Attribut/ | ||
Zeile 44: | Zeile 43: | ||
=== Abstrakte Klasse === | === Abstrakte Klasse === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-125742.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-090955.png }} |
=== Interface === | === Interface === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-125814.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091007.png }} |
=== Spezialisierung/ | === Spezialisierung/ | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130229.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091024.png }} |
Dies steht für | Dies steht für | ||
<code java> | <code java> | ||
Zeile 58: | Zeile 57: | ||
</ | </ | ||
Für abstrakte Klassen genauso: | Für abstrakte Klassen genauso: | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130417.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091042.png }} |
=== Implementierung eines Interface === | === Implementierung eines Interface === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130527.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091100.png }} |
=== Aggregation === | === Aggregation === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130608.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091112.png }} |
Objekte der Klasse „Übergeordnet“ können Objekte der Klasse „Enthalten“ enthalten (als Referenzattribute). Die Objekte der Klasse Enthalten können aber auch dann weiter existieren, wenn es das übergeordnete Objekt nicht mehr gibt. | Objekte der Klasse „Übergeordnet“ können Objekte der Klasse „Enthalten“ enthalten (als Referenzattribute). Die Objekte der Klasse Enthalten können aber auch dann weiter existieren, wenn es das übergeordnete Objekt nicht mehr gibt. | ||
Es können auch Kardinalitäten angegeben werden: | Es können auch Kardinalitäten angegeben werden: | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130639.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091126.png }} |
Bedeutung: Ein Objekt der Klasse „Übergeordnet“ enthält immer genau ein Objekt der Klasse „Enthalten“. Ein Objekt der Klasse „Enthalten“ kann in beliebig vielen (n), aber auch in keinem (0) Objekt der Klasse „Übergeordnet“ enthalten sein. | Bedeutung: Ein Objekt der Klasse „Übergeordnet“ enthält immer genau ein Objekt der Klasse „Enthalten“. Ein Objekt der Klasse „Enthalten“ kann in beliebig vielen (n), aber auch in keinem (0) Objekt der Klasse „Übergeordnet“ enthalten sein. | ||
Bei Angabe der Aggregation muss kein entsprechendes Attribut in der übergeordneten Klasse aufgeführt werden (Wenn in Abituraufgaben ein „erweitertes Klassendiagramm“ gefordert ist, sollten diese jedoch als Attribut immer vorhanden sein). Zur Angabe des Attributnamens kann die Aggregation mit dem Namen beschriftet werden: | Bei Angabe der Aggregation muss kein entsprechendes Attribut in der übergeordneten Klasse aufgeführt werden (Wenn in Abituraufgaben ein „erweitertes Klassendiagramm“ gefordert ist, sollten diese jedoch als Attribut immer vorhanden sein). Zur Angabe des Attributnamens kann die Aggregation mit dem Namen beschriftet werden: | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130721.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091145.png }} |
=== Komposition === | === Komposition === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130823.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091159.png }} |
Unterschied zur Aggregation: | Unterschied zur Aggregation: | ||
=== Allgemeine Assoziation === | === Allgemeine Assoziation === | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-130928.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091213.png }} |
Der Pfeil gibt die Richtung der in der Beschreibung angegebenen Beziehung an (z.B. zur Klarstellung, | Der Pfeil gibt die Richtung der in der Beschreibung angegebenen Beziehung an (z.B. zur Klarstellung, | ||
Für die Kardinalitäten siehe Aggregation. | Für die Kardinalitäten siehe Aggregation. | ||
Diese Art der Beziehung wird in der 9. Klasse bei der Modellierung von Datenbanken verwendet (die Klassen entsprechen den Entitätstypen). In Abituraufgaben können sie auch im Sinne von Aggregation/ | Diese Art der Beziehung wird in der 9. Klasse bei der Modellierung von Datenbanken verwendet (die Klassen entsprechen den Entitätstypen). In Abituraufgaben können sie auch im Sinne von Aggregation/ | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-131001.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091231.png }} |
===== Objektdiagramm ===== | ===== Objektdiagramm ===== | ||
Ein Objektdiagramm stellt einen " | Ein Objektdiagramm stellt einen " | ||
Zeile 88: | Zeile 85: | ||
=== Beispiel: einfach verkettete Liste === | === Beispiel: einfach verkettete Liste === | ||
**Klassendiagramm: | **Klassendiagramm: | ||
- | {{ :softwaretechnik:modellierung:klassendiagramm.png?400 |}} | + | {{ :anlage:modellierungstechniken:pasted: |
**Beispiel für ein dazugehöriges Objektdiagramm: | **Beispiel für ein dazugehöriges Objektdiagramm: | ||
- | {{ :softwaretechnik:modellierung:objektdiagramm_1.png?600 |}} | + | {{ :anlage:modellierungstechniken:pasted: |
Die Farben sind nur zur Verdeutlichung da. Im Abitur sind sie nicht gefordert. \\ \\ | Die Farben sind nur zur Verdeutlichung da. Im Abitur sind sie nicht gefordert. \\ \\ | ||
=== Variante === | === Variante === | ||
Oft werden die Beziehungen der Objekte zueinander durch Verbindungslinien dargestellt, | Oft werden die Beziehungen der Objekte zueinander durch Verbindungslinien dargestellt, | ||
- | {{ :softwaretechnik:modellierung: | + | {{ :anlage:modellierungstechniken:pasted:20230908-091445.png }} |
- | + | ||
- | ===== Sequenzdiagramm ===== | + | |
- | Bei Beteiligung mehrerer Objekte, die untereinander kommunizieren (über Methodenaufrufe und Rückgabewerte) geht die Übersicht schnell verloren. Um dieses Verhalten übersichtlich darzustellen gibt es in der UML das Sequenzdiagramm. Hier ein Beispiel, wobei in Blau die Fachwörter für die einzelnen Bestandteile angegeben sind. | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | Der Zeitverlauf im Sequenzdiagramm ist von oben nach unten gerichtet, von links nach rechts sind die einzelnen Objekte angeordnet. Objekte, die zum Startzeitpunkt schon existieren stehen oben (zum Startzeitpunkt), | + | |
- | + | ||
- | <WRAP center round tip 60%> | + | |
- | Das Ende der Lebenszeit eines Objekts kann man dann markieren, wenn es keine Referenz mehr auf das Objekt gibt. | + | |
- | </ | + | |
===== Zustandsdiagramm ===== | ===== Zustandsdiagramm ===== | ||
Ein Zustandsdiagramm („state machine“) modelliert ein System anhand der verschiedenen Zustände, die es annehmen kann. Zwei Zustände sind dann unterscheidbar, | Ein Zustandsdiagramm („state machine“) modelliert ein System anhand der verschiedenen Zustände, die es annehmen kann. Zwei Zustände sind dann unterscheidbar, | ||
Im folgenden Beispiel ist eine Schranke standardmäßig geschlossen. Steckt jemand ein Ticket ein (Auslöser), | Im folgenden Beispiel ist eine Schranke standardmäßig geschlossen. Steckt jemand ein Ticket ein (Auslöser), | ||
- | {{ :softwaretechnik:modellierung:pasted:20220102-144252.png }} | + | {{ :anlage:modellierungstechniken:pasted:20230908-091514.png }} |
anlage/modellierungstechniken/start.1694156907.txt.gz · Zuletzt geändert: 2023/09/08 07:08 von Martin Pabst