Benutzer-Werkzeuge

Webseiten-Werkzeuge


anlage:modellierungstechniken:start

Modellierungstechniken

In diesem Abschnitt wiederholen wir alle uns bisher bekannten Modellierungstechniken.

Datenflussdiagramm

Zur besseren Veranschaulichung werden Datenverarbeitungsvorgänge in Datenflussdiagrammen dargestellt.

Datenflussdiagramme enthalten:

  • Rechtecke für Ein- und Ausgaben
  • Ellipsen für Verarbeitungsvorgänge (Funktionen)
  • Pfeile, die die Richtung des Datenflusses beschreiben

Beispiel:

Struktogramm

Struktogramme (auch: Nassi-Shneiderman-Diagramme) dienen der graphischen Darstellung von Algorithmen. Struktogramme beinhalten Wiederholungen, bedingte Anweisungen und Einzelne Anweisungen.

Beispiel: Summe der geraden Zahlen von 2 bis 100

Bausteine in Struktogrammen

Sequenz

Anweisungen werden durch Rechtecke dargestellt, eine Sequenz (d.h. eine Abfolge mehrerer Anweisungen) durch übereinandergestapelte Rechtecke.

Bedingung

Eine Bedingung (if… else…) wird durch ein Dreieck dargestellt:

Wiederholung

Wiederholungen werde durch ein "L" dargestellt, das den zu wiederholenden Block umschließt: Eine For-Wiederholung kann so dargestellt werden: Die Diagramme habe ich mit dem Online-Tool Structorizer.com von Janis Huser erstellt.

Klassendiagramm

Im Klassendiagramm werden Klassen und ihre Beziehungen zueinander dargestellt.

Klasse

Als Datentypen können die Datentypen von Java verwendet werden. Die Zugriffsmodifikatoren bedeuten folgendes:

  • + (public): Das Attribut/die Methode ist überall sichtbar.
  • - (private): Das Attribut/die Methode ist nur innerhalb dieser Klasse sichtbar.
  • # (protected): Das Attribut/die Methode ist nur innerhalb dieser Klasse und aller Unterklassen davon sichtbar.

Im Abitur dürfen - falls in der Aufgabenstellung nicht ausdrücklich gefordert („erweitertes Klassendiagramm“) - Zugriffsmodifikatoren und Datentypen weggelassen werden (nicht aber Parameter).

Abstrakte Klasse

Interface

Spezialisierung/Generalisierung

Dies steht für

class Unterklasse extends Oberklasse {
 
}

Für abstrakte Klassen genauso:

Implementierung eines Interface

Aggregation

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: 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:

Komposition

Unterschied zur Aggregation: Wird das Objekt aus der Klasse „Übergeordnet“ zerstört, dann wird auch das Objekt aus der Klasse „Enthalten“ zerstört. Ein Objekt aus „Enthalten“ kann daher auch nur in einem einzigen übergeordneten Objekt enthalten sein. Die weiteren Angaben bei der Aggregation treffen auch auf die Komposition zu.

Allgemeine Assoziation

Der Pfeil gibt die Richtung der in der Beschreibung angegebenen Beziehung an (z.B. zur Klarstellung, dass der Lehrer den Schüler unterrichtet und nicht der Schüler den Lehrer). 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/Komposition eingesetzt werden:

Objektdiagramm

Ein Objektdiagramm stellt einen "Schnappschuss" (d.h. einen Zustand) eines/mehrerer Objekte zu einem bestimmten Zeitpunkt dar. Das Objektdiagramm enthält keine Methoden (diese sind ja bereits im Klassendiagramm der zugehörigen Klasse vorhanden), keine Datentypen und keine Zugriffsmodifikatoren. Es besteht daher nur aus zwei Abschnitten: Der erste Abschnitt enthält den Objektnamen, gefolgt von einem Doppelpunkt und dem Klassennamen und ist vollständig unterstrichen. Im zweiten Abschnitt kommen die Attributnamen und die Attributwerte, durch ein „=“-Zeichen getrennt. Wenn Attribute und Methoden unwichtig sind, kann man auch zur Vereinfachung nur den ersten Abschnitt beim Objekt- oder beim Klassendiagramm zeichnen. Ist bei einem Objekt der Objektname unbekannt, so schreibt man nur :Klassenname.

Beispiel: einfach verkettete Liste

Klassendiagramm:

Beispiel für ein dazugehöriges Objektdiagramm: Die Farben sind nur zur Verdeutlichung da. Im Abitur sind sie nicht gefordert.

Variante

Oft werden die Beziehungen der Objekte zueinander durch Verbindungslinien dargestellt, an die der Name des entsprechenden Referenzattributs geschrieben wird, z.B.

Zustandsdiagramm

Ein Zustandsdiagramm („state machine“) modelliert ein System anhand der verschiedenen Zustände, die es annehmen kann. Zwei Zustände sind dann unterscheidbar, wenn sich mindestens ein Attributwert der beteiligten Objekte ändert. Zustände werden in Rechtecken mit abgerundeten Ecken dargestellt, Zustandsübergänge mit Pfeilen. An den Pfeilen steht ein Auslöser für den Zustandsübergang (meist ein Methodenaufruf), zusätzlich ggf. noch eine Aktion, die dann ausgeführt wird und/oder eine Bedingung für den Zustandsübergang (in eckigen Klammern). Der Anfangszustand wird mit einem dicken schwarzen Punkt und einem Pfeil markiert. Im folgenden Beispiel ist eine Schranke standardmäßig geschlossen. Steckt jemand ein Ticket ein (Auslöser), so wird (falls das Ticket gültig ist - Bedingung) die Schranke geöffnet (Aktion) und ist dann im Zustand „offen“. Fährt man bei offener Schranke ein (Auslöser), so geht die Schranke wieder in den Zustand „geschlossen“ über.

anlage/modellierungstechniken/start.txt · Zuletzt geändert: 2023/09/08 07:15 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki