SlideShare ist ein Scribd-Unternehmen logo
1 von 51
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
IT’S ALL ABOUT THE DOMAIN, HONEY -
Erfahrungen aus 10 Jahren Domain Driven Design
Dr. Carola Lilienthal, cl@wps.de, @cairolali
www.wps.de
30.03.2017 //// Seite 3WPS - Workplace Solutions GmbH
Software-
Architektur
Anforderungs-
ermittlung
Leitstand und
Interaktion
Individual-
software
Business-Software,
die Spaß macht!
WPS – Workplace Solutions GmbH
30.03.2017 //// Seite 5WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40 229 499-0
+49 40 229 499-299
+49 170 184 77 11
Diplom-Informatikerin
@cairolali
a @cairolali
cl@wps.de
www.llsa.de
Schulung Domain-Driven Design
Modul für Advanced Level
wps.de/ddd
30.03.2017 //// Seite 7WPS - Workplace Solutions GmbH
WIR SIND PROGRAMMIERER...
30.03.2017 //// Seite 8WPS - Workplace Solutions GmbH
... UND WIR LIEBEN TECHNIK
30.03.2017 //// Seite 9WPS - Workplace Solutions GmbH
SOFTWARE != SELBSTZWECK
Software ist ein Mittel zum Zweck
Kein Selbstzweck
Das Ziel ist das Ziel
30.03.2017 //// Seite 10WPS - Workplace Solutions GmbH
SOFTWARE UND DOMÄNE
Schreibe Software, die tief
in der Domäne verwurzelt
ist!
Software
Domäne
30.03.2017 //// Seite 11WPS - Workplace Solutions GmbH
DOMAIN DRIVEN DESIGN ANWENDEN
 Zu Beginn eines Softwareprojekts:
 Fokussiere die Domäne in der die Software eingesetzt wird
 Wie erschafft man Software, die zu einer Domäne passt?
 Begreife Software als Reflektion
der Domäne
 Lasse Kernkonzepte und
Elemente der Domäne
in die Software einfließen
 Realisiere ihre
Zusammenhänge
 Erstelle ein Domänenmodell
30.03.2017 //// Seite 12WPS - Workplace Solutions GmbH
TECHNISCHE SPRACHE
X
Class
Database
Server
Client
O/R-Mapping
Inheritance
A
B
Method
Interface
Linux
Windows
Eclipse
Visual Studio
30.03.2017 //// Seite 13WPS - Workplace Solutions GmbH
DOMÄNEN-SPRACHE
Container
Containernummer
4300
Kran
Twistlock
Konnossement
Beispiel: Hafen
30.03.2017 //// Seite 14WPS - Workplace Solutions GmbH
Fach-
sprache
Techno
Babble
?
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 15WPS - Workplace Solutions GmbH
Fach-
sprache
Techno
Babble
Fach-
sprache
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 16WPS - Workplace Solutions GmbH
Fach-
sprache
Techno
Babble
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 17WPS - Workplace Solutions GmbH
Techno
Babble
Fach-
sprache
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 18WPS - Workplace Solutions GmbH
Fach-
sprache
{
Techno
Babble
}
?
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 19WPS - Workplace Solutions GmbH
Fach-
sprache
{
Fach-
sprache
}
UBIQUITOUS LANGUAGE
30.03.2017 //// Seite 20WPS - Workplace Solutions GmbH
UBIQUITOUS LANGUAGE
 Verwende die gemeinsame Sprache in..
 der Kommunikation
 mündlich
 schriftlich
 grafisch
 im Code
 Im Grunde genommen überall
 Deswegen nennt sich die Fachsprache allgegenwärtig.
30.03.2017 //// Seite 21WPS - Workplace Solutions GmbH
SPRACHE TAUCHT NICHT EINFACH AUF
 Es braucht Wochen bis Monate...
 harter Arbeit
 und scharfem Fokus
 … um die Schlüsselkonzepte offenzulegen.
 Die ersten Wörter einer allgemeinen Fachsprache kommen
üblicherweise direkt aus der Domäne
 Im Laufe der Entwicklung werden neue Begriffe definiert
und hinzugefügt
30.03.2017 //// Seite 22WPS - Workplace Solutions GmbH
DOMÄNEN-SPRACHE
Brett
König
Figuren
Spieler
Schachuhr
30.03.2017 //// Seite 23WPS - Workplace Solutions GmbH
ALLGEGENWÄRTIGE FACHSPRACHE
Brett
Figuren
Spieler
Nichtmenschlicher
Spieler
30.03.2017 //// Seite 24WPS - Workplace Solutions GmbH
SPRACHEN SIND LEBENDIG
 Experimentiere mit alternativen Ausdrucksformen
 Das Modell und die Sprache entwickeln sich weiter
 Überarbeite dann den Code
 Benenne Klassen, Methoden, Module
 Entspreche dem neuen Modell
 Eine Sprache will gesprochen werden:
 Beseitige Unklarheiten durch Konversation
