DDD praxisorientiertes Vertiefungsseminar (4 Tage)
Das Domain-Modell als Dreh- und Angelpunkt Ihrer Softwareentwicklung.
Das Aufspüren und Verwerten von Domain-Modellen ist in großen Softwaresystemen ein wichtiger Schlüssel zum Erfolg. Indem man durch die Kultivierung einer gemeinsamen Sprache eine enge Verbindung zwischen Domain-Experten, Benutzern und Entwicklern schafft, ermöglicht man die Entwicklung passender Modelle. Mit deren Hilfe lassen sich die Bedürfnisse des Kunden ungemein schneller in arbeitsfähige Software umsetzen. Eine konsequent betriebene Domain-Modellierung gepaart mit der Anwendung von Best Practices beim Programmieren, wie das Benutzen von Design-Patterns, Refactoring und testgetriebene Entwicklung, liefert einen auf grundlegenden Prinzipien basierenden und dennoch praktikablen Ansatz für die Entwicklung großer Softwaresysteme.
Dieses Intensivseminar wird den Teilnehmern dabei helfen, ein gesundes Mittelmaß bezüglich der Auseinandersetzung mit dem jeweiligen Kundengebiet einerseits und den technologischen Aspekten andererseits zu finden. Obgleich die intensive Beschäftigung mit letzteren notwendig ist, dürfen sie den Entwicklungsprozess nicht dominieren, wenn das Softwareprodukt wirtschaftlich rentabel sein soll.
Das Seminar beinhaltet Vorträge, Diskussionen und Übungseinheiten, zu denen auch Programmieraufgaben zählen. In den Diskussionsrunden haben die Teilnehmer Gelegenheit, ihre eigenen Erfahrungen zu thematisieren und die im Seminar aufgezeigten Prinzipien und Techniken zu ihrer eigenen Arbeit in Beziehung zu setzen.
Voraussetzungen
Grundkenntnisse in Objekt-Modellierung und -Design.
Wir empfehlen diesen Kurs auch ausdrücklich für
nichttechnische Manager und Analysten. Eine gemischte Gruppe
ist ideal. Für die Programmierübungen muss nur
die Hälfte der Teilnehmer auf der Zielplattform (Java oder C#)
programmieren können.
Hinweis: Dieses Seminar wird in zwei Varianten angeboten: für Java/J2EE und für C#/.Net.
Zielgruppe
Software-Entwickler, Analysten, Technische und nicht-technische Projektleiter.
Von Vorteil
Erfahrung mit mittleren bis großen Softwareprojekten in Multi-Team-Umgebungen. Vertrautheit mit Frameworks für größere Software-Projekte, wie J2EE und .Net.
Kursablauf
Tag 1
Morgen: Modell-Erforschung und Ubiquitous Language
- Domain-Driven Design Überblick
- Implizite Konzepte explizit werden lassen
- Ubiquitous Language
Nachmittag: Auf die Plätze, fertig, Code!
- Brainstorming: Modelle finden
- Modelle in Software fassen
- Bausteinmuster (Entities, Value Objects, Repositories etc.)
- Test-Driven Development als Modellierungsprozess
Tag 2
Morgen: Modellieren mit Domain-Experten
- Techniken und Fallstricke bei der Etablierung einer kreativen Zusammenarbeit
- Modeling out loud
Nachmittag: Flexibles Design
- Patterns und Techniken, mit denen sich Modelle und ihre enge Verbindung mit dem Code festigen lassen
- Code transparenter, einfacher für den Gebrauch und offener für Veränderungen gestalten
- Modellieren für transaktionale Integrität und verteilte Systeme
Tag 3: Strategic Design
Morgen: Context Mapping
- Ein pragmatischer Ansatz zum Umgang mit unterschiedlichen Modellen und Designs in realen Projekten
- Beziehungen zwischen Subsytemen / Beziehungen zwischen Teams
Nachmittag: Destillieren der Core Domain
- Die Spreu vom Weizen trennen
- Wege zur Straffung und Optimierung des Arbeitsaufwands
- Das Herausarbeiten einer gemeinsamen Vision
- Erfolgreiches Set Up für Ihr Projekt
Tag 4: Die Fäden zusammenführen
Morgen und Nachmittag
- Flexibles Design mit Context Maps modellieren
- Diskussionsrunde: SOA und Enterprise Frameworks mit DDD
- Fragen und Antworten, eingehende Diskussion, die Seminarthemen werden miteinander und zu den eigenen Projekten der Teilnehmer in Beziehung gesetzt.

