Diese Ausarbeitung entstand während des Informatik Seminars ”Linux und Netzwerke, Softwareentwicklung mit Eclipse” im Wintersemester 2008/2009 unter Leitung von Herrn Prof. Dr. Ulrich Hoffmann und Herrn Prof. Dr. Uwe Schmidt.Maven ist ein Projektmanagement and Comprehension Tool, das Unterstützung und Vereinfachung für folgende Projektentwicklungsbereiche bietet:
Das Wort ”Maven” stammt ursprünglich aus dem Hebräischen bzw. Jiddischen, welches grob übersetzt ”Verständnis” oder ”Sammler von Wissen” meint. Um 1960 tauchte dieses Wort wieder im Englischen auf und wurde in kommerziellen Texten verwendet. Die heutige Bedeutung(Wikipedia) lautet:
Ein ”Maven” ist ein vertrauenswürdiger Experte in einem bestimmten Bereich, der sucht, um Wissen an andere weiterzugeben. |
Maven wurde unter der Apache Software License( Version 2.0 ) veröffentlicht und ist Open Source Software.
”Maven is a project development management and comprehension tool.”
Dies ist der erste Satz auf der offiziellen Homepage, der einem Neuling aber nur eine sehr wage Vorstellung von Maven gibt. Aus ihm geht jedoch hervor, dass Maven nicht nur bei der Entwicklung und Verwaltung von Projekten unterstützen soll, sondern auch hilft das Projekt zu verstehen und transparenter darzustellen.
Bei all diesen Eigenschaften verfügt Maven über ein hohes Maß an Automatisierung und standartisierten Richtlinien (unter dem Aspekt ”Best practices”), sodass die Anwender entlastet werden und Projektneulinge einen schnellen Einstieg erhalten.
Maven verfolgt das Grundprinzip ”Convention Over Configuration” (Konvention vor Konfiguration). Durch einen hohen Grad an Vorgaben und Richtlinien soll der Aufwand durch Konfiguration auf ein Minimum begrenzt werden. Dies ist ein sehr wichtiger Aspekt der agilen Softwareentwicklung. Der Benutzer soll nicht viel Zeit für die Konfiguration oder das Aufsetzten der Arbeitsumgebung aufwenden, sondern direkt, einfach und schnell ein bestehendes Projekt erstellen oder bearbeiten können. Weiterhin ermöglicht dieser Ansatz eine unternehmensweite Basis für Projekte zu schaffen, auf der alle Beteiligten bequem arbeiten können. Die Vorgaben und Richtlinien sollen dabei aber optional sein, sodass spezielle Anpassungen zu jeder Zeit konfiguriert werden können. Im Folgenden sollen nun die wesentlichen Konfigurationsmechanismen und Funktionsweisen erläutert werden.