Kundenanforderung:
Wir, die BesitzerInnen des Supermarktes „Kasino“, erfreuen uns immer größerer Beliebtheit und werden deswegen in größere Räumlichkeiten umziehen. Den Umzug nehmen wir als Anlass um eine Kassensoftware in unserem neuen Supermarkt einzuführen. Die Kassensoftware sollte zu jedem Produkt in unserem Supermarkt einige Eigenschaften mitführen. Zu diesen Eigenschaften gehört der Produktname und die European Article Number (EAN) bzw. Price Look-Up code (PLU), welche eine eindeutige Kennzeichnung für Produkte darstellt. Zusätzlich zum Preis, hat jedes Produkt ein bestimmtes Gewicht. Aus diesen beiden Zahlen errechnet sich der Grundpreis, den wir verpflichtet sind auf den Regaletiketten mit anzugeben. Außerdem gehören zu den Eigenschaften von jedem Produkt in unserem Supermarkt die vorhandene Anzahl, damit wir jederzeit einsehen können, ob noch genügend Bestand vorhanden ist. Es ist möglich, dass bestimmte Produkte mit der Zeit von uns nicht mehr verkauft werden, daher soll es möglich sein, ein Produkt aus der Datenbank zu entfernen. Gelegentlich kommt es vor, dass ein Kunde nachfragt, ob wir ein bestimmtes Produkt verkaufen. Es muss uns deswegen möglich sein, gezielt nach einem Produktnamen oder der EAN zu suchen und bei erflogreicher Suche, die zugehörige Kategorie des Produkts angezeigt zu bekommen, damit wir den Kunden in die richtige Richtung leiten können. Wir wollen die Kasse auch ohne den Scanner betreiben können, deswegen soll der Verkauf auch durch händische Eingabe der einzukaufenden Artikel möglich sein. Bei einem neuen Einkauf soll eine Rechnung der bereits eingekauften Artikel geführt werden und die Zwischensumme angezeigt werden. Der Einkauf kann regulär beendet werden, dann wird dem Kunden die zu zahlende Summe angezeigt und nach Zahlung vermindert sich der Bestand um die Anzahl der eingekauften Produke. Andernfalls kann der Einkauf storniert werden und die Produkte werden zur Seite gelegt oder wieder in die Regale eingeräumt. Nach einer Warenlieferung muss es uns auch möglich sein neue Produkte dem Bestand hinzuzufügen.