Herzlich willkommen auf jurawelt.com

Zur neuen Webseite: jurawelt.com

Zum Forum: forum.jurawelt.com


Artikel 5380
Jens Ole Weinhold

Software-Architektur für die Praxis

Eine Rezension zu:

Gernot Starke

Effektive Software-Architekturen

Ein praktischer Leitfaden

Carl Hanser Verlag, München/Wien 2002, 224 S., 34,90 €
ISBN 3-446-21998-6

http://www.hanser.de


Das Entwickeln von Software-Architekturen ist eine Kunst, für die neben einem erheblichen Maß an Kreativität vor allem aber auch Erfahrung notwendig ist. Diese Erfahrung kann man nun natürlich ganz alleine selber machen – ein leider sehr zeitaufwendiges, teures und nicht zuletzt frustrierendes Vorgehen – oder aber man lässt sich auf diesem oft steinigen Weg von Dr. Gernot Starke und seinem Buch „Effektive Software-Architekturen„ beraten.

Dr. Gernot Starke, promovierter Informatiker und erfahrener Software-Architekt sowie Fachbeirat und Kolumnist der Zeitschrift JavaSpektrum, schlüpft hier für den Leser in die Rolle des Mentors und gewährt ihm so Zugang zu seinem reichhaltigen praktischen Erfahrungsschatz. Er zeigt typische Problemstellungen im Kontext Software-Architektur und deren Lösungsansätze auf und vermittelt somit unmittelbar im Software-Projekt einsetzbares Wissen, durch das zeit- und kostenintensive Fehler vermieden werden können.

Hierbei hat der Autor einen sehr guten Kompromiss zwischen einer hohen – und für die Praxis relevanten – Informationsdichte und einem für ein Fachbuch überaus angenehm zu lesenden Schreibstil gefunden und wird dem Anspruch der noch jungen Hanser-Reihe „b-Agile„ gerecht, die konsequent auf effektive, praxis- und ergebnisorientierte Wissensvermittlung setzt.

Das Buch ist klar strukturiert in die sechs Kapitel „Einleitung„ (12 Seiten), „Architektur und Architekten„ (16 S.), „Entwurf von Architekturen„ (28 S.), „Sichten auf Architekturen und ihre Beschreibung„ (28 S.), „Entwurfsprinzipien und Entwurfsmuster„ (30 S.) und „Katalog von Architekturmustern und Architekturbausteine„ (96 S.). Während sich das zweite Kapitel mit dem „WasÄ, „WarumÄ und „WerÄ beschäftigt rückt im dritten, vierten und fünften Kapitel das „WieÄ in den Fokus. Das sechste Kapitel schließlich gibt Auskunft über das „WomitÄ.

In einer motivierenden Einleitung pointiert der Autor – sehr amüsant – die Schwächen einiger für die Software-Entwicklung typischen Vorgehensmodelle (Wasserfallmodell, V-Modell und Extreme-Programming), indem er diese als Analogie in die Welt der Häuslebauer projiziert. Er plädiert für eine eher Ergebnis- als Prozess-orientierte Vorgehensweise.

Statt eine weitere Definition des Begriffs „Software-Architektur„ zu entwickeln, erläutert der Autor im zweiten Kapitel diesen hier so zentralen Begriff in mehreren Absätzen, so dass der Leser nun eine sehr genaue Vorstellung davon hat, was Software-Architektur ist und was nicht. Zudem wird der Leser in diesem Kapitel noch in die Rolle von Software-Architekten, die Entstehung von Architekturen und deren Kontext eingeführt.

Im dritten Kapitel wird eine effektive und praxiserprobte Vorgehensweise für den Entwurf von Architekturen beschrieben.

Eine Architektur muss auch dokumentiert werden. Diesem wichtigen Thema widmet sich das vierte Kapitel. Es werden hier fünf Sichten („Konzeptuelle Sicht„, „Infrastruktursicht„, „Implementierungssicht„, „Laufzeitsicht„ und „Datensicht„) eingeführt, die eine effektive und bedarfsgerechte Beschreibung von Software-Architekturen möglich machen.

Das fünfte Kapitel beschäftigt sich mit der Beherrschung von Komplexität und der Problematik von Abhängigkeiten, formuliert Heuristiken zum Entwurf und beleuchtet den Entwurf mit Mustern (hier: Adapter, Beobachter, Dekorierer, Stellvertreter und Fassade). Auch auf den Aspekt der Qualitätssicherung wir hier eingegangen.

Am sechsten Kapitel waren verschiedene Autoren beteiligt. Es beschreibt einen Katalog von Architekturmustern und Architekturbausteinen für einen ingenieurmäßigen Entwurf, bei dem Wiederverwendung eine zentrale Rolle spielt. Es werden die Themen Persistenz, Ergonomie grafischer Oberflächen, Integration, Verteilung, Kommunikation, Sicherheit, Protokollierung, Workflow-Management und Internationalisierung behandelt.

Einen kurzen aber prägnanten Überblick erhält der Leser zu Beginn eines jeden Kapitels durch einen Fragenkomplex, der dann im folgenden Text abgearbeitet wird.

Am Ende eines Kapitels befinden sich jeweils ein ausgezeichnetes kommentiertes Literaturverzeichnis, wodurch das Auffinden von Literatur zur Vertiefung einzelner Teilaspekte hervorragend unterstützt wird.

Die vielen praktischen Tipps, Ratschläge, Heuristiken und Regeln sind durchgängig in allen Kapiteln typografisch durch eine graue Schattierung hervorgehoben und somit schnell auffindbar.

Fazit:
Der Leser bekommt hier einen „praktischen Leitfaden„ für die reale Welt der Softwareentwicklung an die Hand, der diesen Untertitel auch wirklich verdient hat. Das Buch überzeugt durch die Vermittlung praxisrelevanten Know-hows und lohnt sich für alle, die am Softwareentwicklungsprozess beteiligt sind (Entwickler, Software-Architekten, Manager ...) und es besser machen wollen als bisher.

Impressum | Datenschutz