Begleitmaterial Abitur 2024

Webshop

Ein Kunde kann in der Einkaufsphase folgende Aktionen durchführen. Dies muß jedoch in der angegebenen Reihenfolge geschehen.

  1. Der Kunde startet durch seine Anmeldung aktiv einen Bestellprozess.
  2. Der Kunde wählt Farbe und Größe seines Einhornfurzkissens. Die Größe ist beschränkt auf S, M, L oder XL.
  3. Der Kunde kann seinen Einkauf zu jeder Zeit abbrechen. Der Server sendet zurück, dass alle Daten gelöscht wurden, und der Client wird abgemeldet.

Protokoll

NRClient an ServerServer an Client
1ANMELDUNGBegrüßung Aufforderung zur Wahl der Größe und Farbe des Einhornfurzkissens
2Einhornfurzkissen : "Groesse" : "Farbe"Größe und Farbe werdfen bestätigt Preis wird übermittelt Bestätigung wird angefordert Größe oder Farbe ist falsch, Aufforderung für eine korrekte Eingabe
3BESTÄTIGUNG: "Wahl"Bei "Wahl" gleich ja wird dem Kunden gedankt Bei "Wahl" gleich nein wird der Kunde abgemeldet Bei "Wahl" ungleich (ja oder nein), Aufforderung für eine korrekte Eingabe
4ABMELDENDer Kunde wird verabschiedet
5Sonstigesunbekannte Anweisung, Aufforderung für eine korrekte Eingabe

Anwendungsfälle

Ein Kunde meldet sich am System an und bestellt ein lila Einhornfurzkissen in Größe S.

Modellierung

Implementation

Shopserver und ShopClient sind Unterklassen von Server und Client, das Protokoll wurde in Methoden umgesetzt. Der ShopServer benötigt darüber hinaus noch eine Verwaltung der BEstellungen.

Aufgaben

Stellen Sie die Kommunikation zwischen Client und SErver dar.

  1. Der Client verbindet sich mit dem Server und wählt ein Einhornfurzkissen in Größe M und grün. Vor der Bestätigung meldet er sich ab.
  2. Der Client verbindet sich mit dem Server und übermittelt die Größe S und Farbe orange. Dann übermittelt er mit dem entsprechenden Befehl als Größe M und Farbe blau. Er bestätigt danach die getätigte Wahl.
  3. Der Client verbindet sich mit dem Server und wählt ein Einhornfurzkissen der Größe L und rot. Die angeforderte Bestätigung verneint er.
  4. Überführt das angegebene UML Diagramm und testet eure Implementation.