Bildantworten im Quizmodul

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Ziel des Projekts

Bisher bot das Quizmodul lediglich die Möglichkeit, reine Multiple-Choice-Aufgaben zu erstellen. Multiple-Choice schränkt allerdings die Fragemöglichkeiten - gerade für Tests und Klausuren - ein. Ziel dieses Miniprojekts war, die Möglichkeiten des Quizmoduls so zu erweitern, dass Teilnehmer Bilder als Antwort hochladen können. Somit kann man beispielsweise Aufgaben wie "Zeichnen Sie ein UML-Diagramm, welches das Observer-Muster wiedergibt!" stellen.

Bedienung

Beim Erstellen einer Frage/Aufgabe kann man nun zwischen "Multiple-Choice" und "Bild" als Antworttyp auswählen. Wenn "Bild" ausgewählt wurde, erhält der Teilnehmer ein Feld zum Dateien Hochladen. Im Gegensatz zu den Multiple-Choice-Antworten können Bilder nicht automatisiert bewertet werden. Der Ersteller des Tests muss somit zur Bewertung nochmal drüberschauen. Diese Möglichkeit erhält er auf der Statistikseite. Hinter jeder Teilnahme wird angegeben, ob noch Bilder zu bewerten sind. Wenn dort "ja" steht, kann man dieses Wort anklicken und bekommt nacheinander die Aufgaben und die zugehörigen Bilder angezeigt, die der Teilnehmer hochgeladen hat. Zu jedem Bild kann nun eine Punktzahl eingetragen werden, die zur bereits Erzielten hinzuaddiert wird.

Vorgehensweise

Reverse Engineering

Zunächst schaute ich mir den Code an, um zu verstehen, wie das Quizmodul funktioniert. Die Formulare wurden mit dem PEAR-Modul HTML_QuickForm erstellt. Der Entwickler muss sich somit nicht um die Ausgabe von HTML kümmern. Das Modul wurde nach dem Model-View-Controller-Muster erstellt. Zur Datenbankabstraktion wurde das PEAR-Modul DB_DataObject verwendet. Somit brauchte ich für Datenbankzugriffe keine SQL-Statements erstellen.

Analyse und Design

Nachdem verstanden wurde, wie das Quizmodul funktioniert, galt es zu überlegen, wie das Modul erweitert werden kann, um Bildantworten zu ermöglichen:

  • Einführung von Antworttypen: "Multiple-Choice" (bereits vorhanden) und "Bild"
  • Anpassung der Formulare (View):
    • Ersteller-Formular bekommt Radio-Buttons, um den Antworttyp auszuwählen
    • Teilnehmer-Formular bekommt Feld, um Dateien hochzuladen - bei Antworttyp "Bild"
    • Statistik-Seite bekommt Verweis auf zu bewertende Bilder - falls vorhanden
    • Es gibt ein neues Formular zur Bewertung der hochgeladenen Bilder
  • Anpassung der Datenbank (Model):
    • Zur jeder Frage/Aufgabe wird gespeichert, welcher Antworttyp erwartet wird
    • Es gibt eine neue Tabelle (quiz_picture_answer), die die Infos zu den Bildantworten beinhaltet:
      • Dateiname des hochgeladenen Bildes
      • Angabe, ob das Bild bereits bewertet wurde
      • Zuordnung zur Teilnahme und Frage
  • Anpassung der Programmlogik (Controller):
    • Erstellung von Fragen/Aufgaben mit Antworttyp "Bild"
    • Hochladen von Bildern als Antwort ermöglichen
    • Bildbewertung ermöglichen

Entwicklung und Test

Die in der Analyse-und-Design-Phase genannten Anpassungen wurden durchgeführt und zunächst lokal getestet. Entwicklung und Test wechselten sich dabei ständig ab. Getestet wurde in der Bedienoberfläche. Abschließend wurde das Ganze nochmal in der IAT-Umgebung getestet.

Entwicklungsvorschlag

Um die Antwortmöglichkeiten noch flexibler zu gestalten, wäre es eine gute Idee, den Benutzer Texte eingeben oder auch andere Dateien als Antwort hochladen lassen zu können. Diese Änderungen sind nicht sehr aufwendig (ca. 20 Stunden).