Webshop
Ein Kunde kann in der Einkaufsphase folgende Aktionen durchführen. Dies muß jedoch in der angegebenen Reihenfolge geschehen.
- Der Kunde startet durch seine Anmeldung aktiv einen Bestellprozess.
- Der Kunde wählt Farbe und Größe seines Einhornfurzkissens. Die Größe ist beschränkt auf S, M, L oder XL.
- 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
NR | Client an Server | Server an Client |
---|---|---|
1 | ANMELDUNG | Begrüßung Aufforderung zur Wahl der Größe und Farbe des Einhornfurzkissens |
2 | Einhornfurzkissen : "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 |
3 | BESTÄ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 |
4 | ABMELDEN | Der Kunde wird verabschiedet |
5 | Sonstiges | unbekannte 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.
- 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.
- 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.
- Der Client verbindet sich mit dem Server und wählt ein Einhornfurzkissen der Größe L und rot. Die angeforderte Bestätigung verneint er.
- Überführt das angegebene UML Diagramm und testet eure Implementation.