Beste Bücher zu Theorie und Praxis der Softwarearchitektur? [geschlossen]

32

Ich habe ein paar Entwickler in meinem Unternehmen, die von der Programmierung zur Architektur wechseln möchten. Was sind die besten Bücher zur Theorie und Praxis der Softwarearchitektur? Fügen Sie ein Titelbild bei, wenn Sie können.

Zögern Sie nicht, allgemeine Bücher und Bücher, die sich auf eine bestimmte Technologie beziehen, aufzunehmen.

Craig Schwarze
quelle
3
Es ist keine direkte Antwort, sondern nur ein Kommentar. Der beste (und wirklich einzige) Weg zu lernen, Architekt zu sein, ist von einem anderen Architekten, vorzugsweise einem Master-Architekten. Software Architecture and Engineering im Allgemeinen befindet sich aus Sicht anderer Ingenieurdisziplinen immer noch in einem vorindustrialisierten Zustand. Wir machen noch Lehrlings-> Gesellenbrief-> Meistertypweiterbildung.
JP Alioto

Antworten:

15

Alt-Text

(Link zum Buch)

Dies ist ein ziemlich gutes Buch, obwohl es sich nicht allgemein mit Softwarearchitektur befasst, sondern mit Architektur von Geschäftsanwendungen.

Azheglov
quelle
Es war ein gutes Buch, als es veröffentlicht wurde, aber ich denke, dass die meisten Muster in der Branche nicht sehr häufig verwendet werden. Kein schlechtes Buch, aber sicher nicht unter den Top 5 meiner Meinung nach
Uberto
Obwohl es als "Enterprise Application Architecture" bezeichnet wird, entspricht es in etwa dem GoF Design Patterns-Buch, bei dem es sich eher um ein Design auf Klassenebene als um eine Architektur auf Anwendungsebene handelt.
Thomas Owens
Ugh, ich mag dieses Buch nicht. Es wird Ihnen nicht helfen, Architekt zu werden.
JP Alioto
Das Buch ist in Ordnung, aber es geht wirklich nur um Unternehmensanwendungen. Wenn Sie eine andere Art von Entwicklung durchführen (z. B. Desktop, Mobile, Embedded), ist dies nicht sehr nützlich.
Nikie
16

Alt-Text

Aber ich möchte diese Entwickler ermutigen, nicht in die Architektur einzusteigen und die Programmierung völlig zu vergessen. Andernfalls haben sie keinen Respekt vor Programmierern und sind nicht in der Lage, Architekturentscheidungen zu treffen.

TaylorOtwell
quelle
11

Das am häufigsten zitierte Buch über Software-Architekturen und das Buch, das ich verwendet habe, als ich den Kurs über Software-Architektur an meiner Universität belegte, ist Software-Architektur in der Praxis (2. Auflage) von Len Bass, Paul Clements und Rick Kazman .

Mindestens ein Professor, der den Kurs unterrichtet, hat das Lehrbuch auf Software Systems Architecture von Nick Rozanski und Eoin Woods umgestellt , aber ich kann nicht für die Qualität oder den Inhalt dieses Buches bürgen. Laut Sergio Acosta (in den Kommentaren) ist das Buch von Rozanski neuer und basiert auf der Arbeit von Bass. Er hält es für leichter zu lesen. Ich bin selten enttäuscht von Büchern, die im Software-Engineering-Programm verwendet werden.

Thomas Owens
quelle
2
Ich habe beide verwendet (Bass und Rozanski). Bass 'war lange Zeit die Architekturbibel, aber Rozanski's ist neuer und aktueller. es ist leichter zu lesen und basiert stark auf Bass. Ich kann Rozanski nur wärmstens empfehlen.
Sergio Acosta
1
+1 Das Bassbuch war eine gute Lektüre, als ich anfing, mich mit Architektur zu beschäftigen. Es ist ein bisschen trocken, aber es gibt Ihnen eine Vorstellung von den Dingen, über die Sie nachdenken sollten.
RationalGeek
10

Designmuster

Ein Muss für alle Programmierer:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

