Titel: | Komplexität von Softwarearchitekturen, Stile und Strategien | Sonstige Titel: | Complexity of Software Architectures, Architectural Styles and Strategies | Sprache: | Deutsch | Autor*in: | Lilienthal, Carola | Schlagwörter: | Architekturstil; WAM-Ansatz; Referenzarchitektur; Architekturzentrierte Softwareentwicklung; software architecture; architectural styles; architecture-centric software development | GND-Schlagwörter: | Softwarearchitektur Softwarelebenszyklus SoftwareentwicklungGND Statische Analyse Kognitive Komplexität Komplexität Reverse Engineering |
Erscheinungsdatum: | 2008 | Tag der mündlichen Prüfung: | 2008-01-23 | Zusammenfassung: | In dieser Arbeit untersuche ich, wo Komplexität bei der Softwareentwicklung auftritt, und konzentriere mich auf Architekturkomplexität, die in der statischen Struktur von Softwaresystemen, der Softwarearchitektur, enthalten ist. In der Softwaretechnik existiert bereits ein umfassendes Repertoire an Architekturkonzepten und Architekturstilen, um die Komplexität von Softwarearchitekturen zu lindern. Trotzdem scheitern viele Projekte, und Entwicklungsteams beklagen sich darüber, dass ihr Softwaresystem nicht mehr wartbar und weiterentwickelbar ist. Um Architekturkomplexität greifbar zu machen, ziehe ich Grundsätze aus der kognitiven Psychologie heran, die beschreiben, wie Menschen mit komplexen Strukturen umgehen. Dabei wird deutlich, wie objektorientierte Programmiersprachen und Architekturstile diese Grundsätze berücksichtigen und wo Lücken zu erkennen sind. Auf dieser Grundlage habe ich vierundzwanzig Fallstudien an Softwaresystemen in Industrie und Wissenschaft durchgeführt. Bei zweiundzwanzig Fallstudien konnte ich die Softwaresysteme mit dem Analysewerkzeug Sotograph untersuchen und die Architektur mit dem jeweiligen Entwicklungsteam diskutieren. In einigen Fällen habe ich zusätzlich ein Interview durchgeführt, um weitere Fragen zu klären. Die Ergebnisse aus den Fallstudien zeigen das weite Spektrum der heute in Softwarearchitekturen vorhandenen Komplexität und lassen ihre Ursachen sichtbar werden. Dabei wird deutlich, dass der Architekturstil einen entscheidenden Einfluss auf die Komplexität einer Softwarearchitektur hat. Parallel zu den Fallstudien habe ich ein Modell für Architekturkomplexität entwickelt. Die drei Faktoren, auf die ich Architekturkomplexität zurückführe, sind: Mustertreue, Modularität und Geordnetheit. Aus diesen drei Faktoren leite ich Kriterien und Fragen ab. Für sechs Fragen definiere ich Maße, die eine quantitative Auswertung erlauben. Anhand des Modells für Architekturkomplexität werden die Ergebnisse aus den Architekturanalysen und aus den Interviews präsentiert und interpretiert. Um die Ergebnisse konstruktiv nutzbar zu machen, stelle ich drei Stadien der architekturzentrierten Softwareentwicklung vor: Entwerfen, Erhalten und Erneuern von Architektur. Diese Stadien verlangen nach gut abgestimmten Strategien, wie Entwicklungsteams Architekturkomplexität reduzieren können. Schließlich biete ich einen Leitfaden dafür an, wie die Strategien in den drei Stadien der architekturzentrierten Softwareentwicklung geplant und eingesetzt werden sollen, so dass Entwicklungsteams abhängig von ihrer Situation die passende Strategie auswählen können. This work examines where complexity occurs from in software development and concentrates on architectural complexity that resides in the static structure of a software system: its software architecture. Software engineering offers an extensive repertoire of architectural concepts and styles to mitigate complexity in software architecture. However, many projects fail and development teams complain about non-maintainable software. To substantiate architectural complexity, general principles of cognitive psychology are applied that describe how people deal with complex struc-tures. Object-oriented programming and architectural styles follow these principles to some extent but they still leave gaps. On this basis twenty-four case studies were conducted in industrial and university contexts. Twenty-two software systems were analysed with the tool Sotograph and their architecture was discussed with the architects. In some cases interviews were carried out to clarify various points. The results show a wide spectrum of complexity in software architecture and unveil their origins. Architectural styles for instance have a crucial effect on architectural complex-ity. At the same time a model of architectural complexity has been developed. Architectural complexity is ascribed to three factors: pattern conformity, modularity and ordering. Criteria and questions are derived from these factors. Some questions are substantiated with metrics to perform measure-ments. Following the model of architectural complexity, the results of the architecture analysis and interviews are presented and interpreted. To harness these results, three stages in architecture-centric development are presented: designing, preserving and restoring the architecture. These stages demand well adjusted strategies as to how development teams should deal with architectural complexity. Finally a guide connects strategies and stages in such a way that development teams will be able to choose the appropriate strategy for their unique situation. |
URL: | https://ediss.sub.uni-hamburg.de/handle/ediss/2160 | URN: | urn:nbn:de:gbv:18-37256 | Dokumenttyp: | Dissertation | Betreuer*in: | Floyd, Christiane (Prof. Dr.) |
Enthalten in den Sammlungen: | Elektronische Dissertationen und Habilitationen |
Dateien zu dieser Ressource:
Datei | Beschreibung | Prüfsumme | Größe | Format | |
---|---|---|---|---|---|
DissertationCarolaLilienthal.pdf | 447451c580f7eed8aaf53e56c115de17 | 3.2 MB | Adobe PDF | Öffnen/Anzeigen |
Diese Publikation steht in elektronischer Form im Internet bereit und kann gelesen werden. Über den freien Zugang hinaus wurden durch die Urheberin / den Urheber keine weiteren Rechte eingeräumt. Nutzungshandlungen (wie zum Beispiel der Download, das Bearbeiten, das Weiterverbreiten) sind daher nur im Rahmen der gesetzlichen Erlaubnisse des Urheberrechtsgesetzes (UrhG) erlaubt. Dies gilt für die Publikation sowie für ihre einzelnen Bestandteile, soweit nichts Anderes ausgewiesen ist.
Info
Seitenansichten
1.210
Letzte Woche
Letzten Monat
geprüft am 22.11.2024
Download(s)
469
Letzte Woche
Letzten Monat
geprüft am 22.11.2024
Werkzeuge