Effektive Software-Architekturen - Ein praktischer Leitfaden

Effektive Software-Architekturen - Ein praktischer Leitfaden

 

 

 

von: Gernot Starke

Carl Hanser Fachbuchverlag, 2009

ISBN: 9783446421424

Sprache: Deutsch

451 Seiten, Download: 7155 KB

 
Format:  PDF, auch als Online-Lesen

geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop


Wieder verfügbar ab: 24.06.2018 06:19

eBook vormerken

Mehr zum Inhalt

Effektive Software-Architekturen - Ein praktischer Leitfaden



  Inhalt 6  
  Vorwort 14  
     Vorwort zur vierten Auflage 15  
  1 Einleitung 16  
     1.1 Software-Architekten 21  
     1.2 Effektiv, agil und pragmatisch 21  
     1.3 Wer sollte dieses Buch lesen? 24  
     1.4 Wegweiser durch das Buch 25  
     1.5 Webseite zum Buch 27  
     1.6 Weiterführende Literatur 27  
     1.7 Danksagung 28  
  2 Architektur und Architekten 30  
     2.1 Was ist Architektur? 31  
     2.2 Die Aufgaben von Software-Architekten 36  
     2.3 Wie entstehen Architekturen? 43  
     2.4 In welchem Kontext steht Architektur? 45  
     2.5 Weiterführende Literatur 49  
  3 Vorgehen bei der Architekturentwicklung 50  
     3.1 Informationen sammeln 54  
     3.2 Systemidee entwickeln 54  
     3.3 Was sind Einflussfaktoren und Randbedingungen? 61  
     3.4 Einflussfaktoren finden 65  
     3.5 Risiken identifizieren 71  
     3.6 Qualität explizit beschreiben 74  
        3.6.1 Qualitätsmerkmale von Software-Systemen 75  
        3.6.2 Szenarien konkretisieren Qualität 77  
     3.7 Lösungsstrategien entwickeln 83  
        3.7.1 Strategien gegen organisatorische Risiken 84  
        3.7.2 Strategien für hohe Performance 85  
        3.7.3 Strategien für Anpassbarkeit und Flexibilität 87  
        3.7.4 Strategien für hohe Verfügbarkeit 89  
     3.8 Weiterführende Literatur 90  
  4 Architektursichtenzur Kommunikationund Dokumentation 92  
     4.1 Architekten müssen kommunizieren und dokumentieren 93  
     4.2 Sichten 95  
        4.2.1 Sichten in der Software-Architektur 96  
        4.2.2 Vier Arten von Sichten 97  
        4.2.3 Entwurf der Sichten 100  
     4.3 Kontextabgrenzung 102  
        4.3.1 Elemente der Kontextabgrenzung 102  
        4.3.2 Notation der Kontextabgrenzung 102  
        4.3.3 Entwurf der Kontextabgrenzung 103  
     4.4 Bausteinsicht 104  
        4.4.1 Elemente der Bausteinsicht 107  
        4.4.2 Notation der Bausteinsicht 110  
        4.4.3 Entwurf der Bausteinsicht 110  
     4.5 Laufzeitsicht 111  
        4.5.1 Elemente der Laufzeitsicht 112  
        4.5.2 Notation der Laufzeitsicht 113  
        4.5.3 Entwurf der Laufzeitsicht 114  
     4.6 Verteilungssicht 114  
        4.6.1 Elemente der Verteilungssicht 115  
        4.6.2 Notation der Verteilungssicht 115  
        4.6.3 Entwurf der Verteilungssicht 116  
     4.7 Dokumentation von Schnittstellen 117  
     4.8 Datensicht 120  
     4.9 Typische Architekturdokumente 122  
        4.9.1 Zentrale Architekturbeschreibung 123  
        4.9.2 Architekturüberblick 126  
        4.9.3 Dokumentationsübersicht 126  
        4.9.4 Übersichtspräsentation der Architektur 127  
        4.9.5 Architekturtapete 127  
     4.10 Effektive Architekturdokumentation 128  
        4.10.1 Anforderungen an Architekturdokumentation 128  
        4.10.2 Regeln für gute Architekturdokumentation 130  
     4.11 Andere Ansätze zurArchitekturdokumentation 133  
        4.11.1 TOGAF 133  
        4.11.2 xADL (Extendable Architecture Description Language) 135  
     4.12 Weiterführende Literatur 135  
  5 UML 2 für Architekten 138  
     5.1 Die Diagrammarten der UML 2 140  
     5.2 Die Bausteine von Architekturen 142  
     5.3 Schnittstellen 143  
     5.4 Die Bausteinsicht 144  
     5.5 Die Verteilungssicht 147  
     5.6 Die Laufzeitsicht 149  
     5.7 Darum UML 154  
     5.8 Weiterführende Literatur 155  
  6 Strukturentwurf, Architektur- und Designmuster 156  
     6.1 Von der Idee zur Struktur 158  
        6.1.1 Komplexität beherrschen 158  
        6.1.2 Zerlegen – aber wie? 159  
        6.1.3 Fachmodelle als Basis der Entwürfe 160  
        6.1.4 Die Fachdomäne strukturieren 163  
     6.2 Architekturmuster 164  
        6.2.1 Schichten (Layer) 164  
        6.2.2 Pipes & Filter 168  
        6.2.3 Weitere Architekturmuster 170  
     6.3 Heuristiken zum Entwurf 172  
        6.3.1 Das So-einfach-wie-möglich-Prinzip 172  
        6.3.2 Entwerfen Sie nach Verantwortlichkeiten 174  
        6.3.3 Konzentrieren Sie sich auf Schnittstellen 175  
        6.3.4 Berücksichtigen Sie Fehler 175  
     6.4 Optimieren von Abhängigkeiten 176  
        6.4.1 Streben Sie nach loser Kopplung 179  
        6.4.2 Hohe Kohäsion 179  
        6.4.3 Offen für Erweiterungen, geschlossen für Änderungen 179  
        6.4.4 Abhängigkeit nur von Abstraktionen 181  
        6.4.5 Abtrennung von Schnittstellen 182  
        6.4.6 Zyklische Abhängigkeiten vermeiden 184  
        6.4.7 Liskov-Substitutionsprinzip (LSP) 185  
        6.4.8 Dependency Injection (DI) 187  
     6.5 Entwurfsmuster 188  
        6.5.1 Entwurf mit Mustern 189  
        6.5.2 Adapter 189  
        6.5.3 Beobachter (Observer) 190  
        6.5.4 Dekorierer (Decorator) 192  
        6.5.5 Stellvertreter (Proxy) 192  
        6.5.6 Fassade 193  
        6.5.7 Zustand (State) 194  
     6.6 Entwurf, Test, Qualitätssicherung 195  
     6.7 Weiterführende Literatur 196  
  7 Technische Konzepte und typische Architekturaspekte 200  
     7.1 Persistenz 204  
        7.1.1 Motivation 204  
        7.1.2 Typische Probleme 205  
        7.1.3 Architekturmuster „Persistenzschicht“ 208  
        7.1.4 Weitere Themen zu Persistenz 217  
        7.1.5 Zusammenhang mit anderen Aspekten 222  
        7.1.6 Weiterführende Literatur 224  
     7.2 Geschäftsregeln 224  
        7.2.1 Motivation 224  
        7.2.2 Funktionsweise von Regelmaschinen 228  
        7.2.3 Kriterien pro & kontra Regelmaschinen 230  
        7.2.4 Mögliche Probleme 231  
        7.2.5 Weiterführende Literatur 231  
     7.3 Integration 232  
        7.3.1 Motivation 232  
        7.3.2 Typische Probleme 233  
        7.3.3 Lösungskonzepte 235  
        7.3.4 Entwurfsmuster zur Integration 240  
        7.3.5 Konsequenzen und Risiken 242  
        7.3.6 Zusammenhang mit anderen Aspekten 244  
        7.3.7 Weiterführende Literatur 245  
     7.4 Verteilung 246  
        7.4.1 Motivation 246  
        7.4.2 Typische Probleme 246  
        7.4.3 Lösungskonzept 247  
        7.4.4 Konsequenzen und Risiken 249  
        7.4.5 Zusammenhang mit anderen Aspekten 249  
        7.4.6 Weiterführende Literatur 250  
     7.5 Kommunikation 250  
        7.5.1 Motivation 250  
        7.5.2 Entscheidungsalternativen 250  
        7.5.3 Grundbegriffe der Kommunikation 251  
        7.5.4 Weiterführende Literatur 257  
     7.6 Ablaufsteuerung grafischer Oberflächen 257  
        7.6.1 Model-View-Controller (MVC) 261  
        7.6.2 Weiterführende Literatur 267  
     7.7 Ergonomie grafischer Oberflächen 268  
        7.7.1 Arbeitsmetaphern 268  
        7.7.2 Interaktionsstile 270  
        7.7.3 Ergonomische Gestaltung 274  
        7.7.4 Heuristiken zur GUI-Gestaltung 276  
        7.7.5 Weiterführende Literatur 279  
     7.8 Internationalisierung 280  
        7.8.1 Globale Märkte erfordern neue Prozesse 281  
        7.8.2 Dimensionen der Internationalisierung 281  
        7.8.3 Lösungskonzepte 282  
        7.8.4 Weiterführende Literatur 289  
     7.9 Workflow-Management: Ablaufsteuerung im Großen 289  
        7.9.1 Zweck der Ablaufsteuerung 290  
        7.9.2 Lösungsansätze 292  
        7.9.3 Integration von Workflow-Systemen 295  
        7.9.4 Mächtigkeit von WMS 297  
        7.9.5 Weiterführende Literatur 298  
     7.10 Sicherheit 299  
        7.10.1 Motivation 299  
        7.10.2 Typische Probleme 299  
        7.10.3 Sicherheitsziele 300  
        7.10.4 Lösungskonzepte 302  
        7.10.5 Zusammenhang mit anderen Aspekten 307  
        7.10.6 Weiterführende Literatur 309  
     7.11 Protokollierung 309  
        7.11.1 Typische Probleme 310  
        7.11.2 Lösungskonzept 311  
        7.11.3 Zusammenhang mit anderen Aspekten 311  
        7.11.4 Weiterführende Literatur 312  
     7.12 Ausnahme- und Fehlerbehandlung 312  
        7.12.1 Motivation 312  
        7.12.2 Fehlerkategorien schaffen Klarheit 315  
        7.12.3 Muster zur Fehlerbehandlung 317  
        7.12.4 Mögliche Probleme 318  
        7.12.5 Zusammenhang mit anderen Aspekten 319  
        7.12.6 Weiterführende Literatur 320  
  8 Model Driven Architecture (MDA) 322  
     8.1 Architekten entwickeln Generierungs vorlagen 325  
     8.2 Modellierung 326  
     8.3 Modellbasiert entwickeln 328  
     8.4 Weiterführende Literatur 329  
  9 Bewertung von Software-Architekturen 330  
     9.1 Was Sie an Architekturen bewerten können 334  
     9.2 Vorgehen bei der Bewertung 336  
     9.3 Weiterführende Literatur 342  
  10 Service-Orientierte Architektur (SOA) 344  
     10.1 Was ist SOA? 345  
     10.2 So funktionieren Services 351  
     10.3 Was gehört (noch) zu SOA? 352  
     10.4 SOA und Software-Architektur 354  
     10.5 Weiterführende Literatur 355  
  11 Enterprise-IT-Architektur 356  
     11.1 Wozu Architekturebenen? 358  
     11.2 Aufgaben von Enterprise-Architekten 359  
        11.2.1 Management der Infrastrukturkosten 359  
        11.2.2 Management des IS-Portfolios 359  
        11.2.3 Definition von Referenzarchitekturen 361  
        11.2.4 Weitere Aufgaben 363  
     11.3 Weiterführende Literatur 365  
  12 Beispiele von Software-Architekturen 366  
     12.1 Beispiel: Datenmigration im Finanzwesen 367  
     12.2 Beispiel: Kampagnenmanagement im CRM 386  
  13 iSAQB Curriculum 418  
     13.1 Standardisierter Lehrplan für Software-Architekten 419  
     13.2 Können, Wissen und Verstehen 420  
     13.3 Voraussetzungen und Abgrenzungen 421  
     13.4 Struktur des iSAQB-Lehrplans 421  
        I. Grundbegriffe von Software-Architekturen 422  
        II. Beschreibung und Kommunikation von Software-Architekturen 423  
        III. Entwicklung von Software-Architekturen 424  
        IV. Software-Architekturen und Qualität 425  
        V. Werkzeuge für Software-Architekten 426  
        VI. Beispiele von Software-Achitekturen 427  
     13.5 Zertifizierung nach dem iSAQB-Lehrplan 427  
  14 Nachwort: Architektonien 428  
     14.1 In sechs Stationen um die (IT-)Welt 428  
     14.2 Ratschläge aus dem architektonischen Manifest 432  
  15 Literatur 438  
  Register 446  

Kategorien

Service

Info/Kontakt