Vorlesung Softwaretechnik

 

Übungen zu LE_13

Ausgabe 2003-03-07

 

 

Lutz Prechelt

 

1. In einer Schule soll der Lehrbetrieb folgendermaßen rechnergestützt verwaltet werden:

 

  1. Jeder Lehrer kann bis zu vier Fächer unterrichten.
  2. Eine Klasse wird von verschiedenen Lehrern in unterschiedlichen Fächern unterrichtet.
  3. Jeder Klasse ist ein bestimmter Lehrer als Klassenlehrer zugeordnet.
  4. Der Klassenlehrer soll die Schüler seiner Klasse bei Problemen unterstützen. Deshalb darf jeder Lehrer nur für eine Klasse Klassenlehrer sein.
  5. Jede Unterrichtsstunde finden in einem bestimmten Raum zu einer bestimmten Zeit statt und wird von einem Lehrer vor einer Klasse abgehalten.
  6. Jede Klasse hat zwischen 30 und 35 Unterrichtsstunden.


Betrachten Sie das zu diesem Problem erstellte OOA-Modell in Abb. 1.

  1. Prüfen Sie anhand der Checklisten, ob das Modell hinsichtlich der gefundenen Klassen und Beziehungen korrekt ist.
  2. Untersuchen Sie auch, ob die Attribute sinnvoll benannt sind und ob überall das richtige Abstraktionsniveau gefunden wurde.
  3. Überprüfen Sie, ob Muster richtig verwendet wurden.



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.