Softwarearchitektur – Grundlagen und Praxis
Tragfähige Strukturen für veränderbare Softwaresysteme entwickeln
01 Intro
Softwarearchitektur bestimmt wesentliche Strukturen und Abhängigkeiten
eines Systems und beeinflusst damit Eigenschaften wie Wartbarkeit,
Skalierbarkeit, Testbarkeit und Betriebsfähigkeit. Architektur entsteht
dabei nicht nur in Diagrammen, sondern manifestiert sich letztlich im Code.
Der Kurs vermittelt grundlegende Architekturprinzipien und deren praktische
Anwendung. Die Teilnehmer analysieren Anforderungen und Qualitätsziele,
entwickeln Systemstrukturen, bewerten Alternativen und dokumentieren
wesentliche Architekturentscheidungen.
Kurs-ID
SWE-004
Dauer
3 Tage
Format
Präsenz · Live Online · Inhouse
Vorkenntnisse
Praktische Erfahrung in der Softwareentwicklung
02 Trainingsprogramm
Inhalte
Was ist Softwarearchitektur?
- Architekturbegriff
- Struktur
- Komponenten
- Beziehungen
- Entscheidungen
- Architektur versus Design
Anforderungen und Qualitätsziele
- funktionale Anforderungen
- Qualitätsanforderungen
- Wartbarkeit
- Performance
- Skalierbarkeit
- Trade-offs
Zerlegung von Systemen
- Verantwortlichkeiten
- Kohäsion
- Kopplung
- Module
- Komponenten
- Information Hiding
Architekturstile
- Layered Architecture
- Modular Monolith
- Hexagonal Architecture
- Ports and Adapters
- Microservices
- Auswahlkriterien
Abhängigkeiten gestalten
- Dependency Inversion
- Dependency Direction
- Schnittstellen
- Adapter
- externe Systeme
- Testbarkeit
Daten und Persistenz
- Datenhoheit
- Datenbanken
- Repository
- Transaktionen
- Konsistenz
- Kopplung durch Daten
Verteilte Systeme einordnen
- Netzwerkgrenzen
- Latenz
- Fehler
- Synchronität
- Asynchronität
- Distributed Monolith
Architektur und Testbarkeit
- Komponenten testen
- Schnittstellen
- Test Doubles
- Integrationstests
- Observability
- Testbarkeit als Qualitätsziel
Architekturentscheidungen
- Alternativen
- Trade-offs
- Risiken
- Architecture Decision Records
- Annahmen
- Entscheidungen revidieren
Architektur dokumentieren
- unterschiedliche Sichten
- Kontext
- Container
- Komponenten
- C4-Modell
- Dokumentation aktuell halten
Architektur bewerten
- Szenarien
- Qualitätsziele
- Risiken
- Reviews
- technische Schulden
- evolutionäre Architektur
Architektur-Workshop
- Anforderungen analysieren
- Qualitätsziele priorisieren
- System zerlegen
- Alternativen entwickeln
- Entscheidungen treffen
- Trade-offs diskutieren
03 Durchführung
Rahmen und Organisation
Dauer
3 Tage
Durchführung
Präsenz oder Live Online, vorzugsweise als Inhouse-Schulung
Schwerpunkt
Inhouse-Schulungen für Unternehmen und Teams
Sprache
Deutsch, englische Fachbegriffe und Dokumentation
Unterlagen
Kursunterlagen, Beispiele und Übungsaufgaben
Technik
Eigener Rechner für die praktischen Übungen
Inhouse-Schulungen
Ein eigenes System oder Vorhaben kann als Grundlage für den
Architektur-Workshop dienen.
04 Zielgruppe
Für wen ist der Kurs gedacht?
Erfahrene Entwickler, angehende Softwarearchitekten, technische Leads und
Quality Engineers.
Voraussetzungen
Praktische Erfahrung in Softwareentwicklung und grundlegendes Verständnis
moderner Softwaresysteme.
05 Lernziele
Was Sie nach dem Kurs können
Die Teilnehmer können Anforderungen in Architekturentscheidungen
übersetzen, Systemgrenzen und Abhängigkeiten gestalten, Alternativen anhand
von Qualitätszielen bewerten und Architektur nachvollziehbar dokumentieren.
06 FAQ
Häufige Fragen
Geht es hauptsächlich um Microservices?
Nein. Microservices sind lediglich eine mögliche Architekturform und werden gegen einfachere Alternativen abgewogen.
Muss Architektur vor der Entwicklung vollständig feststehen?
Nein. Architektur kann und sollte sich kontrolliert weiterentwickeln. Wesentliche Entscheidungen und Risiken müssen dennoch bewusst behandelt werden.
Werden Architekturdiagramme erstellt?
Ja. Diagramme dienen dabei als Kommunikationsmittel und nicht als Selbstzweck.