Ausgabe 2003-03-07
Lutz Prechelt
1. In einer
Schule soll der Lehrbetrieb folgendermaßen rechnergestützt verwaltet werden:
Betrachten Sie das zu diesem Problem erstellte OOA-Modell in Abb. 1.
Nennen Sie zu jedem gefundenen Fehler die entsprechende Checkliste mit dem
zugehörigen Unterpunkt.
Abb. 1: Fehlerhaftes OOA-Modell zur Verwaltung des Lehrbetriebs einer Schule
2. Erstellen Sie anhand der folgenden
Problembeschreibung systematisch ein Klassendiagramm und verwenden Sie dabei
nach Möglichkeit Muster. Kennzeichnen Sie alle identifizierten Muster im
Diagramm. Es soll eine Autovermietung mit folgenden Anforderungen modelliert
werden:
1.
Von jedem
PKW werden das Kennzeichen und das Baujahr gespeichert.
2.
Den
einzelnen PKW werden Typen zugeordnet. Jeder Typ hat eine Bezeichnung und einen
Tagesmietpreis. Typen werden auch gespeichert, wenn keine entsprechenden PKW
vorhanden sind. PKW können nur erfasst werden, wenn der entsprechende Typ auch
existiert.
3.
Zu jedem
Auto, das vermietet wird, gibt es einen Entleiher, der gleichzeitig Fahrer ist.
Darüber hinaus können bis zu drei Zusatzfahrer eingetragen werden. Von den
Fahrern (Entleiher und Zusatzfahrer) werden die Namen, Adressen und das
Geburtsdatum gespeichert.
4.
Eine Person
darf maximal 5 Autos gleichzeitig (als Entleiher) mieten.
5.
Zur
Vermietung sind keine weiteren Daten zu speichern.
6.
PKW und
Fahrer sollen in dem System gespeichert bleiben, sobald sie einmal erfasst
wurden, auch wenn sie aktuell an keiner Vermietung beteiligt sind.
3. Erstellen
Sie anhand der folgenden Anforderungen systematisch ein Zustandsdiagramm: Es
soll das dynamische Verhalten eines Heißgetränkeautomaten modelliert werden. Gehen
Sie von der folgenden vereinfachten Funktionsweise aus:
1.
Wird der
Automat eingeschaltet, benötigt er 10 Minuten zum Aufheizen. Erst dann ist er
automatisch betriebsbereit und nimmt Geld und Tastendrücke an.
2.
Es ist
möglich einen Becher mit der Bechertaste anzufordern. Hierzu ist es
erforderlich, mind. 10 Pf im Geldspeicher zu haben. Der Becher kostet 10 Pf. Es
wird nicht kontrolliert, ob schon ein Becher angefordert wurde.
3.
Der Automat
bietet mehrere Getränke an, die Sie aber nicht unterschiedlich behandeln müssen
(d.h. ein Ereignis "Getränkewahltaste betätigt" genügt).
4.
Getränke
werden nur ausgegeben, wenn genügend Geld für das Getränk im Geldspeicher ist. Der
Geldspeicher wird dann um den Getränkepreis reduziert.
5.
Die
Geldrückgabe auf Knopfdruck ist nur möglich, wenn der Automat gerade nicht den
Becher füllt.
6.
Ist ein
Getränk nach der Ausgabe leer, schaltet der Automat automatisch in den
Warnmodus (Anzeige: leer), gibt das Geld aus dem Geldspeicher aus und reagiert
nicht mehr auf Geldeingabe und Tastendrücke.
7.
Es gibt
einen Geldspeicher, dessen Inhalt automatisch angezeigt wird. Der Betrag muss
jedoch jeweils durch eine Aktion aktualisiert werden. Geldeinwurf ist ein
Ereignis.
8.
Gehen Sie
davon aus, dass immer ausreichend Becher im Automaten sind.
9.
Gehen Sie
davon aus, dass der Automat den Geldbetrag im Geldspeicher immer passend
ausgeben kann.
10.
Gehen Sie
davon aus, dass der Automat die Becherausgabe nicht kontrolliert. So kann man
z.B. auch eine mitgebrachte Tasse (oder gar nichts) unter die Ausgabedüse
stellen.