Informationen

Projekttyp

Bachelorprojekt

Voller Titel

Implementierung einer Webanwendung zur Übersicht und Verwaltung von Kursen an Universitäten

Bearbeitungszeit

Seit 5.11.2010

Lizenz

GNU General Public License

Zusammenfassung

Daphne ist ein Online Verwaltungs- und Informationssystem für Kurse an Universitäten. Das System wurde als Datenbankanwendung auf Grundlage des Python Webframeworks Django implementiert und umfasst folgende Merkmale:

  • Die Übersichtsseite für Studenten beinhaltet Informationen zu bearbeiteten Übungsblättern (Abgabetermine, Punkte, etc.).

  • Die Übersichtsseite für Tutoren beinhaltet eine Liste der dem Tutor zugeordneten Studenten und die Möglichkeit deren Abgaben zu bewerten.

  • Die Übersichtsseite für Kursleiter enthält umfrangreiche Informationen zum Kurs, zu Tutoren, Studenten und Übungsblättern. Hier können auch einzelne Tutoren Studenten zugewiesen, Studenten und Tutoren in Gruppen zusammengefasst und neue Übungsblätter und Termine angelegt werden.

Features:

  • Studenten können ihre Abgaben mit der Versionsverwaltung Apache Subversion vornehmen.

  • Anbindung an das Buildsystem Jenkins, um Programmieraufgaben zu bauen und zu testen.

  • Anbindung an die Forensoftware phpBB.

  • Die Rollen eines Kurses sind nicht strikt voneinander getrennt, sondern ergeben sich durch zugewiesene Rechte. So ist es etwa möglich den Tutor eines Kurses im selben Kurs auch als Studenten agieren zu lassen.

  • Studenten und Tutoren können in Gruppen zusammengefasst werden. So können etwa zwei Tutoren gemeinsam für die Korrekturen einer Gruppe von Studenten verantwortlich sein.

  • RSS/Atom Feeds für Termine und Ereignisse.

  • Authentifizierung gegen einen zentralen Authentifizierungsdienst (etwa LDAP) möglich.

  • Central Authentification Service (CAS) für die verschiedenen an Daphne angebundenen Systeme (Jenkins, Forum, Trac).

Stichwörter: Daphne, Python, Django, Webanwendung, Kursverwaltungssystem

Betreuerin

Prof. Dr. Hannah Bast

Verfasser
  • Axel Lehmann <lehmanna at informatik dot uni minus freiburg dot de>

  • Jens Hoffmann <hoffmaje at informatik dot uni minus freiburg dot de>

Quelltext

Der Quelltext der Arbeit ist unter http://daphne-dev.informatik.uni-freiburg.de/svn/daphne zu finden.

Dokumentation

Wer braucht schon sowas.

Testsystem

Daphne wird unter Jenkins kontinuierlich (nach jedem SVN-Commit) in vier aufeinander aufbauenden Stufen getestet.

Stufe 1: Unittests

Bislang ca. 300 Unittests versuchen die funktionale Integrität der modularen Einheiten Daphnes zu gewährleisten. Die Unittests erstellen weiter

  • Informationen zur Testabdeckung des Quellcodes

  • Hinweise zu Stilbrüchen im Quellcode (pylint)

  • Abhängigkeitsgraphen der einzelnen Funktionen mit Informationen zu deren Laufzeit

Stufe 2: Installationstest

Der Installationstest soll die Integrität der zahlreichen Packetabhängigkeiten gewährleisten. Die Entwickler stellen so sicher, dass jüngste Änderungen an externen Packeten nicht die Funktionalität Daphnes beeinträchtigen.

Stufe 3: Selenium Tests

Mittels Selenium werden einige grundlegene Daphne-Funktionen Browser übergreifend getestet.

Stufe 4: Benchmarks

Die Laufzeit der Übersichtsseiten jeder Teilnehmerrolle (Student, Tutor, Kursleiter) wird in verschiedenen Kursszenarien gemessen und in ein Diagram eingetragen. Die Entwickler werden so schnell auf Verschlechterungen der Laufzeit (und auf deren Ursachen) aufmerksam.