BlackICE
quelle
2
Veraltetes Buch jetzt. Die meisten Muster der Viererbande wurden so missbraucht, dass sie jetzt fast Anti-Muster sind. Wie Singleton und abstrakte Fabrik.
Uberto
1
@Uberto Deshalb sollte jeder dieses Buch lesen. Hier erfahren Sie, warum und wie Sie jedes Muster verwenden und wann Sie wahrscheinlich etwas anderes in Betracht ziehen sollten. Wenn mehr Leute den gesamten Mustereintrag lesen, werden viele dieser Probleme wegfallen.
Thomas Owens
Ich fand das Buch sehr schwer zu lesen und zu verstehen. Ich vermute, die meisten Leute tun einfach so, als würden sie es lesen und die Beispiele kopieren und einfügen. Ich werde es also nicht als erstes Buch für einen zukünftigen Architekten vorschlagen. Sicher ist es wichtig für einen historischen Standpunkt der aktuellen SW-Architektur.
Uberto
Ist jemand der Meinung, dass Groupthink eine große Krankheit im Softwareberuf ist? Wenn ich den Gurus blind folge (nicht das, was das Buch erwartet hat, sondern das, was tatsächlich passiert ist), dann ist der Beruf meines Erachtens zum Scheitern verurteilt. Ich beschuldige dieses Buch nicht. Ich beschuldige die Leute, die es gelesen haben, und begann zu denken, dass Grokking Pattern-Fu die mangelnde Sorgfalt für andere grundlegende Praktiken sauberer Codierung decken könnte.
Warren P
8

97 Dinge, die jeder Software-Architekt wissen sollte

Bildbeschreibung hier eingeben

Zachary K
quelle
Zach, hast du einen gelesen? Ich habe es mir vorher angesehen, aber die Amazon-Bewertungen sahen nicht so toll aus.
DXM
Ich habe Stücke davon gelesen. Ich bin mir nicht sicher, ob ich jeden Aufsatz gelesen habe, aber einige von denen, die ich gelesen habe, haben sich gelohnt.
Zachary K
7

Alt-Text

Das wäre meine zweite Wahl. Gutes Buch über Praktiken und guten Code. Manchmal etwas umständlich.

Uberto
quelle
Ich bin damit einverstanden, dass es pedantisch ist, aber die von ihm befürworteten Praktiken sind viel besser als 2000 Linienfunktionen.
Riwalk
Ja sicher, der Inhalt ist sehr sehr gut.
Uberto
Dieses Buch ist zu niedrig, um als Softwarearchitektur angesehen zu werden.
Steven Jeuris
6

Alt-Text

Dies ist momentan meine erste Wahl. Das beste Buch zum Erstellen (Erweitern) von Anwendungen.

Uberto
quelle
3

Ich habe die Bände 1 und 4 der musterorientierten Softwarearchitektur gefunden sich als sehr nützlich erwiesen. Ich bin mir sicher, dass die anderen Bände auch gut sind. Ich habe sie nur nicht gelesen und kann sie daher nicht empfehlen.

TMN
quelle
3

Ich werde keine zitieren, die bereits von anderen waren, also füge ich Folgendes hinzu:

Konzepte Techniken und Modelle der Computerprogrammierung , von Peter Van Roy und Seif Haridi

Konzepte Techniken und Modelle der Computerprogrammierung

Das offensichtliche Problem ist, dass es das mittlerweile (irgendwie) nicht mehr existierende Mozart-Programmiersystem und die erstaunliche Programmiersprache Oz verwendete . Daraus entstanden dann andere interessante Experimente wie die Programmiersprache Alice ML .

Es ist jedoch ein erstaunliches Buch, um sowohl Computerprogrammierung zu erlernen als auch ein tiefes Verständnis für CS-Konzepte und einen guten Überblick über Architekturkonzepte zu erlangen, ohne Schlagworte zu verwenden.

Manchmal etwas ausführlich, aber sehr gut geschrieben.

Vielleicht eher ein Buch zur CS-Theorie als ein Buch zur Unternehmensarchitektur, aber ich finde seine Lehren sehr wertvoll, um sie auf Industriesoftware anzuwenden.

