Zum Hauptinhalt springen

Studierendenprojekte

Battle of the Best

Vergleich der Buildtools Ant, Maven, Gradle

Die Bachelorarbeit wurde von der Salzburger Agentur LOOP in Auftrag gegeben. Das Ziel der Bachelorarbeit ist die Auswahl eines Softwareprodukts, um Teile des Softwareentwicklungsprozesses von LOOP zu automatisieren.

Derartige Softwareprodukte werden Buildtools genannt. Sie helfen Programmierern bei Aufgaben, die nach der eigentlichen Programmierarbeit durchgeführt werden müssen. So können sich Programmierer auf das Wesentliche, wie die Planung und die Kodierung von Softwareprojekten konzentrieren. Buildtools automatisieren Aufgaben, wie z.B. das Übersetzen des Quelltextes in ein ausführbares Softwareprodukt, das Starten von Softwaretests, das Packen des fertigen Softwareproduktes in ein beliebiges Archiv zur Übergabe an den Kunden oder bei Bedarf das Löschen des erzeugten Softwareprodukts. Da Programmierer während des  Softwareentwicklungsprozesses den Quellcode häufig übersetzen und Softwaretests nicht erst zum Schluss, sondern regelmäßig ausführen, bewirkt eine Automatisierung deutliche Zeitersparnis und erleichtert die Entwicklung erheblich. Sind die Aufgaben, die das Buildtool erledigen soll, definiert, können diese beliebig oft wiederholt werden. Eine intelligente Definition von Aufgaben erlaubt eine Wiederverwendung für verschiedenste Softwareprojekte, eventuell mit kleinen Modifikationen.

Im Zuge der Bachelorarbeit wurde eine Vorauswahl getroffen, da aufgrund der zahlreichen Buildtools eine vollständige Analyse den Rahmen dieser Arbeit sprengen würde. Bei den drei ausgewählten Buildtools handelt es sich um Ant, Maven und Gradle. Alle Softwareprodukte sind kostenfrei und werden von dem Open-Source-Software Anbieter Apache zur Verfügung gestellt.

Um die Tools objektiv nach Kriterien, die für die Agentur LOOP relevant sind, bewerten zu können, wurde eine schrittweise Analyse der Werkzeuge durchgeführt. Zuerst wurden die Funktionsweise der Buildtools und deren besondere Features sowie Vorteile getrennt beleuchtet. Im praktischen Teil der Arbeit wurde der Einsatz der Buildtools anhand eines selbsterstellten Softwareprojekts getestet. Dabei sollten bestimmte Aufgaben, wie das Kompilieren des Quelltextes, das Durchführen von Softwaretests und die Erstellung einer Dokumentation aus dem Quelltext automatisiert werden. Dies erlaubte die Bewertung von Kriterien wie Benutzerfreundlichkeit, Komplexität und Eignung der Tools für bestimmte Aufgaben.

Abschließend wurde aus den Erkenntnissen der theoretischen und praktischen Analyse das für LOOP geeignetste Buildtool anhand definierter Kriterien ausgewählt und das Ergebnis präsentiert. Welches Tool ausgewählt wurde und warum, kann in der Bachelorarbeit nachgelesen werden.