arbeiten:code-review-plattform

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
arbeiten:code-review-plattform [16.01.2019 15:23] – [Data-Entry] Alexander Bazoarbeiten:code-review-plattform [31.01.2019 11:06] – Edited Hintergrund fra05120
Zeile 20: Zeile 20:
 === Hintergrund === === 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.BKurse 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 istsondern eine solidarische Arbeit in einem Team, in dem man sich gegenseitig fördert+Code Review ist eine etablierte Methode im Software-Engineering, um folgenschwere Fehler in Entwicklungsprojekten möglichst früh zu entdecken und zu beheben. Das Korrekturlesen von Code durch einen Peer bietet dabei weit mehr Vorteile als das Finden von BugsVon dem Finden alternativer Lösungswege bis zu der Weitergabe von Wissen kann ein peer review verhelfenDeshalb ist es bei Unternehmen gang und gäbe Code Reviews fortlaufend während eines Projekts einzusetzen und somit zählen sie auch zu dem Berufsalltag eines Software Engineers.  
-Im Rahmen der Arbeit soll eine Webanwendung entwickelt werden, die Studierenden eine solche Plattform bietetum 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. +Da Code Review ein wesentlicher Aspekt des Software Engineering ist, sollte bereits während des Studiums gelehrt werden, wie es funktioniert und erstellt wirdCode zur Kritik offenzulegen als auch die Vorteile von Code Review zu erfahren
 +Um den Studierenden eine Plattform zu bietenauf der sie nach der Erledigung von Programmieraufgaben wie Übungsaufgaben, Studienleistungen etc. ihren Code zum Feedback durch einen Peer freigeben können, soll im Rahmen der Arbeit dazu eine Webanwendung entwickelt werden. Die Anwendung soll somit dazu verhelfen, Code Reviewing kennenzulernen, als auch den Studierenden die Möglichkeit zu bieten sich untereinander bei dem fixing von Bugs, der Entdeckung von Verbesserungsmöglichkeiten und somit auch der Verbesserung ihrer Codequalität auszutauschen und weiterzuhelfen 
 + 
 +Die Plattform richtet sich dabei an Studierende in fortgeschrittenen Semestern, die bereits über erste Programmierkenntnisse verfügen.
  
  
Zeile 30: Zeile 33:
 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. 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. 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.+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 im Frontend der Anwendung.
 In einer abschließenden Evaluation soll der Prototyp auf dessen Gebrauchstauglichkeit mit einer Stichprobe der potentiellen Nutzergruppe getestet werden. In einer abschließenden Evaluation soll der Prototyp auf dessen Gebrauchstauglichkeit mit einer Stichprobe der potentiellen Nutzergruppe getestet werden.
  
Zeile 38: Zeile 41:
   * Erfassen der Methodik des Code Reviewing durch Literaturrecherche   * Erfassen der Methodik des Code Reviewing durch Literaturrecherche
   * Recherche möglicher Anwendungsszenarien von Code Reviews innerhalb der Softwaretechnik-Ausbildung   * Recherche möglicher Anwendungsszenarien von Code Reviews innerhalb der Softwaretechnik-Ausbildung
-  * Definition einer Zielgruppe 
   * Durchführen der Benutzer-zentrierten Anforderungserhebung   * Durchführen der Benutzer-zentrierten Anforderungserhebung
   * Implementierung und Dokumentation des Prototyps   * Implementierung und Dokumentation des Prototyps
Zeile 51: Zeile 53:
  
 === Weiterführende Quellen === === Weiterführende Quellen ===
 +Bacchelli, A. and Bird, C. (2013). Expectations, outcomes, and challenges of modern code review, in Proceedings of the 2013 International Conference on Software Engineering, ser. ICSE ’13, S.712 – 721 
 +
 +Bavota, G., & Russo, B. (2015). Four eyes are better than two: On the impact of code reviews on software quality. In Software Maintenance and Evolution (ICSME), 2015 IEEE International Conference on (pp. 81-90). IEEE., S. 85-87
 +
 +Clark, N. (2004). Peer testing in software engineering projects. In Proceedings of the Sixth Australasian Conference on Computing Education-Volume 30 (S. 41-48). Australian Computer Society, Inc..
 +
 +Hyyrynen, V., Hämäläinen, H., Ikonen, J., & Porras, J. (2010). MyPeerReview: an online peer-reviewing system for programming courses. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (S. 94-99). ACM.
 +
 +MacLeod, L., Greiler, M., Storey, M. A., Bird, C., & Czerwonka, J. (2018). Code Reviewing in the Trenches: Challenges and Best Practices. IEEE Software, 35(4), S. 34-42.
 +
 +Liggesmeyer, P. (2009). Software-Qualität: Testen, Analysieren und Verifizieren von Software. (2. Aufl.) Heidelberg: Spektrum Akademischer Verlag.
 +
 +
  
-Nach Absprache mit dem Betreuer.