Haylem
quelle
2

Ein interessantes Buch ist Die Architektur von Open Source-Anwendungen

Architekten schauen sich während ihrer Ausbildung Tausende von Gebäuden an und studieren die von Meistern verfassten Kritiken dieser Gebäude. Im Gegensatz dazu lernen die meisten Softwareentwickler nur eine Handvoll großer Programme gut kennen - normalerweise Programme, die sie selbst geschrieben haben - und studieren niemals die großen Programme der Geschichte. Infolgedessen wiederholen sie die Fehler des anderen, anstatt auf den Erfolgen des anderen aufzubauen.

Das Ziel dieses Buches ist es, das zu ändern. Darin erklären die Autoren von 25 Open-Source-Anwendungen, wie und warum ihre Software aufgebaut ist. Was sind die Hauptkomponenten der einzelnen Programme? Wie interagieren sie? Und was haben ihre Bauherren während ihrer Entwicklung gelernt? Bei der Beantwortung dieser Fragen geben die Autoren dieses Buches einzigartige Einblicke in ihre Denkweise

Larsen
quelle
2

Microsoft hat einige wirklich gute Sachen dazu. Für den Anfang haben sie hier ein tolles kostenloses Buch zur Verfügung:

http://msdn.microsoft.com/en-us/library/ff650706.aspx

Viele ihrer Whitepapers zum Thema Design finden Sie hier:

http://msdn.microsoft.com/en-us/practices/bb190351

Sie möchten sich wahrscheinlich über Entwurfsmuster informieren:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

Und dann gibt es die Klassiker - den Monat des mythischen Mannes, den vollständigen Code, den pragmatischen Programmierer usw. Ein bisschen googeln hilft Ihnen dabei, die guten Bücher zu finden.

Rocklan
quelle
2

versuchen Sie dieses kleine Buch .

Softwarearchitektur für Entwickler - Das Buch Ein praktischer und pragmatischer Leitfaden zur Softwarearchitektur

Dieses Buch ist eine Sammlung von Aufsätzen, die zusammen einen praktischen und pragmatischen Leitfaden für die Softwarearchitektur bilden.

  1. Was ist Software-Architektur?

  2. Welche Rolle spielt ein Softwarearchitekt?

  3. Wie definieren Sie Software-Architektur?

  4. Wie teilt man eine Softwarearchitektur?

  5. Wie liefern Sie Software-Architektur?

Negm Phlestin
quelle
Der Blog codingthearchitecture.com enthält auch einige hervorragende Beiträge zur Disziplin der Softwarearchitektur.
RationalGeek
1

Die Frage, die Sie stellen, ist in gewisser Weise sehr unfassbar. Software-Architektur ist etwas anderes und Software-Architekten sind sehr unterschiedlich.

Ein paar Anmerkungen:

"Clean Code" ist eines der besten Bücher, die ich je über Programmierung gelesen habe . Aber es ist sicherlich kein Buch über Architektur. Obligatorische Lektüre für Entwickler, ja, aber es gibt nicht viel Aufschluss darüber, wie das größere Zeug zusammenpasst, imo.

"PoEAA" von Fowler ist ein gutes Buch, aber wie schon jemand gesagt hat, sind viele der vorgestellten Muster seit einigen Jahren veraltet.

Das DDD-Buch von Eric Evans ist ein sehr solides und sehr inspirierendes Buch über Softwarekonstruktion und Zusammenarbeit mit Kunden - wertvolle Fähigkeiten für Architekten, aber auch gut für Entwickler.

NisLSimonsen
quelle
1

Was ich vorschlagen würde, lesen Sie bitte Code Complete 2 . Dies wird Ihnen helfen, Ihre Gedanken zu formen und den besten Weg zu finden, Dinge zu tun.

In der Architekturperspektive ist es ein guter Anfang mit GOF oder Head First Design Patterns.

Patterns of Enterprise Application Architecture ist ein ausgezeichnetes Buch

sarat
quelle