Gernot Starke
Effektive Softwarearchitekturen - Ein praktischer Leitfaden
Vorwort
12
Vorwort zur fünften Auflage
13
1 Einleitung
14
1.1?Software-Architekten
18
1.2?Effektiv, agil und pragmatisch
19
1.3?Wer sollte dieses Buch lesen?
22
1.4?Wegweiser durch das Buch
23
1.5?Webseite zum Buch
24
1.6?Weiterführende Literatur
25
1.7?Danksagung
25
2 Architektur und Architekten
26
2.1?Was ist Architektur?
27
2.2?Die Aufgaben von Software-Architekten
32
2.3?Wie entstehen Architekturen?
38
2.4?In welchem Kontext steht Architektur?
40
2.5?Weiterführende Literatur
44
3 Vorgehen bei der Architekturentwicklung
46
3.1?Informationen sammeln
50
3.2?Lösungsidee entwickeln
50
3.3? Was sind Einflussfaktoren und Randbedingungen?
57
3.4?Einflussfaktoren finden
60
3.5?Risiken identifizieren
66
3.6?Qualität explizit beschreiben
69
3.6.1?Qualitätsmerkmale von Software-Systemen
70
3.6.2?Szenarien konkretisieren Qualität
72
3.7?Lösungsstrategien entwickeln
77
3.7.1?Strategien gegen organisatorische Risiken
78
3.7.2?Strategien für hohe Performance
79
3.7.3?Strategien für Anpassbarkeit und Flexibilität
81
3.7.4?Strategien für hohe Verfügbarkeit
83
3.8?Weiterführende Literatur
84
4 Architektursichten zur Kommunikation und Dokumentation
86
4.1 Architekten müssen kommunizieren und dokumtentieren
87
4.2?Sichten
88
4.2.1?Sichten in der Software-Architektur
90
4.2.2?Vier Arten von Sichten
91
4.2.3?Entwurf der Sichten
93
4.3?Kontextabgrenzung
95
4.3.1?Elemente der Kontextabgrenzung
96
4.3.2?Notation der Kontextabgrenzung
96
4.3.3?Entwurf der Kontextabgrenzung
96
4.4.1?Elemente der Bausteinsicht
101
4.4.2?Notation der Bausteinsicht
103
4.4.3?Entwurf der Bausteinsicht
103
4.5?Laufzeitsicht
104
4.5.1?Elemente der Laufzeitsicht
106
4.5.2?Notation der Laufzeitsicht
106
4.5.3?Entwurf der Laufzeitsicht
107
4.6?Verteilungssicht
108
4.6.1?Elemente der Verteilungssicht
108
4.6.2?Notation der Verteilungssicht
108
4.6.3?Entwurf der Verteilungssicht
109
4.7?Dokumentation von Schnittstellen
110
4.8?Datensicht
113
4.9?Typische Architekturdokumente
115
4.9.1?Zentrale Architekturbeschreibung
116
4.9.2?Architekturüberblick
118
4.9.3?Dokumentationsübersicht
119
4.9.4?Übersichtspräsentation der Architektur
119
4.9.5?Architekturtapete
120
4.10?Effektive Architekturdokumentation
120
4.10.1?Anforderungen an Architekturdokumentation
120
4.10.2?Regeln für gute Architekturdokumentation
123
4.11?Andere Ansätze zur Architekturdokumentation
126
4.11.1?TOGAF
126
4.11.2?xADL (Extendable Architecture Description Language)
127
4.12?Weiterführende Literatur
128
5 UML 2 für Architekten
130
5.1?Die Diagrammarten der UML 2
131
5.2?Die Bausteine von Architekturen
133
5.4?Die Bausteinsicht
136
5.5?Die Verteilungssicht
139
5.6?Die Laufzeitsicht
141
5.7?Darum UML
146
5.8?Weiterführende Literatur
147
6 Strukturentwurf, Architektur- und Designmuster
148
6.1?Von der Idee zur Struktur
150
6.1.1?Komplexität beherrschen
150
6.1.2?Zerlegen – aber wie?
151
6.1.3?Fachmodelle als Basis der Entwürfe
152
6.1.4?Die Fachdomäne strukturieren
155
6.2?Architekturmuster
156
6.2.1?Schichten (Layer)
156
6.2.2?Pipes & Filter
160
Pipes entkoppeln Filter
161
6.2.3?Weitere Architekturmuster
162
6.3?Heuristiken zum Entwurf
164
6.3.1?Das So-einfach-wie-möglich-Prinzip
164
6.3.2?Entwerfen Sie nach Verantwortlichkeiten
165
6.3.3?Konzentrieren Sie sich auf Schnittstellen
166
6.3.4?Berücksichtigen Sie Fehler
167
6.4?Optimieren von Abhängigkeiten
167
6.4.1?Streben Sie nach loser Kopplung
170
6.4.2 Hohe Kohäsion
170
6.4.3?Offen für Erweiterungen, geschlossen für Änderungen
171
6.4.4?Abhängigkeit nur von Abstraktionen
172
6.4.5?Abtrennung von Schnittstellen
174
6.4.6?Zyklische Abhängigkeiten vermeiden
176
6.4.7?Liskov-Substitutionsprinzip (LSP)
177
6.4.8?Dependency Injection (DI)
178
6.5?Entwurfsmuster
180
6.5.1?Entwurf mit Mustern
180
6.5.2?Adapter
181
6.5.3?Beobachter (Observer)
182
6.5.4?Dekorierer (Decorator)
183
6.5.5?Stellvertreter (Proxy)
184
6.5.6?Fassade
185
6.5.7?Zustand (State)
186
6.6?Entwurf, Test, Qualitätssicherung
187
6.7?Weiterführende Literatur
187
7 Technische Konzepte und typische Architekturaspekte
190
7.1?Persistenz
194
7.1.1?Motivation
194
7.1.2?Einflussfaktoren und Entscheidungskriterien
197
7.1.3?Lösungsmuster
200
7.1.4?Bekannte Risiken und Probleme
205
7.1.5?Weitere Themen zu Persistenz
207
7.1.6?Zusammenhang mit anderen Aspekten
211
7.1.7?Praktische Vertiefung
213
7.1.8?Weiterführende Literatur
214
7.2?Geschäftsregeln
215
7.2.1?Motivation
215
7.2.2?Funktionsweise von Regelmaschinen
217
7.2.3?Kriterien pro & kontra Regelmaschinen
220
7.2.4?Mögliche Probleme
220
7.2.5?Weiterführende Literatur
221
7.3?Integration
222
7.3.1?Motivation
222
7.3.2?Typische Probleme
223
7.3.3?Lösungskonzepte
224
7.3.4?Entwurfsmuster zur Integration
229
7.3.6?Zusammenhang mit anderen Aspekten
233
7.3.7?Weiterführende Literatur
235
7.4?Verteilung
235
7.4.1?Motivation
235
7.4.2?Typische Probleme
236
7.4.3?Lösungskonzept
236
7.4.4?Konsequenzen und Risiken
238
7.4.5?Zusammenhang mit anderen Aspekten
238
7.4.6?Weiterführende Literatur
239
7.5?Kommunikation
239
7.5.1?Motivation
239
7.5.2?Entscheidungsalternativen
239
7.5.3?Grundbegriffe der Kommunikation
240
7.5.4?Weiterführende Literatur
245
7.6?Ablaufsteuerung grafischer Oberflächen
245
7.6.1?Model-View-Controller (MVC)
248
7.6.2?Weiterführende Literatur
255
7.7?Ergonomie grafischer Oberflächen
255
7.7.1?Arbeitsmetaphern
255
7.7.2?Interaktionsstile
258
7.7.3?Ergonomische Gestaltung
262
7.7.4?Heuristiken zur GUI-Gestaltung
263
7.7.5?Weiterführende Literatur
266
7.8?Internationalisierung
267
7.8.1?Globale Märkte erfordern neue Prozesse
268
7.8.2?Dimensionen der Internationalisierung
268
7.8.3?Lösungskonzepte
269
7.8.4?Weiterführende Literatur
275
7.9? Workflow-Management: Ablaufsteuerung im Großen
276
7.9.1?Zweck der Ablaufsteuerung
276
7.9.2?Lösungsansätze
278
7.9.3?Integration von Workflow-Systemen
281
7.9.4?Mächtigkeit von WMS
283
7.9.5?Weiterführende Literatur
284
7.10?Sicherheit
285
7.10.1?Motivation
285
7.10.2?Typische Probleme
285
7.10.3?Sicherheitsziele
286
7.10.4?Lösungskonzepte
288
7.10.5?Zusammenhang mit anderen Aspekten
293
7.10.6?Weiterführende Literatur
294
7.11?Protokollierung
295
7.11.1?Typische Probleme
295
7.11.2?Lösungskonzept
296
7.11.3?Zusammenhang mit anderen Aspekten
297
7.11.4?Weiterführende Literatur
297
7.12?Ausnahme- und Fehlerbehandlung
298
7.12.1?Motivation
298
7.12.2?Fehlerkategorien schaffen Klarheit
300
7.12.3?Muster zur Fehlerbehandlung
302
7.12.4?Mögliche Probleme
304
7.12.5?Zusammenhang mit anderen Aspekten
304
7.12.6?Weiterführende Literatur
305
8 Model Driven Architecture (MDA)
306
8.1?Architekten entwickeln Generierungsvorlagen
309
8.2?Modellierung
310
8.3?Modellbasiert entwickeln
311
8.4?Weiterführende Literatur
312
9 Bewertung von Software-Architekturen
314
9.1? Was Sie an Architekturen bewerten können
318
9.2?Vorgehen bei der Bewertung
319
9.3?Weiterführende Literatur
325
10 Service-Orientierte Architektur (SOA)
326
10.1?Was ist SOA?
327
10.2?So funktionieren Services
332
10.3?Was gehört (noch) zu SOA?
333
10.4?SOA und Software-Architektur
336
10.5?Weiterführende Literatur
337
11 Enterprise-IT-Architektur
338
11.1?Wozu Architekturebenen?
340
11.2?Aufgaben von Enterprise-Architekten
341
11.2.1?Management der Infrastrukturkosten
341
11.2.2?Management des IS-Portfolios
341
11.2.3?Definition von Referenzarchitekturen
343
11.2.4?Weitere Aufgaben
345
11.3?Weiterführende Literatur
346
12 Beispiele von Software-Architekturen
348
12.1? Beispiel: Datenmigration im Finanzwesen
349
12.2? Beispiel: Kampagnenmanagement im CRM
368
13 iSAQB Curriculum
398
13.1? Standardisierter Lehrplan für Software-Architekten
399
13.2?Können, Wissen und Verstehen
400
13.3?Voraussetzungen und Abgrenzungen
401
13.4?Struktur des iSAQB-Lehrplans
401
I.?Grundbegriffe von Software-Architekturen
402
II.?Beschreibung und Kommunikation von Software-Architekturen
403
III.?Entwicklung von Software-Architekturen
404
IV.?Software-Architekturen und Qualität
405
V.?Werkzeuge für Software-Architekten
406
VI.?Beispiele von Software-Achitekturen
406
13.5?Zertifizierung nach dem iSAQB-Lehrplan
407
14 Nachwort: Architektonien
408
14.1?In sechs Stationen um die (IT-)Welt
408
14.2?Ratschläge aus dem architektonischen Manifest
411
Literatur
416
© 2009-2024 ciando GmbH