Edocti Training
Enterprise Software Architecture & Design Masterclass
Geplante Sessions
Aktuell sind keine Termine verfügbar.
Fähigkeiten, die Sie lernen werden
Requirements Analysis (SRS to OOA)
Architecture Decision Records (ADRs)
Macro Modeling (C4 Model & Context/Containers)
Domain-Driven Design (Strategic & Tactical Boundary Mapping)
Detailed Design (Clean & Hexagonal Architecture)
12-Factor App & Cloud-Native Compliance
Advanced UML (Use Case, Class, Component, Sequence, Deployment)
Distributed Data Patterns (CQRS & Event Sourcing)
Fault Tolerance & Resilience Engineering
Architecture Evaluation (ATAM Lite & Governance)
Curriculum
Grundlagen der Software Architecture & Requirements Analysis
- Overview of software architectural design: High-Level-Architektur vs. Detailed Design
- Attributes of a good requirement: Lesen, Validieren und Etablieren von SMART-Kriterien in einer SRS
- Quality Attributes für ein Design: Einführung in Performance, Security, Reliability, Scalability und Maintainability
- Capstone Project Kickoff: Analyse einer komplexen Business-SRS zur Extraktion des ersten konzeptionellen Modells
- Object-Oriented Analysis (OOA): Extraktion von Core-Aktoren, Haupt-„Verben“/Aktionen und Business-Entitäten
- Lab: Modellierung von Systemgrenzen und primären Aktoren mit UML Use Case Diagrams
Architektonisches Denken, Trade-offs & Dokumentation
- Architectural Drivers: Identifikation von geschäftlichen, technischen und organisatorischen Constraints
- Architecture for quality attributes (Part 1): Performance Engineering und Security Architecture Fundamentals
- Architecture trade-off analysis: Ausbalancieren konkurrierender Quality Attributes (z. B. Security vs. Performance)
- Architecture Decision Records (ADRs): Deep Dive in Nygard-/MADR-Templates, Lifecycles und Y-Statements
- Visualisierung der Makro-Architektur: Einführung in das C4 Model (Context- und Container-Level)
- Lab: Einrichten des zentralen Architektur-Repositorys und Erstellen der ersten ADRs in Git
- Lab: Makro-Ebene-Modellierung mit C4 Level 1 (System Context) und Level 2 (Container) Diagrams
Grundlagen von Microservices & die 12-Factor App
- Core-Prinzipien von Microservices: Autonomie, Statelessness und dezentrale Datenmuster
- Architecture for quality attributes (Part 2): Design-Strategien für hohe Scalability und Elasticity
- Die 12-Factor App Methodik: Konzeptionelle Analyse für moderne Cloud-Native SaaS-Anwendungen
- Lab: Operational Readiness Assessment — Auditierung der Capstone-Anforderungen gegen 12-Factor-Prinzipien
- Lab: Entwerfen von Deployment-Topologien, die Autoscaling und elastische Compute-Nodes unterstützen
Domain-Driven Design (DDD) als Microservice-Grenze
- Strategic DDD: Ubiquitous Language, Bounded Contexts und das Mapping von Team-Autonomie
- Dekonstruktion komplexer Business-Domains in entkoppelte Microservice-Grenzen
- Tactical DDD Foundations: Aggregates als State Machines, Entities, Value Objects, Domain Events und Repositories
- Lab: Anwendung von Domain-Analysen (leichtgewichtiges Event Storming oder Domain Storytelling) auf die Capstone-SRS
- Lab: Definition der Microservice-Grenzen des Systems und Modellierung von Root Aggregates / Repositories
Detailed Design: Taktische Architektur (Clean & Hexagonal)
- Architecture for quality attributes (Part 3): Entwerfen entkoppelter Systeme für hohe Maintainability & Evolvability
- Design-Pattern Clean Architecture vs. Hexagonal Architecture (Ports & Adapters)
- The Dependency Rule: Schutz des Domain Core vor Datenbanken und Web-Frameworks
- Die Synergie: Mapping von Hexagonal Ports auf Network Bindings und Adapters auf 12-Factor Backing Services
- Lab: Erstellen eines Application Skeletons und Entwerfen interner Paket-/Ordnerstrukturen für einen Kern-Microservice
- Lab: Detailliertes Low-Level-Design mit UML Class Diagrams (inkl. DDD-Stereotypen) und UML Component Diagrams für Ports/Adapters
- Lab: Etablieren von Traceability durch Verknüpfen detaillierter UML-Elemente mit spezifischen ADR-Dateien in Git
Fortgeschrittene verteilte Systeme & Datenmanagement
- Das CAP-Theorem, PACELC und Datenkonsistenzmodelle (Strong vs. Eventual Consistency)
- Architecture for quality attributes (Part 4): Gewährleistung von hoher Reliability & Fault Tolerance in verteilten Umgebungen
- Resilience-Muster: Deep Dive in Circuit Breakers, Retries, Timeouts und Bulkheads
- Fortgeschrittene Datenmuster: CQRS (Command Query Responsibility Segregation) und Event Sourcing
- Lab: Low-Level Dynamic Design mittels UML Sequence Diagrams und UML Communication Diagrams für Event-Broker-Flows
- Lab: Physische Modellierung mit UML Deployment Diagrams (Anzeige von Containern, API Gateways und verteilten Datenbanken)
- Lab: Erstellen von ADRs für verteilte Datenkonsistenz und Resilience-Strategien
Architekturbewertung, Governance & Capstone Defense
- Methoden zur Architekturbewertung: Nutzung von ATAM (Architecture Tradeoff Analysis Method) Lite
- Identifikation struktureller Schwachstellen: Technical Debt, Architectural Smells und Anti-Patterns
- Continuous Architecture: Automatisierung struktureller Governance durch automatisierte Fitness Functions
- Lab: Peer ATAM Cross-Evaluation — Austausch von UML-Modellen und ADR-Repositorys für tiefgehende Security- und Qualitätsaudits
- Lab: Simulation evolutionärer Architektur — Anpassung der Architektur an plötzliche, disruptive Business-Shifts mittels Superseded ADRs
- Lab: Capstone Finale — Präsentation und Verteidigung (Defense) des finalen architektonischen und detaillierten Designs vor einem Architecture Review Board
Optionale Module
Optional — Migration von Legacy-Monolithen zu Event-Driven Architectures
- Das Strangler-Fig-Pattern für die schrittweise Migration von Datenbank und Code
- Change Data Capture (CDC) mit Debezium und Kafka als Übergangsstrategie
Kursablauf
- Part 1: 09:00–10:30
- Pause: 10:30–10:45
- Part 2: 10:45–12:15
- Mittagspause: 12:15–13:15
- Part 3: 13:15–15:15
- Pause: 15:15–15:30
- Part 4: 15:30–17:30