Datenbestand vom 15. November 2024
Tel: 0175 / 9263392 Mo - Fr, 9 - 12 Uhr
Impressum Fax: 089 / 66060799
aktualisiert am 15. November 2024
978-3-8439-3392-6, Reihe Informatik
Marco Körner Fragmentbasierte Softwarearchitekturen für Produktlinien
187 Seiten, Dissertation Technische Universität Clausthal (2017), Softcover, A5
In vielen Domänen gestaltet sich die Architektur-Entwicklung von komponentenbasierten Softwaresystemen zunehmend schwierig. Zum einen liegt das an der Zunahme der Komplexität der Systeme. Zum anderen muss oft nicht nur ein einzelnes Produkt sondern eine ganze Familie von Software-Produkten entwickelt werden. Beispielsweise wird in der Automobilindustrie Steuersoftware so entwickelt, dass sie in unterschiedlichen Fahrzeugmodellen eingesetzt werden kann.
Eine Entwicklung der Software als eine Softwareproduktlinie reduziert die Komplexität, indem das Potential für Wiederverwendung erhöht wird. In einer Softwareproduktlinie wird die gesamte Produkt-Familie betrachtet. Gemeinsamkeiten und Unterschiede werden identifiziert und in Variabilitätsmodellen festgehalten. Ein solches Variatbilitätsmodell ist das Feature-Modell. Dieses fasst alle möglichen Kombinationen von Features in einem Modell zusammen.
Die Erstellung von Softwarearchitekturen für einzelne Produkte kann auch unter Berücksichtigung eines Feature-Modells weiterhin sehr schwierig sein. Bei komponentenbasierten Softwarearchitekturen wird durch die Verschaltung der Komponenten ein Beziehungsgeflecht erzeugt. Erfordert die Softwareproduktlinie ein hohes Maß an Variabilität in dem Beziehungsgeflecht, nimmt die Anzahl möglicher Komponentenverschaltungen stark zu. Ein Software-Architekt kann die Menge der Verschaltungen dann nicht mehr überblicken.
Das Ziel dieser Arbeit ist, durch Einführung eines modular aufgebauten Variabilitätsmodells für komponentenbasierte Softwarearchitekturen, die Arbeit des Software-Architekten zu vereinfachen. Einen wesentlichen Beitrag zur Lösung bilden Strukturfragmente. Strukturfragmente repräsentieren eine geeignete Verschaltung mehrerer Komponenten in einem bestimmten Kontext. Einerseits hilft ein Strukturfragment, die Menge der möglichen Komponentenverschaltungen einzuschränken. Andererseits vereinfacht es die Entwicklung der Softwareproduktlinie, da es ein wiederverwendbares Artefakt ist. Durch alternative Verschmelzungen von Strukturfragmenten werden Beziehungsgeflechte mehrerer Produkte definiert. Zusammen mit Softwarekomponenten bilden die Strukturfragmente das Variabilitätsmodell für Softwarearchitekturen.
Durch die Verbindung der Variabilitätsmodelle kann nach Vorgabe einer Menge von Features eine geeignete Softwarearchitektur automatisiert abgeleitet werden.