Aufgabe Vorschlag AJ - Aufgabe 5 · Abitur Hessen Informatik LK 2022

Thema: Objektorientierte Modellierung mit UML · Aus der Prüfung LK (2022)

Aufgabenstellung

Ticketsystem

In einem Möbelhaus gibt es für Warenausgabe und Reklamation ein gemeinsames Ticketsystem. Die Kunden müssen beim Betreten des Servicebereichs einen von zwei Knöpfen drücken, um entweder ihr Anliegen „Warenausgabe“ (Servicetyp: w) oder „Reklamation“ (Servicetyp: r) anzumelden. Sie erhalten dann ein Ticket mit eindeutiger Ticketnummer. Im Falle einer „Warenausgabe“ muss der Kunde zusätzlich noch den Kassenbon unter einen Barcode-Scanner halten. Eine Servicekraft kann dadurch die passenden Waren für die Abholung bereitstellen.

Die Kunden werden anhand ihrer Ticketnummer für die Bearbeitung ihres Tickets aufgerufen.

Material 1

Die Klassen Ticketsystem, Ticket und Kassenbon

Material 2

Die Methode bearbeiteErstesTicket()

01 public void bearbeiteErstesTicket() {

02 if (Erstes == null)

03 System.out.println("Liste ist leer");

04 else {

05 System.out.println("Nummer: " + Erstes.getNummer());

06 System.out.print("Typ: ");

07 if (Erstes.getTyp() == 'r') {

08 System.out.println("Reklamation");

09 } else {

10 System.out.println("Warenausgabe");

11 Kassenbon einKassenbon = Erstes.getKassenbon();

12 for (int i = 0; i < einKassenbon.getArtikelnummern().length; i++) {

13 System.out.println(einKassenbon.getArtikelnummern()[i]);

14 }

15 }

16 Erstes = Erstes.getNächstes();

17 }

18 }

Material 3

Die Methoden gibNächsteArtikelnummernAus() und gibArtikelnummernAus(...)

01 public void gibNächsteArtikelnummernAus() {

02 gibArtikelnummernAus(Erstes);

03 }

04

05 public void gibArtikelnummernAus(Ticket einTicket) {

06 // siehe Aufgabe 3

07 }

Material 4

UML-Diagramm der abstrakten Klasse TicketA

Für die Modellierung des Ticketsystems kommen noch zwei andere Ansätze in Frage:

Modell A: Reklamation und Warenausgabe werden als eigenständige Klassen der abstrakten Oberklasse TicketA (Material 4) modelliert. Die Klasse Ticketsystem verwaltet eine Liste von TicketA -Objekten.

Modell B: Warenausgabe ist eine Unterklasse der Klasse Reklamation. Die Klasse Ticket entfällt. Die Klasse Ticketsystem verwaltet eine Liste von Reklamation -Objekten.

5.1

Vergleichen Sie die Modellierungen A, B und die in Material 1 gegebene Modellierung unter dem Gesichtspunkt der möglichst realitätsnahen Abbildung der gegebenen Situation. [4 BE]

5.2

Erläutern Sie, welche Änderungen sich für die Implementierung der Methode bearbeiteErstesTicket() (Material 2) der Klasse Ticketsystem bei Modell A ergeben. [3 BE]

Aufgabenstellung: Aufgabe Vorschlag AJ - Aufgabe 5 · Abitur Hessen Informatik LK 2022

Lösung

Nach den offiziellen Korrekturhinweisen

5.1 Vergleichen Sie die Modellierungen A, B und die in Material 1 gegebene Modellierung unter dem Gesichtspunkt der möglichst realitätsnahen Abbildung der gegebenen Situation.

Lösung: Eine Warenausgabe ist keine Spezialisierung einer Reklamation, deshalb ist Modell B das Modell, das die Realität am schlechtesten abbildet. Auch bei der in Material 1 gegebenen Modellierung wird eine Warenausgabe als Spezialfall einer Reklamation betrachtet. Da Reklamationen und Warenausgaben eigenständige Serviceleistungen sind, ist Modell A am besten geeignet für eine realitätsnahe Modellierung.

5.2 Erläutern Sie, welche Änderungen sich für die Implementierung der Methode bearbeiteErstesTicket() (Material 2) der Klasse Ticketsystem bei Modell A ergeben.

Lösung: In Zeile 7 muss die Abfrage nach dem Typ ersetzt werden durch eine Prüfung, ob es sich um ein Objekt vom Typ Reklamation handelt. Erstes ist vom Typ TicketA und muss deshalb in ein Objekt vom Typ Warenausgabe konvertiert werden, bevor ab Zeile 11 der Kassenbon ausgelesen werden kann.

Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium

Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.

‹ Aufgabe Vorschlag AJ - Aufgabe 1 · LK 2022 · Aufgabe Vorschlag AJ - Aufgabe 1 · GK 2021 ›

Mehr Aufgaben zu Objektorientierte Modellierung mit UML