Sie sind hier
E-Book

Effektive Softwarearchitekturen

Ein praktischer Leitfaden

AutorGernot Starke
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2017
Seitenanzahl453 Seiten
ISBN9783446454200
FormatPDF
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis37,99 EUR
Software-Architekten müssen komplexe fachliche und technische Anforderungen an IT-Systeme umsetzen und diese Systeme durch nachvollziehbare Strukturen flexibel und erweiterbar gestalten.
Dieser Praxisleitfaden zeigt Ihnen, wie Sie Software-Architekturen effektiv und systematisch entwickeln können. Der bekannte Software-Architekt Gernot Starke unterstützt Sie mit praktischen Tipps, Architekturmustern und seinen Erfahrungen.
Er gibt Antworten auf zentrale Fragen:
- Welche Aufgaben haben Software-Architekten?
- Wie gehen Software-Architekten beim Entwurf vor?
- Wie kommunizieren und dokumentieren Sie Software-Architekturen?
- Wie helfen Architekturmuster und Architekturbausteine?
- Wie bewerten Sie Software-Architekturen?
- Wie behandeln Sie Persistenz, grafische Benutzeroberflächen, Geschäftsregeln, Integration, Verteilung, Sicherheit, Fehlerbehandlung, Workflow-Management und sonstige technische Konzepte?
- Was müssen Software-Architekten über MDA/MDSD, UML 2 und arc42 wissen?
- Welche Aufgaben nehmen Enterprise-IT-Architekten wahr?

