| Universität-Gesamthochschule Siegen | Fachbereich Elektrotechnik und Informatik | Fachgruppe Technische Informatik |
4.1.5 Die Berechnung der Pläne
Abbildung 4.1.15 zeigt das Klassendiagramm der Klassen, die an der Stundenplanberechnung beteiligt sind.

Abbildung 4.1.15: Die bei der Planberechnung beteiligten Klassen
Wird der Menüpunkt "Berechnen" ausgewählt, so empfängt die Dokument-Klasse CUniPlanDoc die entsprechende "Message" und startet die zugehörige Message-Handler-Function "OnBerechnen()".
Bevor der eigentliche Stundenplan berechnet werden kann, müssen noch einige vorbereitende Berechnungen der benötigten Bedingungen erfolgen.
Dazu gehört die Bildung der Bedingungen,
Außerdem werden veraltete, nicht mehr benötigte Datensätze aus den Restriktionstabellen entfernt und nur die Restriktionen aktiviert, welche zur Stundenplanung benötigt werden.
Die oben aufgeführten Funktionalitäten stellt die Klasse CRestrictionDispatcher zur Verfügung. Die entsprechenden Funktionen werden zusammen mit einer Referenz auf die zuvor initialisierte Fortschrittsanzeige CProgress der Reihe nach aufgerufen. Anschließend wird die Fortschrittsanzeige wieder geschlossen und die Kontrolle an die Klasse CStundenplangenerator übergeben, welche für die Berechnung der Stundenpläne zuständig ist.
Der Stundenplangenerator verfügt über eine eigene Fortschrittsanzeige und ist im Prinzip ein Programm für sich, welches nur den Datenbankmanager CDBManager mitbenutzt. Dadurch ist die Möglichkeit gegeben, den Stundenplangenerator zu einem späteren Zeitpunkt als eigenständiges Programm auf einen schnellen, leistungsfähigen Rechner auszulagern. Die Benutzerinteraktivität besteht lediglich darin, die Berechnung zu starten bzw. abzubrechen. Abbildung 4.1.16 zeigt den Stundenplangenerator bei einer Berechnung.

Abbildung 4.1.16: Dialog des Stundenplan-Generators
Web-Designer: Hans Peter Kunz. Grafiken: Patrick Richter, Gerrit Viola. Letzte Änderung: 12-03-1998.