Edocti
Fortgeschrittene technische Ausbildung für den modernen Softwareingenieur
Edocti Training

Softwarearchitektur und -design — von den Anforderungen zum Anwendungsskelett

Fortgeschritten
21 h
4.8 (82 Bewertungen)
Softwarearchitektur und -design — von den Anforderungen zum Anwendungsskelett

Grundlagen der Softwarearchitektur: Skalierbare, wartbare und robuste Softwaresysteme entwerfen.

Hands‑on mit Architekturstilen, Designprinzipien und UML‑Diagrammen.

Domain‑Driven Design und Schichtenarchitekturen anwenden.

Praktische Erfahrung sammeln durch ~70% Labs mit Modellierung und Codierung.

Nutzen: Klarheit, Wartbarkeit und Skalierbarkeit von Projekten verbessern.

Für wen: gedacht für Entwickler/innen, die ihre Architekturskills erweitern möchten.

Mit optionalem Teil zu Microservices und Cloud‑nativen Architekturen.

Curriculum

Tag 1 — Anforderungen und Systemkontext
  • Kickoff, Ziele und Scope; Stakeholder und Constraints
  • Elicitation von Software Requirements (funktional & nicht-funktional) für ein Connected-Cars/IoT-Beispiel
  • Traceability: Verknüpfung von Anforderungen mit Use Cases und Quality Attributes (Performance, Safety, Security, Portability)
  • Systemkontext & Grenzen; Hauptakteure und externe Systeme
  • UML Use Case Diagrams in Enterprise Architect; gute Use-Case-Narratives schreiben
  • Leichtgewichtiges Risikotrade-off (ATAM-lite) und frühe Spikes/Prototypen
Tag 1 — Von Anforderungen zu Architektur-Views
  • Views und Notation wählen (C4/UML): Context, Container/Component, Deployment
  • Entscheidungen mit Architecture Decision Records (ADR) dokumentieren
  • Quality-Attribute-Taktiken (Availability, Performance, Modifiability) und deren Abbildung auf Designentscheidungen
Tag 2 — Strukturelle Modellierung
  • Component Diagrams: Verantwortlichkeiten und Schnittstellen; Mapping auf Teams
  • Deployment Diagrams: Ziel-HW/OS, Prozesse und Netzwerke; Randbedingungen für Embedded/Automotive
  • Klassenanalyse: Kernklassen, Aggregate und Grenzen (DDD-lite Perspektiven)
  • UML Class Diagrams: Beziehungen, Multiplizitäten, Pakete, Layering und Abhängigkeitsregeln
  • Designprinzipien: SOLID und Kopplungs/Kohäsions-Heuristiken; Refactoring zu klaren Grenzen
Tag 2 — Verhaltensmodellierung
  • Sequence Diagrams für Schlüsselszenarien; Timing-Notizen und Lifelines
  • State Machine & Activity Diagrams für kritische Logik und Workflows
  • Objektmodellierung für konkrete Szenarien (Object & Sequence Diagrams); Walk-throughs
Tag 3 — Von Modellen zum Code (Forward Engineering)
  • Modelle mit der Implementierungsstrategie ausrichten; Namespaces/Packages und Modulstruktur
  • Minimales Anwendungsskelett aus Enterprise Architect generieren und Basiskomponenten verdrahten
  • Build, Logging und Configuration integrieren; Stubs und Test Seams
  • Traceability etablieren: Klassen/Tests mit Requirements und ADRs verknüpfen
Tag 3 — Reverse Engineering und Review
  • Fremdcode reengineeren, um Architektur zu rekonstruieren; Code auf Diagramme mappen
  • Architektur-Peer-Review: Checklisten und Risk Burndown; Architecture Notebook pflegen
  • Nächste Schritte: Governance, Versionierung der Modelle, lebende Dokumentation
Capstone — Offene Diskussion & Q&A
  • Architektur ausgewählter Open-Source-Projekte (Top-Level Überblick)
  • Kurzer Fokus auf 3–4 GoF Patterns zur Unterstützung des Designs (z. B. Builder, Abstract Factory, Decorator, Visitor)
  • Wrap-up: individueller Verbesserungsplan

Optionale Module

Optional — Automotive-Akzente
  • Safety & Security Touchpoints (ISO 26262/21434 Awareness) im Architekturprozess
  • Performance-Budgets und Scheduling-Constraints für Embedded-Ziele
  • Lieferantenintegration und Schnittstellenverträge

Kursablauf

  • Part 1: 09:00–10:30
  • Break: 10:30–10:45
  • Part 2: 10:45–12:15
  • Lunch break: 12:15–13:15
  • Part 3: 13:15–15:15
  • Break: 15:15–15:30
  • Part 4: 15:30–17:30