
Ein kurzweiliger und kompetenter Begleiter - Die von Ihnen entwickelte Software ist stets flexibel, erweiterbar, verständlich, gut strukturiert, performant und wird termingerecht ausgeliefert? Gratuliere, dann brauchen Sie dieses Buch möglicherweise nicht zu kaufen. Allen anderen sei die dritte Auflage von Gernot Starkes praktischem Leitfaden für effektive Software-Architekturen wärmstens empfohlen. Profitieren kann von diesem Buch praktisch jeder, der irgendwie mit Software zu tun hat, egal ob als Kunde, Auftraggeber, Projektmanager, Projektleiter, Software-Architekt oder Entwickler. Die Praxistauglichkeit steht dabei stets im Vordergrund. Wer also einen Theoriewälzer für die Grundlagenforschung sucht, wird enttäuscht sein. Wer aber einen kurzweiligen, pragmatischen und kompetenten Begleiter für die Entwicklung von effektiven Software-Architekturen sucht, wird begeistert sein.Gernot Starke lässt in seinem Buch keinen Aspekt unbeleuchtet und hat in der neuen Auflage die gesamten Inhalte überarbeitet, erweitert und neu strukturiert. Nach einer Hinführung zum Thema erklärt er zunächst das richtige Vorgehen bei der Architekturentwicklung inklusive Informationssammlung, Identifizierung von Risiken und Einflussfaktoren, Qualitätsanforderungen und Lösungsstrategien. Die nächsten Kapitel liefern die Werkzeuge zur Architekturentwicklung. Gernot Starke beschreibt hier, aus welchen Blickwinkeln die Architektur betrachtet werden kann (Kontext, Bausteine, Laufzeit, Verteilung, Schnittstellen, Daten) und zeigt, wie diese Sichten u. a. durch UML-Diagramme dokumentiert werden können. Auch auf die Darstellung der verschiedenen Architekturmuster (Schichten, Pipes, Blackboard und P2P) geht er ausführlich ein und stellt die wichtigsten Entwurfsmuster vor. Zudem liefert er zahlreiche Best Practices und Regeln für den Entwurf guter Software-Architekturen. Das nächste Kapitel stellt ein Sammelsurium von verschiedensten Architekturaspekten dar: Hier findet der Leser viel Interessantes zu den Themen Persistenz, Geschäftsregeln, Kommunikation, grafische Benutzeroberflächen, Sicherheit und einigen anderen mehr. Die darauffolgenden Kapitel blicken etwas über den Tellerrand hinaus und betrachten MDA (Model Driven Architecture), SOA (Service-orientierte Architekturen) und Enterprise-Architekturen - wenn auch nur ansatzweise. Das Buch schließt mit einem ausführlichen Beispiel einer Architekturdokumentation.Wenn man den relativ geringen Umfang des Buches von nicht einmal 400 Seiten betrachtet, versteht es sich von selbst, dass nicht alle angesprochenen Themenaspekte erschöpfend dargestellt werden können. Sollte der Leser bestimmte Aspekte vertiefen wollen, so findet er am Ende eines jeden Kapitels eine vorbildliche Liste von kommentierten Literaturhinweisen. Die Kapitel selbst sind durchgängig hübsch gestaltet und gut strukturiert, sodass auch einem schnellen Nachschlagen nichts im Wege steht. Gernot Starke bemüht sich durchgehend, dem Leser ein echtes Lesevergnügen zu bereiten. Hierzu tragen die zahlreichen Beispiele und vor allem seine flüssige, lockere und oft sogar witzige Sprache bei. Auf der Website zum Buch finden sich ergänzend weitere Informationen sowie einige Checklisten und Vorlagen für eine gekonnte Architektur-Dokumentation. Das alles führt dazu, dass man das Buch auch später noch oft und gern zur Hand nimmt. Sehr empfehlenswert.
Gute Tipps für Praktiker - Für Theoretiker bedingt tauglich - man kann sich dem Thema Software-Architektur aus zwei Richtungen nähern. Entweder man schaut sich das an, was die Leute vom SEI (Software Engineering Institute) der CMU (Carnegie Mellon University) schreiben. Da liest man einen sehr systematischen Aufbau des Themas Software-Architektur von Autoren, wie Bass, Soni, Hofmeister, Garlan, Shaw. Das ist dann theoretisch sehr sauber, man kriegt auch ein paar Tipps für die Praxis aber es ist nicht auf amüsantes Lesen getrimmt und für die Praxis, wie man ein System baut, hat man nicht so sehr viel davon.Oder aber man kommt aus der Ecke Patterns, Best Practices, Anekdoten und liest dieses sehr amüsant zu lesende Buch von Gernot Starke - das zugegeben eine Sammlung von Tipps und Best Practices ist und sich auch mal gut im Flugzeug auf dem Weg nach Hause vom Consulting Job lesen läßt und viel Spaß macht. Da hat das Buch auch ein Alleinstellungsmerkmal - staubtrockene theoretische Literatur zu dem Thema gibt massenhaft - wirklich gut zu Lesendes mit Praxistipps gibt s deutlich weniger.Ob man s mag, hängt von der Zielgruppe ab:* Leute, die an der Uni über das Wesen von Software-Architektur nachdenken, werden an dem Buch wenig Spass haben.* Praktiker, die moderne, webgestützte Softwaresysteme bauen, werden nicht nur viel Spaß beim Lesen haben, sondern sehr viele wirklich nützliche Tipps finden und gute Hinweise auf die zugehörige Pattern-Literatur finden.* das Buch ist also auch und gerade für Leute geeignet, die in die Praxis der Softwarebranche einsteigen - wenn man dadurch auch nur einen teuren Fehler nicht macht, hat sich der Kaufpreis schon mehrfach amortisiert.
Sammelsurium von Empfehlungen - Diesem Buch fehlt vor allem der rote Faden, was gerade bei einem Buch, das sich Leitfaden nennt doch sehr kritisch ist. Es werden auf recht geringem Raum eine Fülle von Empfehlung zum Entwicklungsprozess, Form Inhalt von Software-Architekturen gegeben, diese wirken aber unstrukturiert und relativ beliebig (insbesondere im Kapitel 6). Hätte das Buch einen besseren Index, könnte es ggf. als Nachschlagewerk dienen, dafür ist es allerdings eigentlich nicht umfassend genug. Bei Themen wie der Ergonomie von GUIs (Kapitel 6.2) oder Internationalisierung (Kapitel 6.10) ist mir andererseits nicht ganz klar, wieso diese in einem kurzen Buch zu Software-Architekturen vorkommen, diese sind allenfalls am Rande oder in Spezialfällen architekturrelevant.Es werden an vielen Stellen Zitate anderer Autoren in einer Guru-artigen Weise angebracht, was andererseits zu dem teilweise doch sehr flapsigen Schreibstil passt, der zudem von dem ausufernden Gebrauch von verborgenen Amerikanismen. Obwohl der Autor versucht, das Adjektiv effektiv im Titel zu erläutern (als zielorientiert, m.E. etwas ganz anderes als effektiv), ist mir seine Bedeutung nicht ganz klar geworden. Er erwähnt, dass effektiv/effizient immer wieder für Missverständnisse sorgen, trägt aber selbst dazu bei.
Gutes Buch - Der Autor hat ein Buch geschrieben welches sehr schön zu lesen. Das liegt nicht nur der guten Struktur, sondern auch an den verständlichen und angenehm zu lesenden Schreibstil. Gute Beispiele zu den verschiedenen Szenarien runden das alles ab. Inhaltlich sind die wichtigsten Themen zur Software-Architektur enthalten. Wegen einigen Kleinigkeiten konnte ich aber keine fünf Sterne vergeben. So fande ich es etwas störend, dass an einige Stellen viele Aufzählungen auftauchen und mein Lesefluss etwas gestört haben. Schön wäre es gewesen, wenn das Buch inhaltlich einige Thema weiter vertieft hätte. Halt Kleinigkeiten.
cooles Buch über Software-Architektur - Die Einleitung mit einem auf das Häuserbauen gemünzten Vergleich verschiedener Vorgehensweisen in der Software-Entwicklung ist sehr gut gelungen. Im zweiten Kapitel (Architektur und Architekt) beschreibt der Autor Was Architektur ist, warum man sie braucht und wer sie gestaltet.Die nächsten drei Kapitel beziehen sich dann auf das Wie? und umfassen den Entwurf, die Beschreibung von Architekturen (mit der Einführung der Sichten/UML) sowie allgemeinen Entwurfsprinzipien.Diese ersten fünf Kapitel machen aber gerade mal die Hälfte des Buches aus.Der Hauptteil besteht aus Architekturmustern, -bausteinen, womit man ja letztenendes die Architektur erschafft. Das ist ein guter Einstiegspunkt der verschiedene Bereiche (Persistenz, GUI/MVC, Sicherheit, Verteilung, Workflow, Logging, ...) abdeckt.Alleine die ersten Kapitel sowie die vielen Literaturhinweise (sowohl zu Büchern als auch Webseiten) machen das Buch kaufenswert/lesenswert, und ich kann es jedem nur empfehlen, der sich mit Entwurf/Design/Architektur von SW-Systemen auseinandersetzen mag. Alles in allem überzeugt das Buch auch durch einen sehr angenehmen Schreibstil und einen soliden, klaren Aufbau und ist uneingeschränkt Studenten zu empfehlen.