30.03.2017 //// Seite 25WPS - Workplace Solutions GmbH
30.03.2017 //// Seite 26WPS - Workplace Solutions GmbH
GLOSSAR
 Fachsprache der Benutzer/Ubiquitous Language
• bereits existierende Begriffe
• rekonstruierte Begriffe
• neue Begriffsbildungen
•Wer tut was damit wozu?
 Kernkonzepte
 Wichtiger am Anfang des Projektes
 Oft Wegwerfprodukt
30.03.2017 //// Seite 27WPS - Workplace Solutions GmbH
WIE LERNEN WIR DIE FACHLICHKEIT?
 Durch die Fachexperten (domain experts)
 Sie haben das Wissen
 Worum es bei ihrer Arbeit geht
 Wo die Software sie unterstützen kann
 Auch wenn sie das Wissen nicht selbständig aufschreiben bzw. abstrahieren
können
 Wer die Fachlichkeit nicht
versteht, kann ihr nicht
helfen
 Softwareentwickler und
Fachexperten bilden
zusammen das Team
30.03.2017 //// Seite 28WPS - Workplace Solutions GmbH
WIE KOMMEN WIR AN DAS WISSEN DER FACHEXPERTEN?
Welche Techniken gibt es?
 Interviews
 Use Cases + Szenarien
 Workshops
 Event Storming
 Domain Storytelling
Das wollen wir
extrahieren!
Fach-
wissen
30.03.2017 //// Seite 29WPS - Workplace Solutions GmbH
WORKSHOPS MIT ANWENDERN UND PRODUCT OWNERN
“Georgia?” by The Library of Congress, flickr.com
• Teilnehmer aus verschiedenen Bereichen (Business, IT, Management, …)
• ein Moderator für den Workshop
 direktes Feedback von allen Beteiligten
30.03.2017 //// Seite 30WPS - Workplace Solutions GmbH
EVENT STORMING
 Eine Methode um Geschäftsprozesse zu modellieren
Modelliert werden:
Domain Events
Commands
Acteure
Aggregate
30.03.2017 //// Seite 31WPS - Workplace Solutions GmbH
DOMAIN STORYTELLING
www.domainstorytelling.org
Modelliert werden:
Akteure
Gegenstände
Handlungen
30.03.2017 //// Seite 32WPS - Workplace Solutions GmbH
30.03.2017 //// Seite 33WPS - Workplace Solutions GmbH
TAKTISCHES UND STRATEGISCHES MODELLIEREN
 DDD gibt Anleitung für Modellierung im Großen und im Kleinen
 Strategisches Modellieren
 Teile die Domäne in getrennte Bounded Contexts auf
 Jeder BC hat sein eigenes Fachmodell und seine eigene Allgegenwärtige
Sprache
 Context Mapping hilft die Beziehungen zwischen Bounded Contexts zu
verstehen
 Taktisches Modellieren
 Innerhalb eines Bounded Context
 Building Blocks: Entity, Value Object,
Aggregate, Service, Repository, Factory
30.03.2017 //// Seite 34WPS - Workplace Solutions GmbH
GROSSE PROJEKTE
 Erfordern mehrere Teams
 Entwicklung findet parallel statt
 Jedes Team korrespondiert mit einem Teil des Modells
 Ein großes Modell?
30.03.2017 //// Seite 35WPS - Workplace Solutions GmbH
DAS GROSSE VEREINHEITLICHTE MODELL
 Umfasst die vollständige Domäne eines Unternehmens
 Ein schwer erreichbares Ideal
 Oft nicht lohnenswert anzuvisieren
Hoher Koordinationsaufwand in Teams
Führt oft zu einem big ball of mud
30.03.2017 //// Seite 36WPS - Workplace Solutions GmbH
KONTEXTGRENZEN (BOUNDED CONTEXT)
 Jedes Modell hat einen Kontext
 Kontext = Grundsätzliche Voraussetzungen, damit Begriffe eine bestimmte
Bedeutung erhalten
 Wird ein Modell aufgespalten, so ist für jedes Teilmodell eine Kontextdefinition
erforderlich
 Setze explizite Grenzen in der…
 Organisation von Teams
 Benutzung von Teilen der
Applikation
 Codebasis
 Entwicklung von
