Langlebige Software-Architekturen Technische Schulden Analysieren, Begrenzen und Abbauen
Softwaresysteme und IT-Landschaften bestehen aus einer Vielzahl an Elementen und Beziehungen, die in ihrer Gesamtheit eine äußerst komplexe Struktur bilden. Darüber hinaus ist es im Lebenszyklus von Softwaresystemen unvermeidlich, dass die Architektur mit der Zeit degeneriert und Architekturerosio...
Autor principal: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Alemán |
Publicado: |
Heidelberg :
dpunkt.verlag
2024.
|
Edición: | 4th ed |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009835411406719 |
Tabla de Contenidos:
- Langlebige Softwarearchitekturen
- Geleitwort
- Eigentlich ...
- Dennoch ...
- Endlich ...
- Prima ...
- Die Dritte ...
- Die Vierte ...
- Vorwort zur 4. Auflage
- Vorwort zur 1. Auflage
- Inhaltsverzeichnis
- 1 Einleitung
- 1.1 Softwarearchitektur
- 1.2 Langlebigkeit
- 1.3 Technische Schulden
- 1.3.1 »Programmieren kann jeder!«
- 1.3.2 Komplexität und Größe
- 1.3.3 Die Architekturerosion steigt unbemerkt
- 1.3.4 Für Qualität bezahlen wir nicht extra!
- 1.3.5 Arten von technischen Schulden
- 1.4 Was ich mir alles anschauen durfte
- 1.5 Wer sollte dieses Buch lesen?
- 1.6 Wegweiser durch das Buch
- 2 Aufspüren von technischen Schulden
- 2.1 Begriffsbildung für Bausteine
- 2.2 Soll- und Ist-Architektur
- 2.3 Verbesserung am lebenden System
- 2.4 False Positives und generierter Code
- 2.5 Spickzettel zum Sotographen
- 3 Architektur in Programmiersprachen
- 3.1 Java-Systeme
- 3.2 C#-Systeme
- 3.3 C++-Systeme
- 3.4 ABAP-Systeme
- 3.5 PHP-Systeme
- 3.6 TypeScript -Systeme
- 4 Architekturanalyse und -verbesserung
- 4.1 Entwickler und Architektur
- 4.2 Architekturarbeit ist eine Holschuld
- 4.3 Live-Workshop zur Architekturverbesserung
- 4.4 Der Umgang mit den Vätern und Müttern
- 4.5 Technische Schulden im Lebenszyklus
- 5 Kognitive Psychologie und Architekturprinzipien
- 5.1 Modularität
- 5.1.1 Chunking
- 5.1.2 Übertragung auf Entwurfsprinzipien
- 5.1.2.1 Einheiten
- 5.1.2.2 Schnittstellen
- 5.1.2.3 Kopplung
- 5.2 Musterkonsistenz
- 5.2.1 Aufbau von Schemata
- 5.2.2 Übertragung auf Entwurfsprinzipien
- 5.3 Hierarchisierung
- 5.3.1 Bildung von Hierarchien
- 5.3.2 Übertragung auf Entwurfsprinzipien
- 5.4 Zyklen = misslungene Modularität + Muster
- 5.5 Konsequenzen für die Architekturanalyse
- 6 Architekturstile gegen technische Schulden
- 6.1 Regeln von Architekturstilen
- 6.2 Trennung von fachlichen und technischen Bausteinen
- 6.3 Schichtenarchitekturen
- 6.3.1 Technische Schichtung
- 6.3.2 Fachliche Schichtung
- 6.3.3 Infrastrukturschicht
- 6.3.4 Integration von fachlichen Schichten
- 6.4 Hexagonal, Onion und Clean Architecture
- 6.5 Microservices und Domain-Driven Design
- 6.6 Mustersprachen
- 6.6.1 WAM-Mustersprache
- 6.6.2 DDD-Mustersprache
- 6.6.3 Typische Framework-Muster
- 6.7 Langlebigkeit und Architekturstile
- 7 Muster in Softwarearchitekturen
- 7.1 Abbildung der Soll-Architektur auf die Ist-Architektur
- 7.2 Die ideale Struktur: fachlich oder technisch?
- 7.3 Schnittstellen von Bausteinen
- 7.4 Interfaces
- das architektonische Allheilmittel?
- 7.4.1 Die Basistherapie
- 7.4.2 Die Nebenwirkungen
- 7.4.3 Feldstudien am lebenden Patienten
- 7.4.4 Der Kampf mit dem Monolithen
- 7.5 Der Wunsch nach Microservices
- 7.5.1 Früh übt sich
- 7.5.2 Der Knackpunkt: das Domänenmodell
- 8 Mustersprachen
- der architektonische Schatz!
- 8.1 Die Schatzsuche
- 8.2 Die Ausgrabungsarbeiten
- 8.3 Aus der Schatztruhe