Es handelt sich hierbei um eine Webapplikation, die es speziell Firmen ermöglicht, ihre Mitarbeiter zu befragen und eine statistische Auswertung zu erhalten.
Dazu arbeitet eine MySQL Datenbank im Hintergrund, die alle Fragen, Antworten und Userdaten enthält, auf die verschiedene Funktionen im Programm zugreifen können und die daraus resultierenden Werte grafisch Darstellen.
Zunächst einmal habe ich für Testzwecke das XAMPP Paket auf meinem Rechner installiert und anschließend eine neue Datenbank kreiert. Danach habe ich mir überlegt, wie viele Tabellen ich benötige und welche Informationen in jeder enthalten sein müssen, um eine flexible, aber dennoch getrennt von den jeweiligen Firmen, Statistikauswertung auslesen zu können. Dazu habe ich ein kleines ER-Diagramm entworfen, das sich jedoch im Laufe der Ausarbeitung ständig veränderte, da immerwieder neue Elemente dazukamen, die ich in der Konzeption noch nicht beachtet habe.
In der Datenbank befinden sich drei Tabellen: „Answers“ , „Questions“, „Users“; Die Questions-Tabelle enthält, wie der Name schon sagt, alle Fragen mit eindeutiger ID und Kategorie, die Users-Tabelle verwahrt alle notwendigen Userinformationen und die Answers-Tabelle setzt sich aus der User-ID, Frage-ID und dem Zeitpunkt des Votings zusammen.
Die Seite selbst wurde in PHP, CSS für Design und jQuery für Effekte gecodet. Code-Elemente, wie Funktionen, Attribute etc. entstanden erst im Laufe des Programmier-Prozesses, da mir erst in dieser Phase klar wurde, was ich denn wirklich alles für die Umsetzung benötige.
Ich habe das Ganze allerdigns so geplant, dass in Wirklichkeit immer nur eine einzige Seite aufgerufen wird, die sich dann je nach Befehl (GET-Attribute) die benötigten Informationen via Funktionsaufrufe sucht und die, auf mehreren Files aufgeteilten, Elemente zusammenbaut.
Zwischendurch habe ich neue, fertige Funktionen immer wieder getestet, indem ich mir vorab schon einmal ein paar Testuser angelegt habe, mit denen ich dann so eine Umfrage-Prozedur durchgespielt habe. Die Berechnungen bei der Auswertung habe ich zuerst händisch durchgerechnet und danach die Ergebnisse kontrolliert. Die Diagramme habe ich mit der Google Chart API realisiert.