Exkurs - Modellierung der Miniwelt

Identifikation der Objekte

Wir gehen von einer Miniwelt aus, die wie in der Abbildung strukturiert ist.

Lernkartei
  • Objekte der Klasse Karte sind für die Verwaltung der Daten einzelner Karteikarten zuständig.
  • Ein Objekt der Klasse Kartenstapel ist für die Verwaltung mehrerer Karteikarten (bzw. Objekte der Klasse Karte) zuständig.
  • Ein Objekt der Klasse Kartenmanager ist für das Kartenmanagement zuständig, z.B. für das Auswählen einzelner Karten.

Objektorientiertes Datenmodell

Das folgende Objektdiagramm verdeutlicht ein erstes Datenmodell zur Miniwelt.

Klassendiagramm zur Lernkartei

Objekte der Klasse Karte benutzen die Attribute stichwort und erlaeuterung, um die Daten einer Karteikarte zu verwalten.

Objekte der Klasse Karte werden von einem Objekt kartenstapel erzeugt. Zur Verwaltung dieser Objekte sieht das Objekt kartenstapel ein geeignetes Listen-Attribut vor.

Ein Objekt kartenmanager ist für das Kartenmanagement zuständig. Dieses Objekt kennt das Objekt kartenstapel und verwaltet den Index der aktuell ausgewählten Karte mit einem geeigneten Attribut.

Im folgenden Klassendiagramm sind die Attribute und Methoden der benötigten Klassen genauer spezifiziert.

Klassendiagramm zur Lernkartei

Dokumentation der Klasse Karte

Zuständigkeit: Ein Objekt der Klasse Karte verwaltet die Daten einer Karteikarte.

Attribut bezeichner: erfasst den Bezeichner auf der Vorderseite einer Karteikarte (als Zeichnekette)

Attribut erlaeuterung: erfasst die Erläuterung auf der Rückseite einer Karteikarte (als Zeichnekette)

Konstruktor Karte(bezeichner, erlaeuterung): erzeugt ein Karte-Objekt und setzt die Attribute auf die entsprechenden übergebenen Parameterwerte

Dokumentation der Klasse Kartenstapel

Zuständigkeit: Ein Objekt der Klasse Kartestapel erzeugt und verwaltet Objekte der Klasse Karte.

Attribut karten: Liste von Referenzen zur Verwaltung von Objekten der Klasse Karte

Konstruktor Kartenstapel(): erzeugt ein Kartestapel-Objekt, das einen leeren Kartenstapel beschreibt

Methode karteHinzufuegen(bezeichner, erlaeuterung): Prozedur, die ein neues Objekt der Klasse Karte erzeugt und in die Liste karten (am Ende der Liste) einfügt

Methode karteLoeschen(index): Prozedur, die das Element mit dem übergebenen Index aus der Liste karten entfernt (sofern der Index im erlaubten Bereich liegt)

Methode getKarte(index): Funktion, die das Karte-Objekt mit dem übergebenen Index zurückliefert (sofern der Index im erlaubten Bereich liegt)

Dokumentation der Klasse Kartenmanager

Zuständigkeit: Ein Objekt der Klasse Kartenmanager verwaltet einen Kartestapel sowie den Index der aktuell ausgewählten Karte.

Attribut kartenstapel: Referenzattribut zur Verwaltung eines Objekts der Klasse Kartestapel

Attribut indexAktuelleKarte: Zahl, die den Index des Karte-Objekts in der Liste des Kartestapel-Objekts verwaltet; falls noch keine Karte-Objekte vorliegen, beträgt der Attributwert -1

Konstruktor Kartenmanager(): erzeugt ein Kartenmanager-Objekt

Methode karteHinzufuegen(bezeichner, erlaeuterung): Prozedur, die das Kartenstapel-Objekt veranlasst, ein neues passendes Karte-Objekt hinzuzufügen

Methode aktuelleKarteLoeschen(): Prozedur, die das Kartenstapel-Objekt veranlasst, das Element mit dem Index indexAktuelleKarte zu entfernen

Methode anfangKartenstapel(): Prozedur, die den Wert des Attributs indexAktuelleKarte so setzt, dass die erste Karte des verwalteten Kartenstapels ausgewählt ist

Methode endeKartenstapel(): Prozedur, die den Wert des Attributs indexAktuelleKarte so setzt, dass die letzte Karte des verwalteten Kartenstapels ausgewählt ist

Methode weiterKartenstapel(): Prozedur, die den Wert des Attributs indexAktuelleKarte so setzt, dass die nächste Karte des verwalteten Kartenstapels ausgewählt ist

Methode zurueckKartenstapel(): Prozedur, die den Wert des Attributs indexAktuelleKarte so setzt, dass die vorherige Karte des verwalteten Kartenstapels ausgewählt ist

Methode setKartenstapel(kartenstapel): Prozedur, die dem Attribut kartenstapel den übergebenen Parameterwert zuweist

Methode getAktuelleKarte(): Funktion, die das Karte-Objekt zur aktuell gewählten Karte zurückliefert

X

Fehler melden

X

Suche