Datenbank-Schemas
30.03.2017 //// Seite 37WPS - Workplace Solutions GmbH
WIE SCHNEIDE ICH MEINE DOMÄNE?
 Nach Unterschieden in der Verwendung von Begriffen der Ubiquitous Language
 Nach Grenzen im Geschäftsprozess, die die Domänenexperten beschreiben
 Nach Abteilungen in der Organisation bzw. Gruppen von Domänenexperten
 NICHT: Nach Entities
oder Aggregaten!
30.03.2017 //// Seite 38WPS - Workplace Solutions GmbH
BEISPIEL – BOUNDED CONTEXTE
NACH ABTEILUNG UND NACH PROZESS
VERTRIEB
Buchhaltung
HR
30.03.2017 //// Seite 39WPS - Workplace Solutions GmbH
LIVING IN A BOX
 Erhalte die Konsistenz innerhalb der Grenzen
 Keine Ablenkung durch äußere Angelegenheiten
 Freie Gestaltung eines Teilmodells durch das zugehörige Team
 Kenne die Restriktionen
 Bleibe innerhalb der Modellgrenzen
30.03.2017 //// Seite 40WPS - Workplace Solutions GmbH
JEDER BOUNDED CONTEXT HAT SEIN EIGENES
MODELL
30.03.2017 //// Seite 41WPS - Workplace Solutions GmbH
 Subdomänen
 Kern (Core Domain)
 Unterstützende (Supporting Domain)
 Allgemeine (Generic Domain)
 Context Mapping
 Shared Kernel
 Customer/Supplier
 Open-Host-Service
 Published Language
 Separate Ways
 Anticorruption Layer
STRATEGISCHES DESIGN – WEITERE BEGRIFFE
30.03.2017 //// Seite 42WPS - Workplace Solutions GmbH
DER PREIS FÜR DOMÄNENMODELLE
 Zusätzliche Arbeit
 Definition der Modellgrenzen
 Definition der Beziehungen zwischen verschiedenen Modellen (Context
Mapping)
 Abbildungen zwischen verschiedenen Modellen
 Objekte können nicht zwischen den BC transportiert werden
30.03.2017 //// Seite 43WPS - Workplace Solutions GmbH
WAS WIR NICHT BAUEN WOLLEN
✘
ANEMIC DOMAIN MODEL
 „blutarme“ fachliche Objekte
 Schnittstelle ohne Aussagekraft
 aus Gettern/Settern
 Viele String Parameter
 Eigentliche Fachlichkeit außerhalb
Entities + Value Objects in Services
oder im UI
 Viele Util, Helper und Manager Klassen
30.03.2017 //// Seite 44WPS - Workplace Solutions GmbH
ANEMIC  FEHLENDE ROBUSTHEIT
 Designschulden
 Unklarer, schwer verständlicher
Entwurf
 Verteilte Fachlichkeit
 Copy & Paste - Programmierung
 Teure Wartung
 Duplizierter Code
 Viele Refactorings
 Schlechte Testbarkeit
30.03.2017 //// Seite 45WPS - Workplace Solutions GmbH
UNKLARE STRUKTUREN IN DER ACHITEKTUR
30.03.2017 //// Seite 46WPS - Workplace Solutions GmbH
GROSSE ZYKLEN VERSCHMUTZEN DAS SYSTEM
463 classes from 10 different
domain-specific modules
30.03.2017 //// Seite 47WPS - Workplace Solutions GmbH
30.03.2017 //// Seite 48WPS - Workplace Solutions GmbH
119 Klassen aus 4 Komponenten
+ 28 weitere Klassen
30.03.2017 //// Seite 49WPS - Workplace Solutions GmbH
Große Zyklen sichtbar machen
327 Klassen aus 8 Komponenten
brauchen sich gegenseitig
30.03.2017 //// Seite 50WPS - Workplace Solutions GmbH
30.03.2017 //// Seite 51WPS - Workplace Solutions GmbH
30.03.2017 //// Seite 52WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40 229 499-0
+49 40 229 499-299
+49 170 184 77 11
Diplom-Informatikerin
@cairolali
a @cairolali
cl@wps.de
www.llsa.de
Vielen Dank für Ihre Aufmerksamkeit!

Weitere ähnliche Inhalte

Was ist angesagt?

Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions RasterpunktGmbH
 
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAtekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAGeorg Eck
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15die.agilen GmbH
 
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG
 
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Georg Eck
 
Collaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsCollaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsBelsoft
 
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPagesCollaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPagesBelsoft
 

Was ist angesagt? (8)

The joy of multiple models
The joy of multiple modelsThe joy of multiple models
The joy of multiple models
 
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
 
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAtekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
 
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
 
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
 
Collaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsCollaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - Apps
 
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPagesCollaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
 

Andere mochten auch

Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallChristoph Engelbert
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritteCarola Lilienthal
 
TDD mit JUnit und Mockito
TDD mit JUnit und MockitoTDD mit JUnit und Mockito
TDD mit JUnit und MockitoTobias Trelle
 
Analytical Queries with Hive: SQL Windowing and Table Functions
Analytical Queries with Hive: SQL Windowing and Table FunctionsAnalytical Queries with Hive: SQL Windowing and Table Functions
Analytical Queries with Hive: SQL Windowing and Table FunctionsDataWorks Summit
 
Optimizing Hive Queries
Optimizing Hive QueriesOptimizing Hive Queries
Optimizing Hive QueriesOwen O'Malley
 
How to understand and analyze Apache Hive query execution plan for performanc...
How to understand and analyze Apache Hive query execution plan for performanc...How to understand and analyze Apache Hive query execution plan for performanc...
How to understand and analyze Apache Hive query execution plan for performanc...DataWorks Summit/Hadoop Summit
 
Boletín 30/03/2017
Boletín 30/03/2017Boletín 30/03/2017
Boletín 30/03/2017Openbank
 
Marshall hm poster_vra2015
Marshall hm poster_vra2015Marshall hm poster_vra2015
Marshall hm poster_vra2015Hannah Marshall
 
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...Ayuntamiento de Málaga
 
How Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better DeveloperHow Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better DeveloperCameron Presley
 
How to actually get software build
How to actually get software buildHow to actually get software build
How to actually get software buildAndreas - Creten
 
Нетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователяНетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователяTatiana Novoselova
 
The London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigationThe London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigationPeter Winchester
 
How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs Workology
 
Towards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructureTowards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructureDimension Data Asia Pacific
 
MeasureWorks - Online Tuesday - Time = Money
MeasureWorks - Online Tuesday - Time = MoneyMeasureWorks - Online Tuesday - Time = Money
MeasureWorks - Online Tuesday - Time = MoneyMeasureWorks
 
IL MOBBING ed il BURN OUT
IL MOBBING ed il BURN OUTIL MOBBING ed il BURN OUT
IL MOBBING ed il BURN OUTDrughe .it
 

Andere mochten auch (19)

Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 
TDD mit JUnit und Mockito
TDD mit JUnit und MockitoTDD mit JUnit und Mockito
TDD mit JUnit und Mockito
 
Analytical Queries with Hive: SQL Windowing and Table Functions
Analytical Queries with Hive: SQL Windowing and Table FunctionsAnalytical Queries with Hive: SQL Windowing and Table Functions
Analytical Queries with Hive: SQL Windowing and Table Functions
 
Optimizing Hive Queries
Optimizing Hive QueriesOptimizing Hive Queries
Optimizing Hive Queries
 
How to understand and analyze Apache Hive query execution plan for performanc...
How to understand and analyze Apache Hive query execution plan for performanc...How to understand and analyze Apache Hive query execution plan for performanc...
How to understand and analyze Apache Hive query execution plan for performanc...
 
Boletín 30/03/2017
Boletín 30/03/2017Boletín 30/03/2017
Boletín 30/03/2017
 
Marshall hm poster_vra2015
Marshall hm poster_vra2015Marshall hm poster_vra2015
Marshall hm poster_vra2015
 
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
 
Recull de premsa #Figueres - 30/03/2017
Recull de premsa #Figueres - 30/03/2017Recull de premsa #Figueres - 30/03/2017
Recull de premsa #Figueres - 30/03/2017
 
How Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better DeveloperHow Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better Developer
 
How to actually get software build
How to actually get software buildHow to actually get software build
How to actually get software build
 
Нетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователяНетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователя
 
The London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigationThe London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigation
 
How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs
 
Towards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructureTowards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructure
 
MeasureWorks - Online Tuesday - Time = Money
MeasureWorks - Online Tuesday - Time = MoneyMeasureWorks - Online Tuesday - Time = Money
MeasureWorks - Online Tuesday - Time = Money
 
IL MOBBING ed il BURN OUT
IL MOBBING ed il BURN OUTIL MOBBING ed il BURN OUT
IL MOBBING ed il BURN OUT
 
Enmienda Conjunta Presupuestos 2017
Enmienda Conjunta Presupuestos 2017 Enmienda Conjunta Presupuestos 2017
Enmienda Conjunta Presupuestos 2017
 

Ähnlich wie Its all about the domain honey

Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Julia Stoff
 
Authoring Management
Authoring ManagementAuthoring Management
Authoring Managementvzimmermann
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAdaPro GmbH
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschAndreas Koop
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarschenpit GmbH & Co. KG
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readybhoeck
 
