Herausforderungen bei der Anpassung von Open Source Software an neue Einsatzbereiche

Spezielle Anforderungen an Software führen häufig zu aufwändigen, lang andauernden und damit teuren Neuentwicklungen. Funktionsfähige Prototypen entstehen i.d.R. erst im Laufe dieses Entwicklungsprozesses, wodurch der Gesamtfortschritt durch die Auftraggeber nur schwer einzuschätzen ist. Gleichzeitig existiert eine Vielzahl verschiedener, domänenfremder Open Source Softwaresysteme (OSS), die bereits Teile der gewünschten Funktionalität beinhalten. Nachfolgend wird eine Methode vorgestellt, die dabei hilft, Funktionalität vorhandener Software auf eine neue Domäne zu übertragen, indem sie die traditionellen Aufgaben des Softwareentwicklungsprozesses begleitet. Bei der Umwandlung eines Lernmanagementsystems in eine Bücherplattform und einen E-Learning Katalog werden diese Methode exemplarisch angewendet, Ergebnisse der Untersuchung dargelegt sowie Schwierigkeiten einer solchen Anpassung erörtert. 1 Einleitung und Methode Um die speziellen Anforderungen an ein zu erstellendes Softwaresystem abzudecken, liegt die Idee nahe, dieses nicht komplett neu zu entwickeln, sondern den im Rahmen freier Software bereits erstellten Code wiederzuverwenden und auf einen neuen Aufgabenbereich zu übertragen. Daher wurde eine Methode erarbeitet, die diesen Übertragungsprozess strukturiert, indem sie die Phasen der Softwareentwicklung (Planung, Analyse, Entwurf, Programmierung und Validierung) sowie die unterstützenden Prozesse (Anforderungs-, Prozess-, Qualitäts-, Konfigurationsmanagement und Dokumentation) begleitet. Die zugehörigen Schritte sind nachfolgend kurz beschrieben: 1. Leitbild formulieren: Zunächst werden Ziele spezifiziert, die mit dem zu entwickelnden System angestrebt werden. Aus diesen groben Anforderungen lässt sich dann im Folgenden die Funktionalität ableiten, die das Zielsystem beinhalten soll. 2. Geeignetes Grundsystem auswählen: Auf Grundlage dieser Spezifikation erfolgt die Auswahl eines bestehenden OSS, das einen hinreichend stabilen Zustand erreicht hat und möglichst viele Teile der benötigten Funktionalität schon abdecken sollte. Bereits gesammelte Erfahrungen bei Einsatz oder Erweiterung eines solchen Systems können helfen, sich leichter in den fremden Programmcode einzufinden. 3. Metapher übertragen: Konzeptionell besteht der fundamentale Schritt bei der Übertragung eines existierenden Systems auf eine neue Domäne in der Abbildung der zugrunde liegenden Metapher auf eine passende Metapher des künftigen Einsatzbereichs. So können aus der Unterstützung einer Lehrveranstaltung z.B. Mehrwerte eines Buches oder erweiterte Katalogmetadaten werden. 4. An neue Domäne anpassen: Anschließend wird die bestehende Software an die neue Metapher angepasst. Insbesondere ist eine Anpassung der Begriffswelt wichtig, um Missverständnisse zu vermeiden. Alte Begriffe werden durch Begriffe des neuen Einsatzbereiches ausgewechselt, alte Bilder durch passendere ausgetauscht. Ausführliche und bisher durchaus zu Recht mehrstufige Abläufe können dem neuen Zweck entsprechend vereinfacht und unter Umständen verkürzt werden. 5. Unnötige Funktionalität ausblenden: Im so entstandenen Grundsystem sollten dann bestehende, aber im neuen Einsatzbereich nicht mehr benötigte Funktionen identifiziert und ausgeblendet werden, damit sie die späteren Anwender bei ihrer Arbeit oder im Verständnis der Metapher nicht irritieren können. 6. Fehlende Komponenten ergänzen: Da ein domänenfremdes System i.d.R. nicht sämtliche Anforderungen an den neuen Einsatzbereich abdeckt, gilt es, die noch fehlende Funktionalität auf traditionelle Weise zu erstellen bzw. aus anderen Quellen wiederzuverwenden und in das vorbereitete System zu integrieren. Die Anwendung dieser Methode eignet sich insbesondere im Rahmen evolutionärer Softwareentwicklung, da auf diese Weise kontinuierlich ein lauffähiges System zur Verfügung steht, das bis zur Produktreife weiterentwickelt wird und laufend mit den Anforderungen der Auftraggeber abgestimmt werden kann. Bei der Auswahl eines anzupassenden OSS spielen technologische Kompetenzen sowie die bei Einsatz und Erweiterung dieses Systems bereits gesammelten Erfahrungen eine große Rolle. Nachfolgend wird die Anwendung dieser Methode zur Anpassung eines bekannten OSS auf zwei unterschiedliche Domänen exemplarisch beschrieben. 2 Anpassung des Lernmanagementsystems Stud.IP Das Lernmanagementsystem (LMS) Stud.IP ist eine internetbasierte Arbeitsumgebung, die auf der Programmiersprache PHP basiert und als freie Software unter GNU General Public License (GPL) vorliegt. Es dient der Online-Unterstützung von Lehrveranstaltungen, insbesondere an Hochschulen. Dozenten können in Stud.IP für ihre Lehrveranstaltungen elektronische Pendants anlegen und verwalten. Für jede dieser Veranstaltungen werden automatisch Diskussionsforen, Ablaufpläne, Dateiordner, Umfragen, Evaluationen, Wiki-Webs, Teilnehmerlisten, Ankündigungen, Termine, Chaträume etc. bereitgestellt. Studierende können sich bei den Veranstaltungen anmelden und die entsprechenden Online-Mehrwerte in Anspruch nehmen sowie selbst aktiv daran mitarbeiten. 1 http://www.studip.de/ 2 http://www.gnu.org/copyleft/gpl.html Veranstaltungen werden in Stud.IP durch übergeordnete Einrichtungen (Fachbereiche, Institute, etc.) zusammengefasst, welche die Hochschulen bei der Organisation der Lehre durch Stundenpläne, Terminkalender, Veranstaltungsverzeichnisse, Anmeldeverfahren, Raumplanung sowie Möglichkeiten zur Selbstdarstellung unterstützen. Abbildung 1: Veranstaltungen in Stud.IP 2.1 Vom LMS zur Bücherplattform BookIP ist eine Internet-Plattform, die Web-2.0-konforme Mehrwerte rund um Bücher (insbesondere Lehrbücher) offeriert. Ziel von BookIP ist es, Verlage, Autoren und Leser stärker miteinander zu vernetzen und die Kommunikation untereinander zu verbessern. Über BookIP können Verlage und Autoren Zusatzmaterialien (Leseproben, Errata, zusätzliche Kapitel und Aufgaben, Musterlösungen, Software, Folienmaterialien für Vorlesungen, Podcasts, etc.) zu ihren Büchern bereitstellen und jederzeit aktualisieren. Autoren können sich auf persönlichen Homepages vorstellen und über Chats virtuelle Leseund Fragestunden anbieten. Leser haben die Möglichkeit, virtuelle Bücherregale zu erstellen, jederzeit Informationen zu einzelnen Büchern und Autoren abzurufen sowie Zusatzmaterialen herunterund (wenn vom Autor gestattet) auch hochzuladen. Sie können gelesene Bücher online rezensieren, in Foren inhaltlich über einzelne Bücher und Themen diskutieren oder sogar über Wikis eigene Ergänzungen zu Büchern veröffentlichen. Trotz der beträchtlichen funktionalen Komplexität des Systems konnte BookIP mit der in Abschnitt 1 vorgestellten Methode auf der Grundlage des Stud.IP-LMS innerhalb weniger Wochen entwickelt und produktiv in Betrieb genommen werden. Die genauen Entwicklungsschritte sahen dabei wie folgt aus: 3 http://www.bookip.de/ Zunächst wurden die oben skizzierten Ziele detailliert beschrieben (Schritt 1). In einer ersten Entwicklungsphase wurde das LMS Moodle als zugrunde liegendes System ausgewählt. Es stellte sich jedoch heraus, dass das Stud.IP-LMS bei der Übertragung der Metapher die geeignetere Basis darstellen sollte. Da wir weiterhin im niedersächsischen E-Learning Academic Network (ELAN) bereits massive Erfahrungen mit Einsatz, Betrieb und Erweiterung von Stud.IP gemacht hatten, fiel die Wahl auf dieses als Grundlage von BookIP (Schritt 2). Die grundlegende Transformation bei der Übertragung der Metapher (Schritt 3) bestand in der Umwandlung von Veranstaltungen in Stud.IP zu Büchern in BookIP. Einrichtungen wurden zu Verlagen, denen die Bücher zugeordnet sind. Bei der Übertragung des Rollenund Rechtekonzeptes wurden Dozenten des Stud.IP zu Autoren in BookIP. Aus Studierenden wurden Leser. Ein Großteil der durchzuführenden Softwareanpassungen (Schritt 4) konnte durch einen einfachen Suchen-und-ErsetzenProzess durchgeführt werden, bei der die alte in die neue Begriffswelt überführt wurde. Das galt selbst für die Hilfe-Funktion und das Benutzungshandbuch. Ausgeblendet (Schritt 5) wurden bspw. die Ablauf-, Stundenpläne und die Raumplanung von Stud.IP, weil es dazu in BookIP kein sinnvolles Pendant gibt. Die hauptsächlich neu zu entwickelnde Funktionalität von BookIP (Schritt 6) bestand in der Anbindung an den Amazon-Buchkatalog über die Amazon-Webservices. Hierdurch können Verlage automatisch die bibliographischen Daten ihrer Bücher in das System einspielen. Das entsprechende System wurde daraufhin zur Benutzung freigegeben und wird seither von zahlreichen Autoren und interessierten Lesenden zur Diskussion genutzt. Abbildung 2: Bücher in BookIP 4 http://moodle.org/ 5 http://www.elan-niedersachsen.de/ 6 http://aws.amazon.com/ 2.2 Vom LMS zum Metadatenkatalog Beim E-Learning Katalog des ELAN handelt sich um eine Internet-Plattform, die Web2.0-konforme Mehrwerte rund um E-Learning-Materialien und -Kurse offeriert. Der ELearning-Katalog kann als Kommunikationsnetzwerk zwischen Erstellern bzw. Anbietern sowie Nutzern von E-Learning-Materialien angesehen werden. Dazu verwaltet er deren Metadaten. Content-Anbieter oder auch andere Nutzer können ihre Metadaten in den Katalog eintragen und diese pflegen. An E-Learning-Materialien Interessierte können im Katalog nicht nur recherchieren, sondern bspw. die Materialien bewerten, darüber in speziellen Foren bzw. Chats diskutieren oder Ergänzungen vornehmen. Entwickelt wurde der Katalog von der ELAN AG, die ebenfalls aus dem ELAN-Projekt hervorgegangen ist und die Arbeit der zugehörigen Teilprojekte durch unterstützende Dienstleistungen begleitet. Wegen der großen Erfahrung ihrer Mitarbeiter mit Einsatz und Erweiterung des Stud.IP-Systems im Rahmen der ersten beiden ELAN-Förderphasen, weil mit der Serviceeinheit Stud.IP ein eigenes Kompetenzteam zur Verfügung steht und um Marketing für den flexiblen Einsatz von Stud.IP zu betreiben, hat sich die ELAN AG dafür entschieden, nach Festlegung der initialen Anforderungen (Schritt 1) den ELearning Katalog auf der Grundlage des