Planung und Entwicklung eines leicht weiterentwickelbaren Systems für Persönlichkeitstests

worked on by: Nicolai Wolfrom

Thema

In dieser Arbeit wird ein System für Persönlichkeitstests geplant und entwickelt. Das System wird für einen Kunden erstellt, der mit Persönlichkeitstests arbeitet und auf diesem Gebiet forscht. Es existieren bereits ähnliche Software-Lösungen, die aber für die speziellen Anforderungen des Kunden nicht ausreichen. Daher bedarf es eines individuell entwickelten Systems. Zu den Anforderungen des Kunden gehört u.a. die Nutzer zu autorisieren, die Fragen automatisch auszuwerten oder ein schemenhaftes Zertifikat nach einem Test erstellen zu lassen.

Eine erste Version dieses Systems, welche die grundlegenden Anforderungen des Kunden erfüllt, wird in dieser Arbeit entwickelt. Da zukünftig aber noch weitere Anforderungen hinzukommen, liegt dabei ein besonderer Fokus auf der leichten Weiterentwickelbarkeit des Systems. Ob sich das System leicht weiterentwickeln lässt oder welche Probleme dabei auftreten, wird am Ende der Bachelorarbeit durch einen praktischen Test überprüft.

Ansatz

Da das Prinzip von durchzuführenden Tests nichts Neues ist, besteht eine der Hauptaufgaben darin eine geeignete Technologie für die Umsetzung dieser Tests zu finden. Dies kann in Form einer Third Party Software, Bibliothek, Frameworks oder ähnliches sein. Das restliche System wird dann an diese Technologie angepasst aufgebaut.

Die Entwicklung erfolgt dabei recht agil, sodass es wiederholt Gespräche mit dem Kunden gibt. Dadurch fallen Änderungen an den Anforderungen frühzeitig auf und es kann leichter auf das Feedback des Kunden reagiert werden.

Lösung

Das System besteht aus einem Python-Backend, dass mit dem Web-Framework Flask erstellt wird. Zum Anzeigen und Durchführen der Persönlichkeitstests wird die Javascript-Bibliothek 'SurveyJS' genutzt. Um das System möglichst leicht weiterentwickeln zu können, liegt bei der Entwicklung ein Fokus auf einer guten Modularisierung sowie einer hilfreichen und übersichtlichen Dokumentation.

Nach der Entwicklung wurde die Weiterentwickelbarkeit getestet, wobei das Ergebnis positiv ausfiel. Auch wäre der Kunde bereits in der Lage, Persönlichkeitstests mit dem System durchzuführen, da es bereits auf einem Server läuft und es Workshops zur Einarbeitung des Kunden gab.

Erzeugnisse

Der erstellte Code sowie die zugehörige Dokumentation können im Github-Repository der Bachelorarbeit gefunden werden. Der letzte Stand innerhalt der Arbeit kann unter dem Github-Hash ‚b21aca9067db31916129eaddc8247ef55e653c69‘ gefunden werden.

Eine Anleitung zur Einrichtung der lokalen Umgebung und starten des Systems ist in der Dokumentation enthalten.

Screenshots des Frontends

Login Token Eingabe:

Login.png

Personenbezogene Daten Eingabe:

PersData.png

Eigentlicher Persönlichkeitstests:

PersTest.png

Schemenhaftes Zertifikat:

Result.png



Remained from Template:

Thesis Requirements

formulate requirements here (together with your adviser)

Milestones and Planning

A milestone is a scheduled event signifying the completion of a major deliverable or a set of related deliverables. A milestone has zero duration and no effort -- there is no work associated with a milestone. It is a flag in the workplan to signify some other work has completed. Usually a milestone is used as a project checkpoint to validate how the project is progressing and revalidate work. (Source: http://www.mariosalexandrou.com/definition/milestone.asp)

Milestone no. Past days CW Goals target accomplished wrench
1 DONE 1 CWXX Goals accomplished

Weekly Status

Week 1 (CW XX)

Activities

  • been there, done that

Results

  • achieved XYZ

Next Steps

  • planning …

Problems