Langlebige Software-Architekturen

Technische Schulden analysieren, begrenzen und abbauen

Carola Lilienthal

Cite this publication as

Carola Lilienthal, Langlebige Software-Architekturen (2024), dpunkt.verlag, Heidelberg, ISBN: 9783988901361

158
accesses

Description / Abstract



Das Standardwerk zur Softwarearchitektur



  • Schließt die Lücke zwischen Softwarearchitektur und Implementierung der Codebasis

  • Einfache und übersichtliche Strukturierung aller wichtigen Grundkonzepte im Bereich der Softwarearchitektur

  • Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen


Je nachdem, wo Sie gerade stehen, ob Sie ein neues Entwicklungsprojekt planen oder das Ausmaß an technischen Schulden in einem bestehenden System reduzieren wollen, in diesem Buch finden Sie die passenden Antworten, um zu verhindern, dass die Architektur Ihres Systems erodiert, die Komplexität zunimmt, ständig weitere technische Schulden entstehen und Wartung und Erweiterung immer aufwendiger werden.


In diesem Buch zeigt Ihnen die Autorin, worauf Sie bei der Umsetzung der Architektur achten sollten und welche Prinzipien eingehalten werden müssen, damit Sie in Ihren Softwareprojekten langlebige Architekturen entwerfen oder Ihre bestehenden Systeme durch kleine und große Refactorings in langlebige Architekturen überführen können. Es werden Muster in Softwarearchitekturen und Mustersprachen sowie verschiedene Architekturstile erläutert und aufgezeigt, welche Vorgaben letztlich zu Architekturen führen, die für Entwickler noch gut durchschaubar sind.


Mit über 200 farbigen Bildern aus real existierenden Softwaresystemen und etlichen Fallbeispielen werden schlechte und gute Lösungen verständlich und nachvollziehbar dargestellt. Empfehlungen und vielfältige Hinweise aus Praxisprojekten erlauben dem Leser einen direkten Transfer zu seiner täglichen Arbeit.


In der 4. Auflage wurde dem Thema Modularity Maturity Index (MMI) ein eigenes Kapitel gewidmet und der Text inhaltlich so erweitert, dass der gesamte Algorithmus zur Berechnung des MMI zugänglich wird. Nun kann jedes Team den MMI für sein System selbst bestimmen.


Description

Dr. Carola Lilienthal ist Geschäftsführerin der WPS – Workplace Solutions GmbH in Hamburg und verantwortet dort den Bereich Softwarearchitektur. Sie hat 1995 an der Universität Hamburg ihr Diplom in Informatik gemacht und dort zum Thema »Komplexität von Softwarearchitekturen« promoviert. Seit 2003 analysiert sie international im Auftrag ihrer Kund*innen die Architektur von Softwaresystemen und berät Entwicklungsteams, wie sie die Langlebigkeit ihrer Softwaresysteme verbessern können. Insgesamt hat sie mit ihrem Team über dreihundert Softwaresysteme zwischen 30.000 und 15 Mio. LOC in Java, C++, C#, ABAP, PHP und TypeScript untersucht. Besonders am Herzen liegt ihr die Ausbildung von Softwarearchitekt*innen und Entwickler*innen, weshalb sie aktives Mitglied im iSAQB, International Software Architecture Qualification Board, ist und ihr Wissen aus über 25 Jahren Softwareentwicklung regelmäßig auf Konferenzen, in Artikeln und bei Schulungen weitergibt.

Table of content

  • BEGINN
  • Geleitwort
  • Vorwort zur 4. Auflage
  • Vorwort zur 1. Auflage
  • Inhaltsverzeichnis
  • 1 Einleitung
  • 1.1 Softwarearchitektur
  • 1.2 Langlebigkeit
  • 1.3 Technische 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.2 Musterkonsistenz
  • 5.3 Hierarchisierung
  • 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.4 Hexagonal, Onion und Clean Architecture
  • 6.5 Microservices und Domain-Driven Design
  • 6.6 Mustersprachen
  • 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.5 Der Wunsch nach Microservices
  • 8 Mustersprachen – der architektonische Schatz!
  • 8.1 Die Schatzsuche
  • 8.2 Die Ausgrabungsarbeiten
  • 8.3 Aus der Schatztruhe
  • 8.4 Den Goldanteil bestimmen
  • 8.5 Jahresringe
  • 8.6 Unklare Muster führen zu Zyklen
  • 9 Chaos in Schichten – der tägliche Schmerz
  • 9.1 Bewertung des Durcheinanders
  • 9.2 Das große Wirrwarr
  • 9.3 Uneven Modules
  • 10 Modularität schärfen
  • 10.1 Kohäsion von Bausteinen
  • 10.2 Größen von Bausteinen
  • 10.3 Größen von Klassen
  • 10.4 Größe und Komplexität von Methoden
  • 10.5 Lose Kopplung
  • 10.6 Kopplung und Größe von Klassen
  • 10.7 Wie modular sind Sie?
  • 11 Modularity Maturity Index (MMI)
  • 11.1 Modularität im MMI
  • 11.2 Hierarchie im MMI
  • 11.3 Musterkonsistenz im MMI
  • 11.4 Berechnung des MMI
  • 11.5 Vergleich mit dem MMI
  • 12 Geschichten aus der Praxis
  • 12.1 Das Java-System Alpha
  • 12.2 Das C#-System Gamma
  • 12.3 Das C++-System Beta
  • 12.4 Das Java-System Delta
  • 12.5 Das Java-System Epsilon mit C#-Satelliten
  • 12.6 Das ABAP-System Lambda
  • 13 Fazit: der Weg zu langlebigen Architekturen
  • Anhang
  • A Analysewerkzeuge
  • Literatur
  • Index

Related titles

    More of this author(s)