Design und Implementierung einer prototypischen Code-Review-Plattform für peer-based Feedback im Rahmen der Softwaretechnik-Ausbildung

Thema:
Design und Implementierung einer prototypischen Code-Review-Plattform für peer-based Feedback im Rahmen der Softwaretechnik-Ausbildung
Art:
BA
Betreuer:
Alexander Bazo
Student:
Alicia Fritsche
Status:
in Bearbeitung
Stichworte:
Software Engineering, Code-Reviews, Programming Education
angelegt:
2019-01-08
Beginn:
2019-01-31
Antrittsvortrag:
2019-02-04

Hintergrund

Diverse Arten von Foren für Frage- oder Hilfestellungen für Studierende im Rahmen der Softwaretechnik-Ausbildung an der Universität Regensburg sind durch z.B. Kurse im GRIPS bereits gegeben. Allerdings fehlt bisher die Möglichkeit zum gegenseitigen code reviewing. Dies ist allerdings ein wesentlicher Aspekt des Software Engineering und so sollte bereits während des Studiums gelehrt werden, dass Software Engineering keine Einzelarbeit ist, sondern eine solidarische Arbeit in einem Team, in dem man sich gegenseitig fördert. Im Rahmen der Arbeit soll eine Webanwendung entwickelt werden, die Studierenden eine solche Plattform bietet, um sich bei der Erledigung von Programmieraufgaben wie Übungsaufgaben, Studienleistungen etc. durch ein peer-based code reviewing gegenseitig zu unterstützen. Die Anwendung soll somit dazu verhelfen, dass die Studierenden sich untereinander bei dem fixing von Bugs, der Entdeckung von Verbesserungsmöglichkeiten und somit auch der Verbesserung ihrer Codequalität austauschen und weiterhelfen können. Die Plattform richtet sich dabei an Studierende in fortgeschrittenen Semestern, die bereits über erste Programmierkenntnisse verfügen.

Zielsetzung der Arbeit

Ziel der Arbeit ist eine prototypische Entwicklung und Evaluation einer geeigneten Webanwendung, die den Studenten eine einfache und nutzerfreundliche Möglichkeit zum gegenseitigen code reviewing von Programmieraufgaben, wie Übungsaufgaben oder Studienleistungen, bietet. Auf der Basis vorhandener Literatur werden code reviews als Methodik der Softwaretechnik beschrieben und zusammengefasst. Ebenso wird nach Ansätzen zur Integration von code reviews in der Softwaretechnik-Ausbildung recherchiert und die Ergebnisse zusammengetragen. Im Anschluss wird eine benutzerzentrierte Anforderungsanalyse, für die im Rahmen der Arbeit zu entwickelnden Plattform, durchgeführt. Auf Grundlage der bis dahin erarbeiteten Ergebnisse wird ein Prototyp entwickelt, der als Webanwendung umgesetzt wird. Die Anwendung basiert dabei auf Grundlage von Github bzw. der Github-API und findet ihren Fokus auf das Frontend. In einer abschließenden Evaluation soll der Prototyp auf dessen Gebrauchstauglichkeit mit einer Stichprobe der potentiellen Nutzergruppe getestet werden.

Konkrete Aufgaben

  • Erfassen der Methodik des Code Reviewing durch Literaturrecherche
  • Recherche möglicher Anwendungsszenarien von Code Reviews innerhalb der Softwaretechnik-Ausbildung
  • Definition einer Zielgruppe
  • Durchführen der Benutzer-zentrierten Anforderungserhebung
  • Implementierung und Dokumentation des Prototyps
  • Evaluation der Anwendung mit einer Stichprobe der potentiellen Nutzergruppe

Erwartete Vorkenntnisse

  • Kenntnisse in der Webentwicklung
  • Grundkenntnisse im Usability-Engineering

Weiterführende Quellen

Nach Absprache mit dem Betreuer.