SAP Enable Now - DeepDive Workshop Education Forum 2017
SAP Enable Now - DeepDive Workshop Education Forum 2017SAP Enable Now - DeepDive Workshop Education Forum 2017
SAP Enable Now - DeepDive Workshop Education Forum 2017Thomas Jenewein
 
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...Oliver Busse
 
Main Session Lotus Software
Main Session Lotus SoftwareMain Session Lotus Software
Main Session Lotus SoftwareAndreas Schulte
 
Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015COC AG
 
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...bhoeck
 
Neue Konzepte in der Technischen Dokumentation
Neue Konzepte in der Technischen DokumentationNeue Konzepte in der Technischen Dokumentation
Neue Konzepte in der Technischen DokumentationGeorg Eck
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereFriedel Jonker
 
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Software & Consulting GmbH
 
GPMS Mitgliederversammlung 2009 - Teil 2
GPMS Mitgliederversammlung 2009 - Teil 2GPMS Mitgliederversammlung 2009 - Teil 2
GPMS Mitgliederversammlung 2009 - Teil 2GPMS
 
Business Turbo Enterprise 2.0 Qualysoft
Business Turbo Enterprise 2.0 QualysoftBusiness Turbo Enterprise 2.0 Qualysoft
Business Turbo Enterprise 2.0 QualysoftJoseph A. Bayer
 
Seamless365 2019 broschure
Seamless365 2019 broschureSeamless365 2019 broschure
Seamless365 2019 broschureSeamless365
 
SharePoint Days 2013 - Knowledge Days rund um SharePoint
SharePoint Days 2013 - Knowledge Days rund um SharePointSharePoint Days 2013 - Knowledge Days rund um SharePoint
SharePoint Days 2013 - Knowledge Days rund um SharePointHLMC Events GmbH
 
Zusammenarbeiten und Telefonieren mit Teams
Zusammenarbeiten und Telefonieren mit TeamsZusammenarbeiten und Telefonieren mit Teams
Zusammenarbeiten und Telefonieren mit TeamsA. Baggenstos & Co. AG
 

Ähnlich wie Its all about the domain honey (20)

Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?
 
Authoring Management
Authoring ManagementAuthoring Management
Authoring Management
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaPro
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-ready
 
SAP Enable Now - DeepDive Workshop Education Forum 2017
SAP Enable Now - DeepDive Workshop Education Forum 2017SAP Enable Now - DeepDive Workshop Education Forum 2017
SAP Enable Now - DeepDive Workshop Education Forum 2017
 
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...
DNUG 38: "Einen Rahmen schaffen: Vorteile durch Frameworks in der Domino-Webe...
 
Main Session Lotus Software
Main Session Lotus SoftwareMain Session Lotus Software
Main Session Lotus Software
 
Knowledge Management with IBM Lotus Notes
Knowledge Management with IBM Lotus NotesKnowledge Management with IBM Lotus Notes
Knowledge Management with IBM Lotus Notes
 
Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015
 
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
 
Neue Konzepte in der Technischen Dokumentation
Neue Konzepte in der Technischen DokumentationNeue Konzepte in der Technischen Dokumentation
Neue Konzepte in der Technischen Dokumentation
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_Konferenzbroschuere
 
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
CLOUDPILOTS Präsentation vom 14.07.2011 bei der Hamburger IBM Notes-User Grou...
 
GPMS Mitgliederversammlung 2009 - Teil 2
GPMS Mitgliederversammlung 2009 - Teil 2GPMS Mitgliederversammlung 2009 - Teil 2
GPMS Mitgliederversammlung 2009 - Teil 2
 
Business Turbo Enterprise 2.0 Qualysoft
Business Turbo Enterprise 2.0 QualysoftBusiness Turbo Enterprise 2.0 Qualysoft
Business Turbo Enterprise 2.0 Qualysoft
 
Seamless365 2019 broschure
Seamless365 2019 broschureSeamless365 2019 broschure
Seamless365 2019 broschure
 
SharePoint Days 2013 - Knowledge Days rund um SharePoint
SharePoint Days 2013 - Knowledge Days rund um SharePointSharePoint Days 2013 - Knowledge Days rund um SharePoint
SharePoint Days 2013 - Knowledge Days rund um SharePoint
 
Zusammenarbeiten und Telefonieren mit Teams
Zusammenarbeiten und Telefonieren mit TeamsZusammenarbeiten und Telefonieren mit Teams
Zusammenarbeiten und Telefonieren mit Teams
 

Mehr von Carola Lilienthal