Dr. Gernot Starke stellt sich seit vielen Jahren der Herausforderung, die Architektur großer Systeme effektiv zu gestalten. Zu seinen Kunden zählen mittlere und große Unternehmen aus den Branchen Finanzdienstleistung, Logistik, Handel, Telekommunikation und dem öffentlichen Bereich. Er ist Mitinitiator und -betreiber von arc42, Mitbegründer des iSAQB e.V. sowie Fellow der innoQ.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort14
Vorwort zur siebten Auflage (2015)15
Vorwort zur achten Auflage15
1Einleitung16
1.1?Softwarearchitekten20
1.2?Effektiv, agil und pragmatisch21
1.3?Wer sollte dieses Buch lesen?24
1.4?Wegweiser durch das Buch25
1.5?Webseite zum Buch27
1.6?Weiterführende Literatur27
1.7?Danksagung28
2Architektur und?Architekten30
2.1?Was ist Softwarearchitektur?31
2.1.1?Darum Softwarearchitektur!35
2.2?Die Aufgaben von Softwarearchitekten36
2.3?Wie entstehen Architekturen?41
2.4?In welchem Kontext steht Architektur?44
2.5?Weiterführende Literatur47
3Vorgehen bei der Architekturentwicklung48
3.1?Informationen sammeln52
3.2?Anforderungen klären53
3.2.1?Was ist die Kernaufgabe des Systems?53
3.2.2?Welche Kategorie von System?54
3.2.3?Wesentliche Qualitätsanforderungen ermitteln54
3.2.4?Relevante Stakeholder ermitteln59
3.2.5?Fachlichen und technischen Kontext ermitteln60
3.3?Einflussfaktoren und Randbedingungen ermitteln62
3.4?Entwerfen und kommunizieren68
3.5?Umsetzung begleiten69
3.6?Lösungsstrategien entwickeln70
3.7?Weiterführende Literatur72
4Entwurf: Grundlagen, Methoden und Muster74
4.1?Grundlagen76
4.1.1?Grundsätze des Entwurfs (Maxime)77
4.1.2?Prinzipien80
4.1.3?SOLID-Prinzipien des objektorientierten Entwurfs86
4.1.3.1?Offen-Geschlossen-Prinzip86
4.1.3.2?Liskov-Substitutionsprinzip (LSP)88
4.1.3.3?Interface Segregation Principle (ISP)89
4.1.3.4?Dependency Inversion Principle (DIP)91
4.2?Heuristiken94
4.3?Entwurfsmethoden99
4.3.1?Domain-Driven Design (Entwurf nach Fachlichkeit)99
4.3.2?Der WAM-Ansatz104
4.3.3?Quality-Driven Software Architecture106
4.3.4?Top-down und Bottom-up114
4.4?Schnittstellen entwerfen115
4.4.1?Anforderungen an Schnittstellen116
4.4.2?Worauf müssen Sie achten?117
4.4.3?Tipps zum Entwurf von Schnittstellen118
4.5?Architekturstile und -muster119
4.5.1?Datenflussarchitekturstil120
4.5.1.1?Architekturstil Batch-Sequentiell120
4.5.1.2?Architekturstil Pipes und Filter121
4.5.2?Datenzentrierter Architekturstil124
4.5.2.1?Repository124
4.5.2.2?Blackboard125
4.5.3?Hierarchische Architekturstile126
4.5.3.1?Master-Slave126
4.5.3.2?Schichten (Layer)127
4.5.3.3?Architekturstil Ports-und-Adapter130
4.5.4?Architekturstile verteilter Systeme133
4.5.4.1?Client-Server134
4.5.4.2?Command Query Responsibility Segregation134
4.5.4.3?Broker136
4.5.4.4?Peer-to-Peer137
4.5.5?Ereignisbasierte Systeme – Event Systems138
4.5.5.1?Ungepufferte Event-Kommunikation139
4.5.5.2?Message- oder Event-Queue-Architekturen139
4.5.5.3?Message-Service-Architekturen140
4.5.6?Interaktionsorientierte Systeme141
4.5.6.1?Model-View-Controller141
4.5.6.2?Presentation Model142
4.5.7?Weitere Architekturstile und -muster145
4.6?Entwurfsmuster147
4.6.1?Entwurf mit Mustern147
4.6.2?Adapter148
4.6.3?Beobachter (Observer)149
4.6.4?Dekorierer (Decorator)150
4.6.5?Stellvertreter (Proxy)151
4.6.6?Fassade152
4.6.7?Zustand (State)153
4.7?Weiterführende Literatur154
5Kommunikation und?Dokumentation von Architekturen156
5.1?Architekten müssen kommunizieren und?dokumentieren157
5.2?Effektive Architekturdokumentation159
5.2.1?Anforderungen an Architekturdokumentation159
5.2.2?Regeln für gute Architekturdokumentation161
5.3?Typische Architekturdokumente164
5.3.1?Zentrale Architekturbeschreibung165
5.3.2?Architekturüberblick168
5.3.3?Dokumentationsübersicht168
5.3.4?Übersichtspräsentation der Architektur168
5.3.5?Architekturtapete169
5.4?Sichten169
5.4.1?Sichten in der Softwarearchitektur170
5.4.2?Vier Arten von Sichten172
5.4.3?Entwurf der Sichten174
5.5?Kontextabgrenzung176
5.5.1?Elemente der Kontextabgrenzung176
5.5.2?Notation der Kontextabgrenzung177
5.5.3?Entwurf der Kontextabgrenzung177
5.6?Bausteinsicht178
5.6.1?Elemente der Bausteinsicht182
5.6.2?Notation der Bausteinsicht183
5.6.3?Entwurf der Bausteinsicht184
5.7?Laufzeitsicht185
5.7.1?Elemente der Laufzeitsicht186
5.7.2?Notation der Laufzeitsicht187
5.7.3?Entwurf der Laufzeitsicht188
5.8?Verteilungssicht188
5.8.1?Elemente der Verteilungssicht189
5.8.2?Notation der Verteilungssicht189
5.8.3?Entwurf der Verteilungssicht190
5.9?Dokumentation von Schnittstellen191
5.10?Dokumentation technischer Konzepte194
5.11?Werkzeuge zur Dokumentation194
5.12?TOGAF zur Architekturdokumentation196
5.13?Weiterführende Literatur198
6Modellierung für Softwarearchitekten200
6.1?Modelle als Arbeitsmittel200
6.1.1?Grafische oder textuelle Modellierung202
6.2?UML?2 für Softwarearchitekten203
6.2.1?Die Diagrammarten der UML?2204
6.2.2?Die Bausteine von Architekturen206
6.2.3?Schnittstellen207
6.2.4?Die Bausteinsicht208
6.2.5?Die Verteilungssicht210
6.2.6?Die Laufzeitsicht212
6.2.7?Darum UML215
6.2.8?Darum nicht UML216
6.3?Tipps zur Modellierung216
6.4?Weiterführende Literatur217
7Technische Konzepte und typische Architekturaspekte218
7.1?Persistenz222
7.1.1?Motivation222
7.1.2?Einflussfaktoren und Entscheidungskriterien225
7.1.2.1?Art der zu speichernden Daten226
7.1.2.2?Konsistenz und Verfügbarkeit (ACID, BASE oder CAP)227
7.1.2.3?Zugriff und Navigation229
7.1.2.4?Deployment und Betrieb229
7.1.3?Lösungsmuster230
7.1.3.1?Persistenzschicht230
7.1.3.2?DAO: Eine Miniatur-Persistenzschicht234
7.1.4?Bekannte Risiken und Probleme235
7.1.5?Weitere Themen zu Persistenz236
7.1.6?Zusammenhang zu anderen Aspekten240
7.1.7?Praktische Vertiefung241
7.1.8?Weiterführende Literatur242
7.2?Geschäftsregeln243
7.2.1?Motivation243
7.2.2?Funktionsweise von Regelmaschinen246
7.2.3?Kriterien pro & kontra Regelmaschinen248
7.2.4?Mögliche Probleme249
7.2.5?Weiterführende Literatur250
7.3?Integration250
7.3.1?Motivation250
7.3.2?Typische Probleme252
7.3.3?Lösungskonzepte253
7.3.4?Entwurfsmuster zur Integration257
7.3.5?Konsequenzen und Risiken258
7.3.6?Zusammenhang mit anderen Aspekten260
7.3.7?Weiterführende Literatur261
7.4?Verteilung261
7.4.1?Motivation261
7.4.2?Typische Probleme262
7.4.3?Lösungskonzept262
7.4.4?Konsequenzen und Risiken264
7.4.5?Zusammenhang mit anderen Aspekten264
7.4.6?Weiterführende Literatur264
7.5?Kommunikation265
7.5.1?Motivation265
7.5.2?Entscheidungsalternativen265
7.5.3?Grundbegriffe der Kommunikation265
7.5.4?Weiterführende Literatur269
7.6?Grafische Oberflächen (GUI)271
7.6.1?Motivation271
7.6.2?Einflussfaktoren und Entscheidungskriterien271
7.6.3?GUI-relevante Architekturmuster273
7.6.4?Struktur und Ergonomie von Benutzeroberflächen274
7.6.5?Bekannte Risiken und Probleme275
7.6.6?Zusammenhang zu anderen Aspekten277
7.7?Geschäftsprozess-Management: Ablaufsteuerung im Großen278
7.7.1?Workflow-Sprachen280
7.7.2?Vorhersagbarkeit283
7.7.3?Zweck der Ablaufsteuerung284
7.7.4?Lösungsansätze286
7.7.5?Integration von Workflow-Systemen289
7.7.6?Mächtigkeit von WfMS290
7.7.7?Weiterführende Literatur290
7.8?Sicherheit291
7.8.1?Motivation – Was ist IT-Sicherheit?291
7.8.2?Sicherheitsziele292
7.8.3?Lösungskonzepte294
7.8.4?Security Engineering mit Patterns301
7.8.5?Weiterführende Literatur302
7.9?Protokollierung303
7.9.1?Typische Probleme303
7.9.2?Lösungskonzept304
7.9.3?Zusammenhang mit anderen Aspekten305
7.9.4?Weiterführende Literatur305
7.10?Ausnahme- und Fehlerbehandlung306
7.10.1?Motivation306
7.10.2?Fehlerkategorien schaffen Klarheit308
7.10.3?Muster zur Fehlerbehandlung310
7.10.4?Mögliche Probleme311
7.10.5?Zusammenhang mit anderen Aspekten312
7.10.6?Weiterführende Literatur313
7.11?Skalierbarkeit313
7.11.1?Was bedeutet Skalierbarkeit?313
7.11.2?Skalierungsstrategien314
7.11.3?Elastizität314
7.11.4?Scale-Up-Strategie314
7.11.5?Vertikale Scale-Out-Strategie315
7.11.6?Horizontale Scale-Out-Strategie315
7.11.7?Der Strategiemix315
7.11.8?Allgemeine Daumenregeln316
7.11.9?CPU-Power317
7.11.10?GPU-Power317
7.11.11?RAIDs, SANs und andere Speichersysteme317
7.11.12?Bussysteme für die Speicheranbindung318
7.11.13?Geringere Bandbreite im Netz318
8Bewertung von Softwarearchitekturen320
8.1?Qualitative Architekturbewertung323
8.2?Quantitative Bewertung durch Metriken330
8.3?Werkzeuge zur Bewertung332
8.4?Weiterführende Literatur333
9Systematische Verbesserung und Evolution334
9.1?Wege in den Abgrund336
9.2?Systematisch verbessern337
9.3?Bewährte Praktiken und Muster340
9.4?Analyse: Probleme identifizieren342
9.5?Evaluate: Probleme und Maßnahmen bewerten344
9.6?Improve: Verbesserungsmaßnahmen planen und durchführen345
9.6.1?Maxime für Verbesserungsprojekte345
9.6.2?Kategorien von Verbesserungsmaßnahmen345
9.7?Crosscutting: phasenübergreifende Praktiken349
9.8?Mehr zu aim42?350
9.9?Weiterführende Literatur350
10Microservices352
10.1?Was sind Microservices?353
10.2?Warum Microservices?353
10.3?Eigenschaften von Microservices354
10.4?Microservices und die Organisation356
10.5?Für welche Systeme eignen sich Microservices?357
10.6?Herausforderungen bei Microservices357
10.6.1?Überblick über viele Services behalten358
10.6.2?Microservices effektiv entwickeln358
10.6.3?Service Discovery359
10.6.4?UI-Integration360
10.6.5?Dezentralisierte Daten360
10.6.6?Versionierung von Microservices361
10.6.7?Laufzeitumgebungen und Infrastruktur verwalten362
10.7?Beispiele für Microservices362
10.8?Weiterführende Literatur362
11Enterprise-IT?Architektur364
11.1?Wozu Architekturebenen?365
11.2?Aufgaben von Enterprise-Architekten366
11.2.1?Management der Infrastrukturkosten366
11.2.2?Management des IS-Portfolios367
11.2.3?Definition von Referenzarchitekturen368
11.2.4?Weitere Aufgaben370
11.3?Weiterführende Literatur372
12Beispiele von Softwarearchitekturen374
12.1?Beispiel: Datenmigration im Finanzwesen375
12.2?Beispiel: Kampagnenmanagement?im?CRM392
13Werkzeuge für Softwarearchitekten422
13.1?Kategorien von Werkzeugen422
13.2?Typische Auswahlkriterien426
14iSAQB Curriculum428
14.1?Standardisierte Lehrpläne für?Softwarearchitekten429
14.1.1?Grundlagenausbildung und Zertifizierung Foundation-Level429
14.1.2?Fortgeschrittene Aus- und Weiterbildung (Advanced-Level)430
14.2?Können, Wissen und Verstehen431
14.3?Voraussetzungen und Abgrenzungen431
14.4?Struktur des iSAQB?Foundation?Level?Lehrplans432
14.5?Zertifizierung nach dem iSAQB?Lehrplan435
15Nachwort: Architektonien436
15.1?In sechs Stationen um die (IT-)Welt436
15.2?Ratschläge aus dem architektonischen Manifest439
16Literatur444
Stichwortverzeichnis448

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

Das Grundeigentum

Das Grundeigentum

Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...