Continuous Delivery im Rahmen des Usability Engineering Repository (UsER)

Art der Abschlussarbeit

Masterarbeit

Thema

Continuous Delivery setzt ein hohes Maß an Automatisierung und die Definition harter Metriken für die Qualitätssicherung der Software voraus. In diesem Prozess soll das manuelle Release (bezeichnet die fertige und veröffentlichte Version einer Software) weitestgehend eliminiert werden. Momentan wird die aktuelle Entwicklungsstufe von UsER vor der Freigabe einer neuen Version (Build) manuell mit dem Java Build-Management-Tool Maven durchgeführt. Installation, Test und Implementierung der Anwendung (Deploy) werden mit Jenkins, einer webbasierten Software zur kontinuierlichen Integration von Komponenten zu einem Anwendungsprogramm, vorgenommen. Eine direkte Anbindung von Sonarqube, einer Plattform für statische Code-Analyse der technischen Qualität von Sourcecode, an das Projektmanagement-Werkzeug Redmine gab es noch nicht.

Bearbeitet von

Philip Schikora

Aufgabenstellung

Das Ziel dieser Masterarbeit ist es zu ergründen, wie man Continuous Delivery im Rahmen eines universitären Forschungsprojektes einbinden kann und welcher Mehrwert an Effizienz sich durch diese Maßnahmen ergibt. Dazu wird der Entwicklungsprozess des bereits bestehenden Usability Engineering Repository (UsER) Projekts an Hand der bewährten Softwaretechnikmethode des Continuous Delivery optimiert. Diese versucht menschliche Fehlerquellen zu minimieren und zu automatisieren, was möglich ist.

Im UsER sind verschiedene Methoden und Werkzeuge zur Unterstützung des (betrieblichen) Usability- und Requirements-Engineering in einer web-basierten Software vereint. Für die weiteren Arbeiten durch Wissenschaftler, Hilfskräfte und Studierende an diesem umfangreichen Java Anwendungssystem, ist es essentiell deutlicher zwischen Test- und Produktivbetrieb unterscheiden zu können, um viele, teils potenziell schwerwiegende, Fehlerquellen zu vermeiden.

Zur Implementierung einer sogenannten „Continuous-Deployment-Pipeline“ wird in dieser Arbeit Maven als Software zum Erstellen dieser GWT (Java und JavaScript)-Anwendung verwendet, Jenkins zur Integration, SonarQube als Qualitätsanalyse- und Redmine als Projektmanagement-Software.

Außerdem ist in dieser Arbeit ein Leitfaden für die weitere Benutzung von SVN durch die anfangs genannten Personengruppen enthalten.

Zum Schluss wird aufgezeigt, wie die Mensch-Maschine-Arbeitsteilung optimiert wurde, indem die Erfüllung der Anforderungen überprüft, sowie die Repräsentation tatsächlicher Arbeitsprozesse validiert wird. Die Validierung zielt auf Vergleiche von Anforderungen bzw. Ist-Zustand mit dem Ziel-Zustand der Gestaltung der Continuous-Delivery-Pipeline ab.

Starttermin

Jul 2016

Abgeschlossen

Mär 2017