5 Zusammenfassung und Ausblick
Das Forschungsgebiet der Softwarearchitektur gewinnt zunehmend an Bedeutung. Das systematische
Strukturieren muss bereits in der Planungsphase tief verankert werden, um später
Fehler zu reduzieren, die Wartung zu verbessern und Softwareteile wiederverwenden zu können,
denn „Durch eine Softwarearchitektur wird nicht nur die Struktur des zu entwickelnden
Softwaresystems festgelegt, auch Möglichkeiten der arbeitsteiligen Entwicklung und damit
die Struktur eines Entwicklungsprojektes sind in der Architektur angelegt.
Die Entwicklung von Komponentenarchitekturen, Systemfamilien und deren generativen Ableitung
stecken noch in den Kinderschuhen, werden aber von der Industrie stark forciert. Die
Befürworter sind der Meinung: „dass in näherer Zukunft die konventionelle Softwareentwicklung
durch die generative ersetzt wird“186
Die Schnittstellen
der wichtigsten Komponenten sind wesentliche Elemente der gemeinsamen Sprache der Projektmitglieder.
Somit hat die Softwarearchitektur einen großen Einfluss auf das Vorgehen im
Entwicklungsprojekt.“183
Hier haben sich komponentenbasierte Architekturen und Systemfamilien durchgesetzt, die
basierend auf Vorgehensweisen reifer Technologien der Automobilbranche weg von monolithen
Strukturen sich aus einem Baukastensystem flexibel und wiederverwendend bedienen.184
Diese Arbeit hat einen repräsentativen Querschnitt durch die Thematik der Systemfamilien
gegeben. Moderne Systeme bedürfen nicht nur einer neuen grundlegenden Architektur, sondern
auch einer durchgängigen methodischen Unterstützung durch angepasste Vorgehensweisen,
Konzepte, Methoden und Designprinzipien, um Software erfolgreich entwickeln zu können,
die Time-To-Market Zeit zu senken, Kosten zu reduzieren und die Softwarequalität für
den Kunden zu erhöhen.185
In dieser Diplomarbeit wurde dazu in die für eine Beispielimplementierung nötige Domäne
von Digitalfernsehen und entsprechender Opensource-Software, sowie Live-CDs und Systemfamilien
eingeführt. Der Hauptteil der Arbeit lag in der Untersuchung der Konfigurationsmöglichkeiten
entlang des Softwareentwicklungsprozesses von Systemfamilien.
Dazu wurden
bestimmte hier angewendete Paradigmen, Konzepte und Architekturen in den verschiedenen
Phasen vorgestellt, ihre Vor- und Nachteile beschrieben und Strategien des Konfigurationsmanagements
im laufenden Betriebssystem analysiert. Hierzu wurde in der Zusammenfassung
eine Tabelle entwickelt, die die einzelnen Themen anhand der Softwarequalitätskriterien
aufgrund ihrer speziellen Ausgestaltung bewertet. Jedoch muss hier berücksichtigt werden, dass
eine grundlegende Wertung nicht möglich und nicht nötig ist, da Konzepte projektspezifisch
ausgewählt werden müssen und sich gegenseitig bedingen. Anhand der Analyseergebnisse
wurde ein Vorgehen für das Konfigurationsmanagement der Demo-CD im anschließenden
Kapitel 4 entwickelt.
In einer Zusammenführung von Digitalfernsehen, Live-CD, Opensource-Software und Systemfamilienentwicklung
wurde im 4. Kapitel eine bestehende, an der TU Ilmenau entwickelte
Live-CD, die eine webbasierte Kundenkonfiguration der VDR-Software für Digitalfernsehen
bietet, vorgestellt, und Vorschläge anhand der Analyseergebnisse von Kapitel 3 gegeben, um
im Sinne der Systemfamilienentwicklung die Softwarequalität mit Hilfe der beschriebenen
Konzepte zu erhöhen.
Ebenso wurde hier die Weboberfläche analysiert und Vorschläge anhand
der Software-Ergonomie für ein optimiertes Nutzerinterface gegeben.
Die VDR-Software ist dabei ein innovativer Stellvertreter von Pluginarchitekturen, die sich
einfach und flexibel an sich ändernde Anforderungen anpassen lassen.
In der multimedialen
Welt ist dies ein entscheidender Wettbewerbsfaktor, denn das Schlüsselwort der heutigen
Softwareentwicklung ist dabei die Wiederverwendung. Sie entscheidet maßgeblich über den
Kostenfaktor von Projekten und verbessert die Aufgabenverteilung in Softwareprojektteams.
Mit dieser Arbeit konnte gezeigt werden, auf welchem Stand sich die Entwicklung der generativen
Softwareentwicklung befindet, was sie momentan durch die Methodenunterstützung
leisten kann und inwiefern sie sich realisieren lässt.
Das Problem hierbei ist der immense Aufwand der
dahinter steckt. Die Entwicklung von Software anhand ausführlicher Modellerstellung von
Anforderungen und Spezifikationen auf hoher Abstraktionsebene vor der Implementierung
gehört bei großen Softwareherstellern bereits zum Stand der Technik. So kann man durch die
Generierung von Systemfamilien schneller Qualitätsziele erreichen.
Für kleine Projekte oder kleinere Unternehmen ist jedoch fraglich, ob sich der Aufwand auf
der einen Seite lohnt, da auf der anderen Seite die Komplexität des Themas noch keine vollständige
Automatisierung zulässt. So gibt es gegen die generative Softwareentwicklung noch einige
Hemmschwellen zu überwinden. Deswegen wurden eine Vielzahl von Förder- und
Forschungsprojekten z.B. vom Fraunhofer IESE zum Thema der automatischen Generierung
ins Leben gerufen186.
Das automatische Ableiten wird, wenn auch nicht ersetzen, die konventionelle
Softwareerstellung jedoch erheblich ergänzen können, da die Vorteile immens sind.
Das Wissen von bereits bestehenden Architekturen wird systematisch gesammelt und weitergenutzt,
Wiederverwendung wird forciert und die Wartung, Pflege und Fehlerbehebung von
solchen zukünftigen Systemen wird wesentlich reduziert sein.
Zudem werden Kundenanforderungen
wie Kundennutzen immens steigen. Komponentenbasierte Systeme sind bereits heute
sehr beliebt, der große Erfolg von solchen Plattformen wie z.B. Eclipse oder die VDRSoftware
zeigt dies.188
So soll diese Diplomarbeit mit den Worten von Krzysztof Czarnecki schließen: „The advancing
technology will make it easier to package expert knowledge such that it will be possible to
reuse it in a wider set of contexts, overcoming technological and domain differences.
This
will lead to more automation, more specialization, and will enable new kinds of applications.
But there is still a long way to go“.189
Top|
Home|
<< Zurück |
Nächste >>
" TARGET="_blank"> >> Home Page << |