|
Inhaltsverzeichnis |
6 |
|
|
Vorwort |
8 |
|
|
Einleitung |
10 |
|
|
1.1 Software-Architekten |
15 |
|
|
1.2 Effektiv, agil und pragmatisch |
15 |
|
|
Agilität ist notwendig |
15 |
|
|
Effektiv = Ziele erreichen |
17 |
|
|
Effektiv = Agil und angemessen |
18 |
|
|
Effektiv = Pragmatisch |
18 |
|
|
1.3 Wer sollte dieses Buch lesen? |
18 |
|
|
1.4 Wegweiser durch das Buch |
19 |
|
|
Tipps, Ratschläge, Heuristiken und Regeln |
20 |
|
|
1.5 Webseite zum Buch |
20 |
|
|
1.6 Weiterführende Literatur |
21 |
|
|
1.7 Danksagung |
21 |
|
|
Architektur und Architekten |
22 |
|
|
2.1 Was ist Architektur? |
23 |
|
|
2.2 Die Aufgaben von Software- Architekten |
27 |
|
|
2.3 Wie entstehen Architekturen? |
33 |
|
|
2.4 In welchem Kontext steht Architektur? |
35 |
|
|
2.5 Weiterführende Literatur |
39 |
|
|
Entwurf von Architekturen |
40 |
|
|
3.1 Informationen sammeln |
42 |
|
|
3.2 Systemidee entwickeln |
42 |
|
|
3.3 Was sind Einflussfaktoren und Randbedingungen? |
49 |
|
|
3.4 Einflussfaktoren finden |
53 |
|
|
3.5 Architektur und Qualität |
59 |
|
|
3.6 Projektrisiken identifizieren |
69 |
|
|
3.7 Lösungsstrategien entwickeln |
71 |
|
|
3.8 Weiterführende Literatur |
78 |
|
|
Dokumentation von Software-Architekturen |
80 |
|
|
4.1 Anforderungen an Architekturdokumentation |
81 |
|
|
4.1.1 Funktionale Anforderungen |
82 |
|
|
4.1.2 Nichtfunktionale Anforderungen ( Qualitätsanforderungen) |
83 |
|
|
4.2 Grundlagen nützlicher Dokumentation |
84 |
|
|
4.3 Sichten |
87 |
|
|
4.3.1 Ein Modell für Sichten |
89 |
|
|
4.3.2 Beschreibung von Sichten |
90 |
|
|
4.4 Vier Arten von Sichten |
94 |
|
|
4.4.1 Die Sichten – ein Überblick |
95 |
|
|
4.5 Bausteinsicht |
97 |
|
|
4.5.1 Elemente der Bausteinsicht |
98 |
|
|
4.5.2 Notation der Bausteinsicht |
99 |
|
|
4.5.3 Entwurf der Bausteinsicht |
100 |
|
|
4.6 Laufzeitsicht |
101 |
|
|
4.6.1 Elemente der Laufzeitsicht |
102 |
|
|
4.6.2 Notation der Laufzeitsicht |
102 |
|
|
4.6.3 Entwurf der Laufzeitsicht |
104 |
|
|
4.7 Verteilungssicht |
104 |
|
|
4.7.1 Elemente der Verteilungssicht |
104 |
|
|
4.7.2 Notation der Verteilungssicht |
105 |
|
|
4.7.3 Entwurf der Verteilungssicht |
105 |
|
|
4.8 Kontextsicht |
106 |
|
|
4.8.1 Elemente der Kontextsicht |
106 |
|
|
4.8.2 Notation der Kontextsicht |
107 |
|
|
4.8.3 Entwurf der Kontextsicht |
107 |
|
|
4.9 Dokumentation von Schnittstellen |
108 |
|
|
4.10 Datensicht |
111 |
|
|
4.10.1 Notation der Datensicht |
112 |
|
|
4.11 Entwurf der Sichten |
113 |
|
|
4.12 Typische Architekturdokumente |
115 |
|
|
4.13 Beispiel einer Software- Architektur- Dokumentation ( SWAD) |
119 |
|
|
4.14 Weiterführende Literatur |
124 |
|
|
Entwurfsprinzipien und Entwurfsmuster |
126 |
|
|
5.1 Von der Idee zur Struktur |
128 |
|
|
5.2 Architektur und Schichten |
131 |
|
|
5.3 Heuristiken zum Entwurf |
134 |
|
|
5.3.1 Das So-einfach-wie-möglich-Prinzip |
134 |
|
|
5.3.2 Entwerfen Sie nach Verantwortlichkeiten |
135 |
|
|
5.3.3 Konzentrieren Sie sich auf Schnittstellen |
136 |
|
|
5.3.4 Berücksichtigen Sie Fehler |
137 |
|
|
5.4 Minimieren von Abhängigkeiten |
137 |
|
|
5.4.1 Lose Kopplung |
139 |
|
|
5.4.2 Hohe Kohäsion |
140 |
|
|
5.4.3 Offen für Erweiterungen, geschlossen für Änderungen |
140 |
|
|
5.4.4 Abhängigkeit nur von Abstraktionen |
142 |
|
|
5.4.5 Abtrennung von Schnittstellen |
143 |
|
|
5.4.6 Zyklische Abhängigkeiten vermeiden |
145 |
|
|
5.4.7 Liskov Substitutionsprinzip (LSP) |
146 |
|
|
5.5 Entwurfsmuster |
147 |
|
|
5.5.1 Entwurf mit Mustern |
148 |
|
|
5.5.2 Adapter |
148 |
|
|
5.5.3 Beobachter (Observer) |
149 |
|
|
5.5.4 Dekorierer (Decorator) |
150 |
|
|
5.5.5 Stellvertreter (Proxy) |
151 |
|
|
5.5.6 Fassade |
152 |
|
|
5.5.7 Zustand (State) |
153 |
|
|
5.6 Entwurf, Test, Qualitätssicherung |
154 |
|
|
5.7 Weiterführende Literatur |
155 |
|
|
Bewertung von Software-Architekturen |
158 |
|
|
6.1 Was Sie an Architekturen bewerten können |
161 |
|
|
6.2 Vorgehen bei der Bewertung |
162 |
|
|
6.3 Weiterführende Literatur |
166 |
|
|
Katalog typischer Architekturaspekte |
168 |
|
|
7.1 Persistenz |
170 |
|
|
7.1.1 Motivation |
170 |
|
|
7.1.2 Typische Probleme |
171 |
|
|
7.1.3 Architekturmuster „Persistenzschicht“ |
173 |
|
|
7.1.4 Weitere Themen zu Persistenz |
181 |
|
|
7.1.5 Zusammenhang mit anderen Aspekten |
188 |
|
|
7.1.6 Weiterführende Literatur |
189 |
|
|
7.2 Integration |
190 |
|
|
7.2.1 Motivation |
190 |
|
|
7.2.2 Typische Probleme |
192 |
|
|
7.2.3 Lösungskonzepte |
193 |
|
|
7.2.4 Entwurfsmuster zur Integration |
198 |
|
|
7.2.5 Konsequenzen und Risiken |
200 |
|
|
7.2.6 Zusammenhang mit anderen Aspekten |
202 |
|
|
7.2.7 Weiterführende Literatur |
204 |
|
|
7.3 Verteilung |
204 |
|
|
7.3.1 Motivation |
204 |
|
|
7.3.2 Typische Probleme |
205 |
|
|
7.3.3 Lösungskonzept |
205 |
|
|
7.3.4 Konsequenzen und Risiken |
207 |
|
|
7.3.5 Zusammenhang mit anderen Aspekten |
208 |
|
|
7.3.6 Weiterführende Literatur |
208 |
|
|
7.4 Kommunikation |
208 |
|
|
7.4.1 Motivation |
208 |
|
|
7.4.2 Entscheidungsalternativen |
209 |
|
|
7.4.3 Grundbegriffe der Kommunikation |
209 |
|
|
7.4.4 Weiterführende Literatur |
215 |
|
|
7.5 Ergonomie grafischer Oberflächen |
215 |
|
|
7.5.1 Arbeitsmetaphern |
215 |
|
|
7.5.2 Interaktionsstile |
217 |
|
|
7.5.3 Ergonomische Gestaltung |
221 |
|
|
7.5.4 Heuristiken zur GUI-Gestaltung |
222 |
|
|
7.5.5 Weiterführende Literatur |
226 |
|
|
7.6 Ablaufsteuerung grafischer Oberflächen |
226 |
|
|
7.6.1 Model-View-Controller (MVC) |
229 |
|
|
7.6.2 Weiterführende Literatur |
236 |
|
|
7.7 Sicherheit |
236 |
|
|
7.7.1 Motivation |
237 |
|
|
7.7.2 Typische Probleme |
237 |
|
|
7.7.3 Sicherheitsziele |
238 |
|
|
7.7.4 Lösungskonzepte |
240 |
|
|
7.7.5 Zusammenhang mit anderen Aspekten |
245 |
|
|
7.7.6 Weiterführende Literatur |
247 |
|
|
7.8 Protokollierung |
247 |
|
|
7.8.1 Typische Probleme |
248 |
|
|
7.8.2 Lösungskonzept |
249 |
|
|
7.8.3 Zusammenhang mit anderen Aspekten |
250 |
|
|
7.8.4 Weiterführende Literatur |
250 |
|
|
7.9 Workflow-Management: Übergreifende Ablaufsteuerung |
251 |
|
|
7.9.1 Zweck der Ablaufsteuerung |
251 |
|
|
7.9.2 Lösungsansätze |
253 |
|
|
7.9.3 Integration von Workflow-Systemen |
256 |
|
|
7.9.4 Weiterführende Literatur |
256 |
|
|
7.10 Internationalisierung |
256 |
|
|
7.10.1 Globale Märkte erfordern neue Prozesse |
257 |
|
|
7.10.2 Dimensionen der Internationalisierung |
258 |
|
|
7.10.3 Lösungskonzepte |
259 |
|
|
7.10.4 Weiterführende Literatur |
266 |
|
|
UML 2 für Architekten |
268 |
|
|
8.1 Die Diagrammarten der UML 2 |
270 |
|
|
8.2 Die Bausteine von Architekturen |
271 |
|
|
8.3 Schnittstellen |
272 |
|
|
8.4 Die Bausteinsicht |
274 |
|
|
8.5 Die Verteilungssicht |
277 |
|
|
8.6 Die Laufzeitsicht |
279 |
|
|
8.7 Darum UML |
283 |
|
|
8.8 Weiterführende Literatur |
284 |
|
|
Model-Driven-Architecture™ (MDA) |
286 |
|
|
9.1 Weiterführende Literatur |
289 |
|
|
Literatur |
290 |
|
|
Index |
296 |
|
|
Mehr eBooks bei www.ciando.com |
0 |
|