Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 3 - Pruefungsverw

Prüfungsverwaltung

Die Prüfungsverwaltung besteht aus mehreren Oberflächen, von denen aus man die Eigenschaften der Prüfungen kontrollieren und bearbeiten kann. Ausgangspunkt für die Verwaltung ist die Liste aller Prüfungen zu einer Veranstaltung. Dazu muss man die Veranstaltung im Seitenmenü ausgewählt haben.

Die Liste zeigt die Klausuren und Übungsblätter einer Vorlesung getrennt an und informiert über die Nummer der Prüfung, das Datum, Aufgabenzahl und die maximale Punktzahl der Prüfung an. Unter den Optionen kann man sich eine Detailansicht der Prüfung zeigen lassen. Für Dozenten und Übungsleiter stehen zusätzlich noch Möglichkeiten zur Verfügung, Prüfungen zu bearbeiten oder zu löschen.

Implementierte Models:

Pruefung_Controller.php:

Die Klasse Pruefung_Controller

Die Klasse Pruefung_Controller erweitert die Klasse Controller und verwaltet Pruefungen. Das Standardvorgehen der Controller besteht darin, zu einer aufgerufenen Action ein html-Formular oder eine Weiterleitung zurückzuliefern.

Views:

Die Templates sind so angelegt, dass sie oft über boolsche Variablen steuerbar sind, z.B. um die Möglichkeiten zum Löschen oder Ändern je nach Rechten des Users an- oder auszuschalten. Ausserdem werden meist ganze Objekte an die Variablen zugewiesen, sodass man mehrere Informationen über Klassenattribute erzeugen kann. Dabei werden auch die durch die überladenen
__get()
- und
__set()
Methoden realisierten Pseudoattribute benutzt, um häufig benutzte Berechnungen an die Models auszulagern.

Für das Anlegen und Editieren der Daten stehen dabei jeweils 2 actions bereit, die erste gibt ein Formular zum Eingeben der Daten zurück, die zweite wird von dem Formular aufgerufen und setzt die Änderungen oder neuen Pruefungen in der Datenbank fest. Anschließend wird ein html-konformes Informationsfenster erzeugt und daran eine Ansicht der Daten angehängt. Beides wird zurückgegeben, sodass das Infofenster über der aktuellen Ansicht erscheint.

Ist beim Ändern der Daten ein Fehler aufgetreten, etwa fehlerhafte Werte, wird anstatt des Informationsfensters ein Fehlerfenster erzeugt und statt der Ansicht erneut das Änderungsformular angezeigt.

Man kann einerseits die Daten der Pruefung, wie etwa das Datum oder die Aufgabenzahl, oder auch die Punktzahlen der Aufgabenliste ändern. Beides sind getrennte Formulare, da es möglich ist, für eine Pruefung, für die schon Punkte eingetragen wurden, die Daten im Nachhinein zu ändern, die Aufgabenliste kann jedoch nur an den Aufgaben verändert werden, für die noch keine Punkte eingetragen wurden.

Es ist nur möglich, Pruefungen zu löschen, wenn keine nachfolgende Pruefung existiert, oder wenn bereits Punkte für diese Pruefung eingetragen wurden.

Abb. 1: Detailansicht einer Klausur, in der der eingeloggte User Punkte hat.


Page last modified on August 16, 2009, at 11:35 AM