3 Konfigurationsmöglichkeiten von Software

3.2 Softwareengineeringkonzepte zur Konfiguration von Systemfamilien



Grundlegend wird durch die Konfiguration der Softwarearchitektur auch die Beschaffenheit und Erweiterbarkeit der Software nach der Implementierung bestimmt.
Deswegen folgen nach der Einleitung zur Entwicklung von Systemfamilien die genaue Analyse der bereits im vorhergehenden Kapitel erwähnten Paradigmen, Architekturen und Hilfswerkzeuge, die bei der Erstellung von Familien in den ersten Phasen verwendet werden.

3.2.1 Einleitung in die Entwicklung von Systemfamilien



Softwareentwicklung stellt Ansprüche im Bereich neuer Anwendungsgebiete, komplexen Aufgaben und wachsenden Anforderungen, im Bereich Qualität mit schwerwiegenden Konsequenzen von Software-Fehlern, Akzeptanzkriterien, unterschiedlich definierter Softwarequalität und steigendem Bedarf an neuen Systemen und Varianten, wachsender Nachfrage und der ungenügenden Funktionsabdeckung von Standardsoftware. Dazu kommt die Belastung durch die hohe Lebensdauer von Altsystemen und deren Bindung von Entwicklerkapazitäten, was bei neuen Systemen berücksichtigt werden muss. Hier greifen bekannte Systeme der Wiederverwendung von Software mittels komponentenbasierter Softwareentwicklung ein. Ziel ist die kostengünstige, anforderungsspezifische Generierung einer großen Zahl qualitativ hochwertiger Systemvarianten, die weitgehend automatisiert werden kann.81
Im Rahmen dieser Diplomarbeit werden Komponenten wie folgt definiert:

Definition: Komponenten82
Eine Komponente ist ein „Bestandteil eines Ganzen“, in der Informatik ein abgeschlossener Teil eines Softwareprogramms bestehend aus einer Folge von Verarbeitungsschritten und Datenstrukturen. Der stark kohäsive Inhalt enthält anwendungsorientierte, semantisch zusammengehörende Funktionalitäten wie wiederverwendbare Berechnungen oder Bearbeitungsschritte von Daten, wobei Schnittstellen diese nach außen zur Verfügung stellen. Über die Schnittstellen werden ausschließlich Daten übernommen oder abgegeben, der Inhalt der Komponente bleibt gekapselt. Sie müssen weitgehend redundanzarm, wieder verwendbar, frei kombinierbar und offen konzipiert sein, um Änderungen vornehmen zu können. Module können ein oder mehrere Komponenten enthalten. Plugins sind den Komponenten ähnlich, stellen aber oft autonomere Teile dar.


Tabelle 12: Definition einer Komponente


Ulrich W. Eisenecker et al benennen die Vorteile der Systemfamilien wie folgt83: „Die Softwareentwicklung ist überwiegend auf die Erstellung einzelner Systeme ausgerichtet, obwohl überall auf die Notwendigkeit von Wiederverwendung hingewiesen wird. Doch wie soll die Entwicklung von Einzelstücken etwas Wiederverwendbares hervorbringen? Zwar bringen Frameworks, Entwurfsmuster und Softwarekomponenten in dieser Hinsicht Besserung, aber keinen Durchbruch. Einen wesentlichen Fortschritt verspricht hingegen die Einwicklung von Systemfamilien. Sie ermöglicht die anforderungsspezifische Fertigung einer großen Zahl von Systemvarianten, und die kann weitgehend automatisiert werden. Dies erlaubt die drastische Senkung von Entwicklungszeiten und -kosten sowie wesentliche Verbesserungen der Qualität.“ In dieser Diplomarbeit wird eine Systemfamilie wie folgt definiert:

Definition: Systemfamilien84
Eine Systemfamilie ist ein Softwaresystem, welches aus einer Referenzarchitektur, der Dokumentation und verschiedenen optionalen und obligatorischen Komponenten besteht, die eine automatisierbare Ableitung eines Familienmitgliedes erlauben. Die planbare und umfassende Verwendung von Komponenten in einer Anwendungsdomäne steht im Vordergrund als großer zeitlicher und wirtschaftlicher Faktor. Auch der Begriff „Produktlinie“ wird in der Literatur gleichbedeutend verwendet

Tabelle 13: Definition von Systemfamilien


Die technische Seite einer Systemfamilie und die Ableitung der Familienmitglieder sind der Abbildung 3 zu entnehmen. Die Konfiguration einer Applikation wird dabei automatisch anhand der bestehenden Komponenten und der Referenzstruktur mittels eines Generators hergestellt. Die grafische Darstellung kann der folgenden Abbildung entnommen werden:

Abbildung 3: Das Entwurfsprinzip der Systemfamilie85


  • 81: Vgl. [Eise 2003-3] S. 1 ff
  • 82: Vgl. [Stre 2004] S. 11ff, [Wiki 2005] Komponente, [Eise 2003-2] S. 4 und [Balz 2001] S. 856
  • 83: Vgl. [Eise 2002] S. 1
  • 84: Vgl. [Stre 2004] S. III
  • 85: Vgl. [Alex 2004] Folie 4, [Rieb 2000]

 


Top| Home| << Zurück | Nächste >>
" TARGET="_blank"> >> Home Page <<