Ausgabe 2003-03-12
Lutz Prechelt
1. Biathlon
ist eine nordische Sportart, bei der Schilanglauf mit Schießen kombiniert ist.
Die Athleten starten mit dem Gewehr auf dem Rücken, laufen zum ersten
Schießstand, schießen auf eine Zielscheibe und laufen danach zum nächsten
Schießstand weiter etc. Die Athleten sind in Teams zusammengefaßt, die von
ihrem Teamchef betreut werden. Diese Teamchefs interessieren sich besonders für
die Leistungen der eigenen Mannschaft und für die ihrer größten Konkurrenten.
Für die Teamchefs sind die Fehlschüsse und die Zwischenzeiten ihrer Athleten
interessant, weshalb sie während des Wettkampfs automatisch über Veränderungen
benachrichtigt werden müssen.
Zwischenzeitstationen
ermitteln die Startnummer und die bis dahin benötigte Zeit eines Athleten.
Zielscheiben haben markierte Bereiche, die Treffer signalisieren. Wird ein
nicht markierter Bereich auf der Zielscheibe getroffen, so wird ein Fehlschuß
angezeigt. Zielscheiben melden die Anzahl der Fehlschüsse. (Wir nehmen
vereinfachend an, dass die Athleten die Zielscheibe niemals ganz verfehlen.
Damit kann die Scheibe leicht zwischen Fehlschüssen und Treffern
unterscheiden.) Jeder Teamchef kann sich während des Wettkampfes bei der
zentralen Zeit- und Schußverwaltung an- und abmelden. Außerdem gibt es Stadion-
und Schießstandanzeigen, die das Fortschreiten des Wettkampfes durch
Zwischenzeiten und Fehlschüsse anzeigen.
-
Stellen Sie ein Klassendiagramm auf, das als Klassen
Zielscheiben, Zeitschranken, Teamchefs, Stadion- und Schießstandanzeigen und
die zentrale Verwaltung enthält. Benutzen Sie das Entwurfsmuster Beobachter, um
die Änderung der Zwischenzeiten und der Fehlschüsse zu berücksichtigen.
-
Modellieren Sie mit einem Sequenzdiagramm den Ablauf,
wenn eine Zeitschranke einen Durchlauf meldet und sich ein Teamchef für die
Zeit interessiert und der zweite nicht.
-
Welche Mehrdeutigkeiten haben Sie in der obigen
Anforderungsbeschreibung bemerkt? Formulieren Sie möglichst knappe
Verbesserungen der betroffenen Sätze.
2. Betrachten
Sie das Windows-Betriebssystem von außen (d.h. aus Benutzersicht)
-
An welchen Stellen kann man erkennen, dass (vermutlich)
Entwurfsmuster eingesetzt werden?
-
Welche Muster sind das?
-
Welche positiven und welche negativen Wirkungen entfalten
sie jeweils?
-
Wo vermissen Sie solchen Einsatz schmerzlich?