its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...Carola Lilienthal
 
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...Carola Lilienthal
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architectureCarola Lilienthal
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacyCarola Lilienthal
 
Its all about the domain honey engl
Its all about the domain honey englIts all about the domain honey engl
Its all about the domain honey englCarola Lilienthal
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in phpCarola Lilienthal
 

Mehr von Carola Lilienthal (7)

its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...
 
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
 
Improving legacy
Improving legacyImproving legacy
Improving legacy
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architecture
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacy
 
Its all about the domain honey engl
Its all about the domain honey englIts all about the domain honey engl
Its all about the domain honey engl
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in php
 

Its all about the domain honey

  • 1. WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG IT’S ALL ABOUT THE DOMAIN, HONEY - Erfahrungen aus 10 Jahren Domain Driven Design Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de
  • 2. 30.03.2017 //// Seite 3WPS - Workplace Solutions GmbH Software- Architektur Anforderungs- ermittlung Leitstand und Interaktion Individual- software Business-Software, die Spaß macht! WPS – Workplace Solutions GmbH
  • 3.
  • 4. 30.03.2017 //// Seite 5WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de
  • 5. Schulung Domain-Driven Design Modul für Advanced Level wps.de/ddd
  • 6. 30.03.2017 //// Seite 7WPS - Workplace Solutions GmbH WIR SIND PROGRAMMIERER...
  • 7. 30.03.2017 //// Seite 8WPS - Workplace Solutions GmbH ... UND WIR LIEBEN TECHNIK
  • 8. 30.03.2017 //// Seite 9WPS - Workplace Solutions GmbH SOFTWARE != SELBSTZWECK Software ist ein Mittel zum Zweck Kein Selbstzweck Das Ziel ist das Ziel
  • 9. 30.03.2017 //// Seite 10WPS - Workplace Solutions GmbH SOFTWARE UND DOMÄNE Schreibe Software, die tief in der Domäne verwurzelt ist! Software Domäne
  • 10. 30.03.2017 //// Seite 11WPS - Workplace Solutions GmbH DOMAIN DRIVEN DESIGN ANWENDEN  Zu Beginn eines Softwareprojekts:  Fokussiere die Domäne in der die Software eingesetzt wird  Wie erschafft man Software, die zu einer Domäne passt?  Begreife Software als Reflektion der Domäne  Lasse Kernkonzepte und Elemente der Domäne in die Software einfließen  Realisiere ihre Zusammenhänge  Erstelle ein Domänenmodell
  • 11. 30.03.2017 //// Seite 12WPS - Workplace Solutions GmbH TECHNISCHE SPRACHE X Class Database Server Client O/R-Mapping Inheritance A B Method Interface Linux Windows Eclipse Visual Studio
  • 12. 30.03.2017 //// Seite 13WPS - Workplace Solutions GmbH DOMÄNEN-SPRACHE Container Containernummer 4300 Kran Twistlock Konnossement Beispiel: Hafen
  • 13. 30.03.2017 //// Seite 14WPS - Workplace Solutions GmbH Fach- sprache Techno Babble ? UBIQUITOUS LANGUAGE
  • 14. 30.03.2017 //// Seite 15WPS - Workplace Solutions GmbH Fach- sprache Techno Babble Fach- sprache UBIQUITOUS LANGUAGE
  • 15. 30.03.2017 //// Seite 16WPS - Workplace Solutions GmbH Fach- sprache Techno Babble UBIQUITOUS LANGUAGE
  • 16. 30.03.2017 //// Seite 17WPS - Workplace Solutions GmbH Techno Babble Fach- sprache UBIQUITOUS LANGUAGE
  • 17. 30.03.2017 //// Seite 18WPS - Workplace Solutions GmbH Fach- sprache { Techno Babble } ? UBIQUITOUS LANGUAGE
  • 18. 30.03.2017 //// Seite 19WPS - Workplace Solutions GmbH Fach- sprache { Fach- sprache } UBIQUITOUS LANGUAGE
  • 19. 30.03.2017 //// Seite 20WPS - Workplace Solutions GmbH UBIQUITOUS LANGUAGE  Verwende die gemeinsame Sprache in..  der Kommunikation  mündlich  schriftlich  grafisch  im Code  Im Grunde genommen überall  Deswegen nennt sich die Fachsprache allgegenwärtig.
  • 20. 30.03.2017 //// Seite 21WPS - Workplace Solutions GmbH SPRACHE TAUCHT NICHT EINFACH AUF  Es braucht Wochen bis Monate...  harter Arbeit  und scharfem Fokus  … um die Schlüsselkonzepte offenzulegen.  Die ersten Wörter einer allgemeinen Fachsprache kommen üblicherweise direkt aus der Domäne  Im Laufe der Entwicklung werden neue Begriffe definiert und hinzugefügt
  • 21. 30.03.2017 //// Seite 22WPS - Workplace Solutions GmbH DOMÄNEN-SPRACHE Brett König Figuren Spieler Schachuhr
  • 22. 30.03.2017 //// Seite 23WPS - Workplace Solutions GmbH ALLGEGENWÄRTIGE FACHSPRACHE Brett Figuren Spieler Nichtmenschlicher Spieler
  • 23. 30.03.2017 //// Seite 24WPS - Workplace Solutions GmbH SPRACHEN SIND LEBENDIG  Experimentiere mit alternativen Ausdrucksformen  Das Modell und die Sprache entwickeln sich weiter  Überarbeite dann den Code  Benenne Klassen, Methoden, Module  Entspreche dem neuen Modell  Eine Sprache will gesprochen werden:  Beseitige Unklarheiten durch Konversation
  • 24. 30.03.2017 //// Seite 25WPS - Workplace Solutions GmbH
  • 25. 30.03.2017 //// Seite 26WPS - Workplace Solutions GmbH GLOSSAR  Fachsprache der Benutzer/Ubiquitous Language • bereits existierende Begriffe • rekonstruierte Begriffe • neue Begriffsbildungen •Wer tut was damit wozu?  Kernkonzepte  Wichtiger am Anfang des Projektes  Oft Wegwerfprodukt
  • 26. 30.03.2017 //// Seite 27WPS - Workplace Solutions GmbH WIE LERNEN WIR DIE FACHLICHKEIT?  Durch die Fachexperten (domain experts)  Sie haben das Wissen  Worum es bei ihrer Arbeit geht  Wo die Software sie unterstützen kann  Auch wenn sie das Wissen nicht selbständig aufschreiben bzw. abstrahieren können  Wer die Fachlichkeit nicht versteht, kann ihr nicht helfen  Softwareentwickler und Fachexperten bilden zusammen das Team
  • 27. 30.03.2017 //// Seite 28WPS - Workplace Solutions GmbH WIE KOMMEN WIR AN DAS WISSEN DER FACHEXPERTEN? Welche Techniken gibt es?  Interviews  Use Cases + Szenarien  Workshops  Event Storming  Domain Storytelling Das wollen wir extrahieren! Fach- wissen
  • 28. 30.03.2017 //// Seite 29WPS - Workplace Solutions GmbH WORKSHOPS MIT ANWENDERN UND PRODUCT OWNERN “Georgia?” by The Library of Congress, flickr.com • Teilnehmer aus verschiedenen Bereichen (Business, IT, Management, …) • ein Moderator für den Workshop  direktes Feedback von allen Beteiligten
  • 29. 30.03.2017 //// Seite 30WPS - Workplace Solutions GmbH EVENT STORMING  Eine Methode um Geschäftsprozesse zu modellieren Modelliert werden: Domain Events Commands Acteure Aggregate
  • 30. 30.03.2017 //// Seite 31WPS - Workplace Solutions GmbH DOMAIN STORYTELLING www.domainstorytelling.org Modelliert werden: Akteure Gegenstände Handlungen
  • 31. 30.03.2017 //// Seite 32WPS - Workplace Solutions GmbH
  • 32. 30.03.2017 //// Seite 33WPS - Workplace Solutions GmbH TAKTISCHES UND STRATEGISCHES MODELLIEREN  DDD gibt Anleitung für Modellierung im Großen und im Kleinen  Strategisches Modellieren  Teile die Domäne in getrennte Bounded Contexts auf  Jeder BC hat sein eigenes Fachmodell und seine eigene Allgegenwärtige Sprache  Context Mapping hilft die Beziehungen zwischen Bounded Contexts zu verstehen  Taktisches Modellieren  Innerhalb eines Bounded Context  Building Blocks: Entity, Value Object, Aggregate, Service, Repository, Factory
  • 33. 30.03.2017 //// Seite 34WPS - Workplace Solutions GmbH GROSSE PROJEKTE  Erfordern mehrere Teams  Entwicklung findet parallel statt  Jedes Team korrespondiert mit einem Teil des Modells  Ein großes Modell?
  • 34. 30.03.2017 //// Seite 35WPS - Workplace Solutions GmbH DAS GROSSE VEREINHEITLICHTE MODELL  Umfasst die vollständige Domäne eines Unternehmens  Ein schwer erreichbares Ideal  Oft nicht lohnenswert anzuvisieren Hoher Koordinationsaufwand in Teams Führt oft zu einem big ball of mud
  • 35. 30.03.2017 //// Seite 36WPS - Workplace Solutions GmbH KONTEXTGRENZEN (BOUNDED CONTEXT)  Jedes Modell hat einen Kontext  Kontext = Grundsätzliche Voraussetzungen, damit Begriffe eine bestimmte Bedeutung erhalten  Wird ein Modell aufgespalten, so ist für jedes Teilmodell eine Kontextdefinition erforderlich  Setze explizite Grenzen in der…  Organisation von Teams  Benutzung von Teilen der Applikation  Codebasis  Entwicklung von Datenbank-Schemas
  • 36. 30.03.2017 //// Seite 37WPS - Workplace Solutions GmbH WIE SCHNEIDE ICH MEINE DOMÄNE?  Nach Unterschieden in der Verwendung von Begriffen der Ubiquitous Language  Nach Grenzen im Geschäftsprozess, die die Domänenexperten beschreiben  Nach Abteilungen in der Organisation bzw. Gruppen von Domänenexperten  NICHT: Nach Entities oder Aggregaten!
  • 37. 30.03.2017 //// Seite 38WPS - Workplace Solutions GmbH BEISPIEL – BOUNDED CONTEXTE NACH ABTEILUNG UND NACH PROZESS VERTRIEB Buchhaltung HR
  • 38. 30.03.2017 //// Seite 39WPS - Workplace Solutions GmbH LIVING IN A BOX  Erhalte die Konsistenz innerhalb der Grenzen  Keine Ablenkung durch äußere Angelegenheiten  Freie Gestaltung eines Teilmodells durch das zugehörige Team  Kenne die Restriktionen  Bleibe innerhalb der Modellgrenzen
  • 39. 30.03.2017 //// Seite 40WPS - Workplace Solutions GmbH JEDER BOUNDED CONTEXT HAT SEIN EIGENES MODELL
  • 40. 30.03.2017 //// Seite 41WPS - Workplace Solutions GmbH  Subdomänen  Kern (Core Domain)  Unterstützende (Supporting Domain)  Allgemeine (Generic Domain)  Context Mapping  Shared Kernel  Customer/Supplier  Open-Host-Service  Published Language  Separate Ways  Anticorruption Layer STRATEGISCHES DESIGN – WEITERE BEGRIFFE
  • 41. 30.03.2017 //// Seite 42WPS - Workplace Solutions GmbH DER PREIS FÜR DOMÄNENMODELLE  Zusätzliche Arbeit  Definition der Modellgrenzen  Definition der Beziehungen zwischen verschiedenen Modellen (Context Mapping)  Abbildungen zwischen verschiedenen Modellen  Objekte können nicht zwischen den BC transportiert werden
  • 42. 30.03.2017 //// Seite 43WPS - Workplace Solutions GmbH WAS WIR NICHT BAUEN WOLLEN ✘ ANEMIC DOMAIN MODEL  „blutarme“ fachliche Objekte  Schnittstelle ohne Aussagekraft  aus Gettern/Settern  Viele String Parameter  Eigentliche Fachlichkeit außerhalb Entities + Value Objects in Services oder im UI  Viele Util, Helper und Manager Klassen
  • 43. 30.03.2017 //// Seite 44WPS - Workplace Solutions GmbH ANEMIC  FEHLENDE ROBUSTHEIT  Designschulden  Unklarer, schwer verständlicher Entwurf  Verteilte Fachlichkeit  Copy & Paste - Programmierung  Teure Wartung  Duplizierter Code  Viele Refactorings  Schlechte Testbarkeit
  • 44. 30.03.2017 //// Seite 45WPS - Workplace Solutions GmbH UNKLARE STRUKTUREN IN DER ACHITEKTUR
  • 45. 30.03.2017 //// Seite 46WPS - Workplace Solutions GmbH GROSSE ZYKLEN VERSCHMUTZEN DAS SYSTEM 463 classes from 10 different domain-specific modules
  • 46. 30.03.2017 //// Seite 47WPS - Workplace Solutions GmbH
  • 47. 30.03.2017 //// Seite 48WPS - Workplace Solutions GmbH 119 Klassen aus 4 Komponenten + 28 weitere Klassen
  • 48. 30.03.2017 //// Seite 49WPS - Workplace Solutions GmbH Große Zyklen sichtbar machen 327 Klassen aus 8 Komponenten brauchen sich gegenseitig
  • 49. 30.03.2017 //// Seite 50WPS - Workplace Solutions GmbH
  • 50. 30.03.2017 //// Seite 51WPS - Workplace Solutions GmbH
  • 51. 30.03.2017 //// Seite 52WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de Vielen Dank für Ihre Aufmerksamkeit!