Refine
Keywords
-
Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen
(2011)
- Es existieren zur Zeit über 70 verschiedene Software-Konfigurations-Management-Systeme (kurz: SKMS), um die Entwicklung von Software-Anwendungssystemen zu unterstützen. SKMS sind selbst auch Software-Anwendungssysteme, deren Umfang von einigen zehntausend bis zu mehreren Millionen Quelltext-Zeilen reicht. Trotz dieser Größe handelt es sich meist um monolithische Systeme, deren Daten und Funktionen eng verschränkt sind und deren Verfahren lediglich implizit durch den Quellcode beschrieben werden. Eine Identifikation einzelner Methoden ist kaum möglich, ebensowenig wie eine Wiederverwendung bereits implementierter Verfahren. Dies führt dazu, dass für ein neues Verfahren oder sogar nur für eine neue Kombination existierender Verfahren ein SKMS von Grund auf neu implementiert wird. Die fehlende Modularität erschwert auch die Wiederverwendung eines SKMS für unterschiedliche Software-Entwicklungsprozesse, da bereits kleine Unterschiede zwischen den Prozessen die Entwicklung eines neuen SKMS erfordern können. Es besteht daher der Bedarf nach einer neuen Generation von SKMS, die durch ihre modulare Architektur (1) die Wiederverwendung bestehender Verfahren erlauben, (2) die Anpassbarkeit an Entwicklungsprozesse verbessern bzw. überhaupt erst ermöglichen und (3) die Erweiterbarkeit verbessern, um ein SKMS in möglichst vielen Entwicklungsprozessen einsetzen zu können. Die Modellgetriebene Modulare Produktlinie für Software Konfigurations Management Systeme (kurz: MOD2-SKM) identifiziert Gemeinsamkeiten von SKMS auf Basis eines Entwicklungsprozesses für Modellgetriebene Software Produktlinien (MODPL). Der Entwicklungsaufwand eines SKMS wird so reduziert, da gemeinsame Komponenten wiederverwendet und die Produkte aus dem Domänenmodell generiert werden (anstatt sie von Hand zu implementieren). So kann durch Konfiguration des Domänenmodells nach den Anforderungen eines Software-Entwicklungs-Prozesses ein SKMS speziell an den zu unterstützenden Prozess angepasst werden. In dieser Arbeit wird ein Merkmals-Modell für SKMS definiert und ein generisches Domänenmodell für die gesamte Systemfamilie der SKMS modelliert und analysiert. Mit Hilfe des Merkmals-Modells lassen sich die generierten SKMS systematisch beschreiben und miteinander vergleichen. Gleichzeitig können damit auch bestehende SKMS klassifiziert und so systematisch erfasst und verglichen werden. Durch das MOD2-SKM-Domänenmodell wird die SKM-Domäne mit Hilfe von Komponenten und Klassen beschrieben. Abhängigkeiten und Kopplungen werden dabei explizit identifiziert und reduziert. So wird das Verständnis der SKM-Domäne vertieft besonders in Bezug auf Modularisierbarkeit, Erweiterbarkeit und Co-Evolution und durch eine neue Sicht auf die komplexen Datenabhängigkeiten erweitert. MOD2-SKM ist gleichzeitig auch ein Prototyp einer neuen Generation vom SKMS, denn aus dem Domänenmodell lassen sich vollständig lauffähig SKMS erzeugen. Somit wird auch die Architektur und Realisierung einer modellgetriebenen Produktlinie für SKMS erforscht. MOD2-SKM zeigt, dass ein einzelnes SKMS nicht mehr von Hand implementiert werden muss. Stattdessen können, mit Hilfe von Konfigurationen, eine Vielzahl von SKMS generiert werden. So lassen sich entweder bestehende SKMS wie CVS oder Subversion nachbilden oder auch vollständig neue SKMS erstellen. Die Erkenntnisse, die beim Entwurf von MOD2-SKM gewonnen wurden, bilden die Grundlagen, die für den Entwurf und die Entwicklung modularer SKMS benötigt werden: • Sind SKMS überhaupt für MODPL geeignet? • In welche Komponenten lässt sich ein SKMS zerlegen? • Welche Kernkomponenten muss jedes SKMS besitzen? • Welche Kopplungen bestehen zwischen den Komponenten? • Welche Modellierungsmethoden sind für die lose Kopplung der Komponenten besonders geeignet? Der MOD2-SKM Entwicklungsprozess folgt dem MODPL-Modellierungsansatz und basiert so letztendlich auf modellgetriebenen Entwicklungsmethoden. MOD2-SKM stellt damit eine nicht-triviale Fallstudie für den Einsatz von modellgetriebenen Produktlinien dar, mit deren Hilfe sich der MODPL-Modellierungsansatz untersuchen lässt. In dieser Arbeit werden somit auch der Modellierungsansatz und die verwendeten modellgetriebenen Entwicklungsmethoden evaluiert und abschließend auch Anforderungen an sie formuliert.
