Wer sich ernsthaft mit Softwarearchitektur beschäftigt, kommt im deutschsprachigen Raum kaum an den zahlreichen Veröffentlichungen von Gernot Starke vorbei. Jüngst ist die achte Auflage seines Standardwerks „Effektive Softwarearchitekturen“ erschienen. Gegenüber der erst zwei Jahre alten siebten Auflage gibt es wenig grundsätzliche Änderungen, doch wurden die Ausführungen sorgfältig überarbeitet und aktualisiert. Insbesondere bei Themen, die sich stark im Fluss befinden, wird auf den aktuellen Diskussionsstand der Fachwelt eingegangen. Dies wird beispielsweise in einem Kapitel über Microservices deutlich. Zudem wurde das Buch an den aktuellen Lehrplan zum „Certified Professional for Software Architecture“ des International Software Architecture Qualification Board angepasst.
Es werden alle wesentlichen Aspekte behandelt, mit denen ein Softwarearchitekt zu tun haben dürfte. Einen Schwerpunkt bilden Entwufsprinzipien und Architekturstile. Hierzu werden unter anderem grundlegende Prinzipien diskutiert, wie lose Kopplung, Abstraktion, Kapselung oder die Zerlegung in Module. Zu den vorgestellten Entwurfsmethoden gehören Domain-Driven Design, der Werkzeug-Material-Ansatz und Quality-Driven Software Architecture. Verschiedene verbreitete Architekturstile wie datenflussorientierte, datenzentrische, hierarchische oder verteilte Systeme werden anhand konkreter Beispiele erläutert.
Sehr umfassend ist auch ein Kapitel über technische Konzepte. Hier werden typische architektonische Ansätze für Themen wie Persistenz, Integration, Verteilung, Sicherheit oder Fehlerbehandlung beschrieben. Dem aktuellen Thema Microservices ist ein eigenes Kapitel gewidmet.
Weitere behandelte Themen sind Vorgehensweisen bei der Architekturentwicklung, die Kommunikation und Dokumentation von Architekturen, Modellierungsmethoden und Software-Werkzeuge. Auch die Bewertung und die systematische Verbesserung von Softwarearchitekturen werden erläutert, ebenso wie der Zusammenhang von Softwarearchitektur und Enterprise-IT-Architektur.
Schließlich werden als konkrete Beispiele die Architekturdokumentationen zweier Projekte vorgestellt, an denen der Autor selbst beteiligt war. Dabei handelt es sich um ein Projekt zur Datenmigration im Finanzwesen und um ein System zum Kampagnenmanagement im Customer Relationship Management.
„Effektivität, Agilität und Pragmatismus prägt die Grundhaltung erfolgreicher Softwarearchitekten“, konstatiert Starke. Diese Grundhaltung durchzieht das gesamte Buch, so dass es – wie der Untertitel „Ein praktischer Leitfaden“ verspricht – konkreten Nutzen für die tägliche Arbeit von Softwarearchitekten bietet. Aber auch Einsteiger gewinnen einen umfassenden Einblick in die Thematik.
Bei der Fülle des Stoffs ist es unumgänglich, dass einige Gebiete nur relativ kurz behandelt werden, so etwa das Thema Werkzeuge für Architekten. Zumindest erhält man aber jeweils einen Überblick und eine Einordnung – und aktuelle Hinweise auf Literatur zur Vertiefung.
Hilfreich sind insbesondere auch die praktischen Beispiele aus der jahrelangen Tätigkeit des Autors. Starkes Erfahrungen sind außerdem in das Architektur-Dokumentationstemplate arc42 und die Verbesserungsmethodik aim42 eingeflossen, die auch in dem Buch vorgestellt werden und als Open Source frei verfügbar sind.
Starke, G:
Effektive Software-Architekturen. Ein praktischer Leitfaden.
8. Auflage. Hanser 2017.
Weitere Informationen und Leseprobe.
Das Buch bei amazon (Anzeige)