Der Bau eines Gebäudes verlangt einen Architekten. Niemand käme auf die (ernsthafte) Idee, ein mehrstöckiges Haus ohne einen Architekten zu bauen. Bei einer mehrschichtigen Anwendung sieht die Sache dagegen ganz anders aus. Hier wird zuweilen munter "drauflos programmiert". Doch gute Software braucht eine gute Architektur und die wiederum verlangt einen guten Software-Architekten. Ein erster Schritt auf dem Weg vom Softwareentwickler zum Softwarearchitekten ist die Lektüre des vorliegenden Buches mit dem Titel "Software-Architektur".
Das Buch stammt von insgesamt acht verschiedenen Autoren, was dem Buchtext allerdings nicht anzumerken ist. Sämtliche Autoren besitzen eine mehrjährige Erfahrung im Bereich der Entwicklung, dem Entwurf und der Architektur von Software und sind als freiberufliche Berater, fest angestellte Architekten und/oder im akademischen Bereich tätig. Abgesehen von einigen satztechnischen Fehlern zeichnet sich das Buch durch eine gehobene, aber dennoch verständliche Sprache aus, die allerdings vom Leser aufgrund der zahlreichen Fachwörter sowohl ein fundiertes Vorwissen im Bereich der Software-Entwicklung als auch die Bereitschaft zu einem intensiven Selbststudium verlangt – immerhin sind knapp 500 Seiten geballtes Fachwissen zu bewältigen.
Im Mittelpunkt – so die Autoren – steht dabei der Mensch, also der Software-Architekt in seinen vielfältigen Rollen und mit seinen zahlreichen Aufgaben. Entlang sechs verschiedener Dimensionen, die jeweils ein eigenes Kapitel im Buch einnehmen, erläutern die Autoren die Arbeit eines Architekten. Die Was-Dimension betrachtet den eigentlichen Gegenstand der (klassischen als auch der Software-)Architektur: Systeme und ihre Bausteine. Die Wo-Dimension widmet sich den Architekturperspektiven und beschreibt, auf welchen Ebenen Architekturmittel eingesetzt werden. In der Warum-Dimension befasst sich der Architekt mit den Anforderungen an eine Architektur, wohingegen sich die Womit-Dimension mit den Mitteln (etwa abstrakten Entwurfsprinzipien und konkreten Technologien) beschäftigt, um diese Anforderungen zu lösen.
Besondere Erwähnung verdient das Kapitel zur Wer-Dimension. Während in den meisten IT-Fachpublikationen der Mensch außen vor ist, steht er in diesem Kapitel im Fokus. Dieses Kapitel widmet sich vor allem den sozialen Kompetenzen, die ein Softwarearchitekt für eine erfolgreiche Projektarbeit besitzen muss. So erläutert das Kapitel zum Beispiel Grundlagen zur Gruppendynamik. Die letzte Dimension, die Wie-Dimension, wirft schließlich einen Blick auf das Prozessmanagement bei der Software-Entwicklung.
Komplimentiert wird das Buch durch eine einleitende Diskussion über das allgemeine und das durch das Buch vermittelte Verständnis des Begriffs "Architektur" sowie durch drei abschließende Fallstudien, welche die genannten Dimensionen noch einmal vertiefend an Praxisbeispielen aufdecken und die konkrete Umsetzung von Architektur anhand exemplarischer Projekte aufzeigen. Das Buch ist somit nicht nur als theoretische Einführung in das Thema Softwarearchitektur zu verstehen, sondern gleichermaßen als praktischer Leitfaden für den angehenden Architekten. Doch auch den reinen Softwareentwicklern sei dieses Buch wärmstens empfohlen: Viele der wohlbekannten Fach- und Hype-Wörter wie "Framework", "Komponenten" oder "Web Service" werden hier in einem Ordnungsrahmen in Beziehung zueinander gestellt, voneinander abgegrenzt und wohl definiert, sodass aus der Lektüre des Buches auch ein besseres Verständnis für Softwaresysteme im Allgemeinen erwächst.



