Die Softwarearchitektur beschreibt den Aufbau eines Softwaresystems und unterstützt die Entwicklung von Softwaresystemen.
Die Softwarearchitektur eines Softwaresystems ist entscheidend für die Lauffähigkeit und Akzeptanz eines Systems. Nur “gute Softwarearchitekturen” tragen ein System durch den gesamten Lebenszyklus.
1. Einleitung und Grundlagen
Hier werden zunächst einige Definitionen zur Softwarearchitektur vorgestellt.
1.1 Definitionen
In der Wikipedia steht zur Softwarearchitektur /#Wiki-Softwarearchitektur/:
“Eine Softwarearchitektur ist einer der Architekturtypen in der Informatik und beschreibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Softwaresystems.”
Starke nimmt Bezug auf die IEEE 1471 und definiert /Starke20/:
“Softwarearchitektur: Die grundsätzliche Organisation eines Systems, verkörpert durch dessen Komponenten, deren Beziehung zueinander und zur Umgebung sowie die Prinzipien, die für seinen Entwurf und seine → Evolution gelten.”
Abbildung 1.1: Architektur und andere Entwicklungsaufgaben nach /Starke20/
1.2 Die Themen des Softwarearchitektur nach SWEBOK
Im SWEBOK (Guide to the → Software Engineering Body of Knowledge) /SWEBOK24/ werden ingesamt 15 Themen zur Softwarearchitektur benannt, die bei einem professionellen Software Engineering berücksichtigt werden müssen (Abbildung 1.2). Diese Themen werden vier Themengruppen zugeordnet, aus denen wiederum ein (allgemeines) Vorgehen abgeleitet werden kann.
Abbildung 1.2: Themengebiete der Softwarearchitektur nach SWEBOK /SWEBOK24/
2. Vorgehen beim Architekturentwurf
Nach /Gharbi16/ kann der Architekturentwurf in vier gleichberechtigten Tätigkeiten erfolgen, die nicht unbedingt hintereinander, sondern jederzeit durchgeführt können:
- Anforderungen und Randbedingungen analysieren
- Architektursichten und technische Konzepte entwerfen
- Architektur- und Entwurfsentscheidungen bewerten
- Umsetzung begleiten und → prüfen
3. Die Sichten auf die Softwarearchitektur
Folgende Sichten auf eine / die Softwarearchitektur sind möglich (Abbildung 3.1):
- Logische Sicht (Logical View)
- Prozesssicht (Process View)
- Entwicklungssicht (Development View, auch: Implementierungssicht)
- Physikalische Sicht (Physical View)
Das +1 bezieht sich auf die “übergeordneten” Szenarien (→ Use Case & Szenarien).
Abbildung 3.1: Das 4+1‑Sichtenmodell der Softwarearchitektur
A. Präsentationen, Literatur und Weblinks
A.1 Meine öffentliche Software-Engineering-Präsentation
Inhalt | Typ |
---|---|
Requirements Engineering: Spezifikationen – Eine Übersicht |
A.2 Literatur
Die Anzahl der Bücher zur Softwarearchitektur ist überschaubar. Allerdings erfahren die “Standardwerke” regelmäßig Updates.
- /Bass22/ Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Addison Wesley, Boston, Massachusetts 4th Edition 2022, ISBN 978–0‑13–688609‑9
- /Ciceri22/ Christian Ciceri, Dave Farley, Neal Ford, Andrew Harmel-Law, Michael Keeling: Software Architecture Metrics. Case Studies to Improve the Quality of Your Architecture, O’Reilly Media, Sebastopol, California 2022, ISBN 978–1‑0981–1223‑3
- /Ford21/ Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani: Software Architecture: The Hard Parts. Modern Tradeoff Analysis for Distributed Architectures, O’Reilly Media, Sebastopol, California 2021, ISBN 978–1‑4920–8689‑5
- /Ford22/ Neal Ford, Rebecca Parsons, Patrick Kua, Pramod Sadalage: Building Evolutionary Architectures. Automated Software Governance, O’Reilly Media, Sebastopol, California 2022, ISBN 978–1‑4920–9754‑9
- /Friberg22/ Philipp Friberg: Softwarearchitektur pragmatisch. Der Weg von der Software- in die Unternehmens-Architektur, Hanser, München 2022, ISBN 978–3‑446–47370‑6
- /Gast23/ Holger Gast: Softwarearchitektur für Dummies, Wiley-VCH, Weinheim 2023, ISBN 978–3‑527–72001‑9
- /Gharbi16/ Mahbouba Gharbi, Arne Koschel, Andreas Rausch, Gernot Starke: Basiswissen für Softwarearchitekten. Ein Überblick, dpunkt, Heidelberg 2. Auflage 2016, Art-Nr. 077.95735
- /Gharbi17/ Mahbouba Gharbi, Arne Koschel, Andreas Rausch, Gernot Starke: Basiswissen für Softwarearchitekten. Aus- und Weiterbildung nach iSAQB-→ Standard zum Certified Professional for Software Architecture – Foundation Level, dpunkt, Heidelberg 3. Auflage 2017, ISBN 978–3‑86490–499‑8
- /Gharbi20/ Mahbouba Gharbi, Arne Koschel, Andreas Rausch, Gernot Starke: Basiswissen für Softwarearchitekten. Aus- und Weiterbildung nach iSAQB-Standard zum Certified Professional for Software Architecture – Foundation Level, dpunkt, Heidelberg 4. Auflage 2020, ISBN 978–3‑86490–781‑4
- /Gharbi23/ Mahbouba Gharbi, Arne Koschel, Andreas Rausch, Gernot Starke: Basiswissen für Softwarearchitekten. Aus- und Weiterbildung nach iSAQB-Standard zum Certified Professional for Software Architecture – Foundation Level, dpunkt, Heidelberg 5. Auflage 2023, ISBN 978–3‑86490–984‑9
- /Hruschka17/ Peter Hruschka, Gernot Starke: Knigge für Softwarearchitekten – Reloaded, entwickler.press, Frankfurt 3. Auflage 2017, ISBN 978–3‑86802–806‑5
- /Lilienthal17/ Carola Lilienthal: Langlebige Software-Architekturen. Technische Schulden analysieren, begrenzen und abbauen, dpunkt, Heidelberg 2. Auflage 2017, ISBN 978–3‑86490–494‑3
- /Lilienthal20/ Carola Lilienthal: Langlebige Software-Architekturen. Technische Schulden analysieren, begrenzen und abbauen, dpunkt, Heidelberg 3. Auflage 2020, ISBN 978–3‑86490–729‑6
- /Starke15b/ Gernot Starke, Peter Hruschka: arc42: Pragmatische Hilfe für Softwarearchitekten, Hanser, München 2015, ISBN 978–3‑446–44528‑4
- /Starke16/ Gernot Starke, Peter Hruschka: arc42 in Aktion: Praktische Tipps zur Architekturdokumentation, Hanser, München 2016, ISBN 978–3‑446–44801‑8
- /Starke17/ Gernot Starke: Effektive Softwarearchitekturen. Ein praktischer Leitfaden, Hanser, München 8. Auflage 2017, ISBN 978–3‑446–45207‑7
- /Starke19/ Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller: arc42 by Example. Software architecture documentation in practice, Packt Publishing Limited, Birmingham, Great Britain 2019, ISBN 978–1‑83921–435‑6
- /Starke20/ Gernot Starke: Effektive Softwarearchitekturen. Ein praktischer Leitfaden, Hanser, München 9. Auflage 2020, ISBN 978–3‑446–46376‑9
- /Starke22/ Gernot Starke, Peter Hruschka: arc42 in Aktion. Praktische Tipps zur Architekturdokumentation, Hanser, München 2. Auflage 2022, ISBN 978–3‑44646380–6
- /SWEBOK24/ Hironori Washizaki: Guide to the Software Engineering Body of Knowledge, IEEE Computer Society Press, Los Alamitos, California 4th Edition 2024, ISBN offen
- /Toth15/ Stefan Toth: Vorgehensmuster für Softwarearchitektur. Kombinierbare Praktiken in Zeiten von → Agile und Lean. Ideal für das ISAQB Modul AGILA, Hanser, München 2. Auflage 2015, ISBN 978–3‑446–44395‑2
- /Toth20/ Stefan Toth: Vorgehensmuster für Softwarearchitektur. Kombinierbare Praktiken in Zeiten von Agile und → Lean. Ideal für das ISAQB Modul AGILA, Hanser, München 3. Auflage 2020, ISBN 978–3‑446–46004‑1
- /Zörner15/ Stefan Zörner: Softwarearchitekturen dokumentieren und kommunizieren. Entwürfe, Entscheidungen und Lösungen nachvollziehbar und wirkungsvoll festhalten, Hanser, München 2. Auflage 2015, ISBN 978–3‑446–44348‑8
A.3 Weblinks
Folgende Weblinks liefern weitere hilfreiche Informationen zur Softwarearchitektur:
- /iSAQB/ International Software Architecture Qualification Board (iSAQB): Website
- /#ISO-42010/ Die → Norm ISO/IEC/IEEE 42010:2022. Software, systems and enterprise — Architecture description
- /#ISO-42010-online/ Die Norm ISO/IEC/IEEE 42010:2022. Software, systems and enterprise — Architecture description — online
- /Softwareknigge/ Knigge für Softwarearchitekten, Website zum Buch von Hruschka /Hruschka17/
- /SWA-TV/ Software-architektur.tv: Website mit Podcasts zur Softwarearchitektur von Eberhard Wolff (deutsch)
- /#Wiki-Softwarearchitektur/ Softwarearchitektur in der deutschen Wikipedia
- /#Wiki-Kategorie-Softwarearchitektur/ Kategorie Softwarearchitektur in der deutschen Wikipedia mit 6 Unterkategorien und über 120 Begriffen
Legende zu den Weblinks
/ / Verweis auf eine Website (allgemein)
/*/ Verweis auf eine Website, die als Ergänzung zu einem Buch dient
/#/ Verweis auf ein einzelnes Thema auf einer Website
/#V/ Verweis auf ein Video auf einer Website
Letzte Aktualisierung: 01.08.2021 © Peterjohann Consulting, 2005–2024