Bei komplexen Softwareentwicklungen kommt oft nicht das heraus, was gewünscht war, bedingt durch Kommunikationsprobleme zwischen Fachleuten und Technikern. Wie wäre es, wenn Fachseite und Entwickler miteinander in derselben Sprache sprächen, um zu merken, ob sie dasselbe meinen?

Was Domain Driven Design bewirkt

Domain-Driven Design (DDD) gibt Ihnen diese Sprache in die Hand: Fachexperten und Entwickler modellieren dabei gemeinsam in Fachsprache – mit vordefinierten Bausteintypen und Mustern. So wird wirklich klar, wie die zukünftige Lösung aussehen soll. Das vereinfacht die Kommunikation und macht das Ergebnis eindeutig.

Was Sie im Workshop erwartet

In diesem Advanced-Level-Modul lernen Sie, wie Sie eine Domäne übersichtlich aufteilen, Fachsprachen dazu entwickeln, und die DDD-Muster einsetzen, um eine an der Domäne orientierte Anwendung zu entwerfen.

Gemeinsam üben wir an einer Beispiel-Anwendung die einzelnen Schritte hin zu einer anwendungsorientierten und qualitativ hochwertigen Architektur. Sie werden erleben, wie einfach ein Entwurf sein kann, wenn man sich auf die Fachdomäne und die architektonischen Leitplanken von Domain-Driven Design einlässt!

Durch diesen Kurs bekommen Sie nicht nur ein solides Verständnis der DDD-Konzepte, sondern (was ebenso wichtig ist) das Selbstvertrauen, das Sie brauchen, um dieses Wissen im Entwicklungsalltag wirklich anzuwenden.

Zertifizierung

Akkreditiertes Training als Vorbereitung für den iSAQB Certified Professional for Software Architecture, Advanced Level (CPSA-A®️)

Das Seminar deckt DDD, einen Baustein für die Bereiche „Methodische Kompetenz“ und „Kommunikative Kompetenz“ des CPSA-Advanced Curriculums ab und ist entsprechend beim iSAQB®️ akkreditiert. Wenn Sie die Zertifizierung zum CPSA-A anstreben, können Sie sich mit der Teilnahme 10 Credit Points methodisch und 20 Credit Points kommunikativ anrechnen lassen.

Zielgruppe

Zielgruppe sind Softwarearchitekten und Entwickler, die Systeme entwerfen und/oder weiterentwickeln. Sie sollten Erfahrungen in IT-Projekten oder in der Produktentwicklung gesammelt haben; Kenntnisse in einer bestimmten Technologie oder Programmiersprache sind zum Verständnis und zum Mitarbeiten nicht erforderlich. UML-Kenntnisse sind hilfreich, aber nicht zwingend erforderlich.

Experiment: Event Storming-Workshop mit 60 Teilnehmern auf dem Software Architecture Summit in Berlin

Inhalt

Domäne, Modell und Ubiquitous Language
Domäne, Domänenmodell, Ubiquitous Language, Module, Entity, Value Object, Aggregate, Service, Factory, Repository, Domain Event

Knowledge Crunching: Der Weg zum Modell
Agile und evolutionäre Modellbildung, Empowerment der Domänenexperten, Kollaborationsformen zur Modellerhebung, Werkzeuge zur Modellerhebung

Vom Modell zur Implementierung
Fachliche Klassen und technisch motivierte Bausteine, Zusammenhang zwischen Modell und Code, Sprache und Codequalität

Das Modell in der Anwendungsarchitektur
Hexagonal Architecture, Command-Query Responsibility Segregation, Layered Architecture, Dependency Injection, Behaviour Driven Development

Strategic Design 1: Modelle schneiden und voneinander abgrenzen
Subdomain, Bounded Context, Core vs supporting vs generic subdomains, Context Map

Strategic Design 2: Context Mapping
Customer/Supplier, Open Host Service, Shared Kernel, Domain Event als Kommunikationsmittel, Anticorruption-Layer, Separate Ways

Voraussetzungen

Sie sollten Erfahrungen in IT-Projekten oder in der Produktentwicklung gesammelt haben; Kenntnisse in einer bestimmten Technologie oder Programmiersprache sind zum Verständnis und zum Mitarbeiten nicht erforderlich. UML-Kenntnisse sind hilfreich, aber nicht zwingend erforderlich.

Durchführungshinweise

Trainer: Matthias Bohlen

Über eine ausgewogene Mischung von Vortrag und praktischen Übungen lernen Sie mit meiner Anleitung in der Gruppe, wie Sie Fachleute und Entwickler zusammenbringen und ein Domänenmodell Ihrer Anwendung erstellen, in klarer, einfacher, präziser und gemeinsam verabredeter Sprache. Die maximale Teilnehmerzahl ist 12.

Online/Remote-Variante

Seit CoViD-19 aktiv ist, gebe ich die DDD-Trainings auch online, mit Zoom (oder notfalls auch Microsoft Teams) als Videoplattform sowie Miro als Online-Whiteboard. Ein voll eingerichtetes Videostudio mit professioneller Sende-Hardware habe ich dafür aufgebaut.

Hier ein paar Ergebnisse aus den Online-DDD-Trainings:

Ein Überblicksmodell mit eingezeichnenten Bounded Contexts
Ein Prozessmodell eines einzelnen Bounded Contexts
Ein Software-Design-Modell für ein einzelnes Aggregate

Anmeldung

Sie können das DDD-Training auf diesen Partner-Sites buchen:

Auch "in-house" ist das Training buchbar. Sprechen Sie mich in dem Fall direkt telefonisch unter +49 (170) 772 8545 oder per E-Mail unter mbohlen@mbohlen.de an.

Option: Consulting zur Einführung von DDD in Ihrem Unternehmen

Passend zu den Inhalten der Schulung habe ich ein Online-Consultingprogramm aufgelegt. Mit diesem wird es für Sie und Ihre Teams leicht, die ersten Schritte mit DDD im eigenen Unternehmen zu machen.

Das Programm finden Sie hier:

Domain-Driven Design - Consulting | Matthias Bohlen
Für mehr Erfolg in der Software-Entwicklung. Persönliches Consulting mit dem DDD-Experten Matthias Bohlen