Im Mittelpunkt dieses Buches steht der Entwurf von Softwarearchitekturen, die Königsdisziplin der Softwaretechnik. Die Kunst besteht darin, eine Architektur zu entwerfen, die die funktionalen und nichtfunktionalen Anforderungen unter Berücksichtigung von Architekturprinzipien, Architektur -und Entwurfsmustern sowie weiteren Einflussfaktoren erfüllt. Dabei sind vielfältige Abhängigkeiten zu berücksichtigen. Ausgehend von globalen Architekturmustern werden zunächst Einzelaspekte mit ihren Alternativen behandelt. Damit immer der Bezug zur Realität vorhanden ist, wird eine durchgängige Fallstudie in verschiedenen Varianten zunächst für Einzelaspekte entworfen und implementiert. Dadurch wird es auch möglich, gute Softwarearchitekturen zu entwerfen, auch wenn keine Standardplattform, wie z.B. Java EE, zur Verfügung steht, nicht geeignet ist oder nicht benötigt wird. Neben der Java EE-Plattform wird auch die .NET-Plattform behandelt. Zusätzlich werden die Besonderheiten bei softwareintensiven Systemen dargestellt.
Das Buch kann zur Vorlesungsbegleitung, zum Selbststudium und zum Nachschlagen verwendet werden. Die behandelten Themen:
Der Entwurf
- Architekturprinzipien
- Architektur- & Entwurfsmuster
- Nichtfunktionale Anforderungen
- Einflussfaktoren auf die Architektur
- Globalisierung von Software
- Authentifizierung & Autorisierung
- Transaktionen
- Verteilte Architekturen
- Arten der Netzkommunikation
- Softwaretechnische Infrastrukturen
- Subsystem Applikation
- Subsystem Persistenz
- Subsystem Benutzungsoberfläche
- Entwurfsprozess
- QS der Architektur
Die Implementierung
- Implementierungsprinzipien
- Schnittstellen, Fabriken & Komposition
- Restrukturieren (refactoring)
Verteilung, Installation, Abnahme & Einführung
- Verteilung & Installation
- Abnahme & Einführung
Der Betrieb
- Wartung
- Pflege
- Reverse Engineering
- Reengineering