Blog · 29 juni 2023
Videotutorial: een deep dive in domeinmodelleren
Bekijk onze uitgebreide videoreeks over domeinmodelleren

In deze reeks videotutorials duiken we in de wereld van domeinmodelleren door het domein van Sharingo te verkennen, een innovatieve (fictieve) deelfietsstartup.
Of je nu een softwareliefhebber bent, een domain-driven design-practitioner, of gewoon nieuwsgierig naar het snijvlak van technologie en stedelijke mobiliteit: deze videoreeks is voor jou.
Wat je zal leren:
-
Van big picture-verkenning tot het verfijnen van het model
-
Modelleren met constraints
-
Bounded contexts identificeren
-
Faalscenario's aanpakken en een volledig modelontwerp maken
-
Ontwerpen verfijnen en refactoren voor optimale grenzen
Over Sharingo
Sharingo is geen gewoon deelfietsbedrijf. Het is een dynamische startup die ontstond als spin-off van een gevestigde fabrikant van elektrische fietsen. Met de ambitie om stedelijke mobiliteit te verbeteren, biedt Sharingo klanten efficiënte elektrische fietsen om zich vlot door de stad te verplaatsen. Sharingo is al actief in verschillende steden, maar heeft ambitieuze plannen voor een snelle uitbreiding naar tal van stedelijke centra.
Maak kennis met de experts
Thomas Coopman en Gien Verschatse gidsen ons door deze domeinmodelleerreis:
Thomas Coopman is een doorwinterde softwareconsultant en engineer die gespecialiseerd is in de volledige stack, van domeinmodelleren tot frontendontwikkeling en backendsystemen. Met zijn ruime ervaring ontwikkelt en geeft Thomas trainingsprogramma's bij DDD Academy en Aardling, en hij heeft een master in de informatica van de universiteit van Leuven.
Gien Verschatse is een ervaren consultant en software engineer met een diepgaand inzicht in domeinmodelleren en softwarearchitectuur. Haar expertise omvat zowel objectgeoriënteerd als functioneel programmeren, voornamelijk in .NET. Als gepassioneerd beoefenaar van Domain-Driven Design blinkt Gien uit in het overbruggen van de kloof tussen domeinexperts, gebruikers en engineers. Ze deelt haar kennis ook actief door te spreken op internationale conferenties en anderen op te leiden.
Deel 1 - Het grotere plaatje begrijpen
In deze eerste aflevering trappen we af met een techniek die Big Picture EventStorming heet. We verkennen de fijne kneepjes van hoe het fietsverhuurproces van Sharingo werkt voor zijn gebruikers. Door een overzicht op hoog niveau te krijgen, leggen we een stevige basis om dieper in het domein te duiken.
Bekijk de video - Bekijk het Miro-boardframe
Deel 2 - Ons begrip verfijnen
Voortbouwend op de inzichten uit deel 1 gaan we een stap verder in het verfijnen van ons model. Vertrekkend van het eerste overzicht op hoog niveau, duiken we in de details van het domein en de uitdagingen die aangepakt moeten worden.
Bekijk de video - Bekijk het Miro-boardframe
Deel 3 - Commands en constraints toevoegen
Nu we een basisbegrip hebben van het fietsverhuurproces van Sharingo, is het tijd om ons model structuur te geven. In deze sessie gaan we van ongestructureerde notities naar een verfijnder model door commands en constraints toe te voegen.
Bekijk de video - Bekijk het Miro-boardframe
Deel 4 - Kandidaat-bounded contexts vinden
Ontdek in deze vierde aflevering de kunst van afhankelijkheden tekenen tussen constraints, queries en events. Ons doel is om mogelijke Bounded Contexts te identificeren, zodat we ontwerpkeuzes kunnen verkennen en valideren.
Bekijk de video - Bekijk het Miro-boardframe
Deel 5 - Faalscenario's verkennen om het model te verbeteren
In een ideaal scenario loopt alles misschien vlot, maar echte systemen moeten met fouten kunnen omgaan. In deze sessie verleggen we onze focus naar faalscenario's en verkennen we hoe we ze in ons kernmodel kunnen opnemen. In dit deel krijg je inzicht in het cruciale aspect van robuuste software ontwerpen die met allerlei faalsituaties overweg kan.
Bekijk de video - Bekijk het Miro-boardframe
Deel 6 - De eerste versie van het ontwerp afwerken
We keren terug naar onze oorspronkelijke zoektocht naar kandidaat-Bounded Contexts. We bekijken de resterende delen van onze EventStorm en werken de eerste versie van ons volledige ontwerp af. Hier leer je hoe ons model evolueert en ons dichter brengt bij een verfijnd en robuust softwaresysteem.
Bekijk de video - Bekijk het Miro-boardframe
Deel 7 - Een context map van onze bounded contexts
Met een frisse blik op de Bounded Contexts die we ontworpen hebben, verkennen we de afhankelijkheden ertussen. Door een Context Map te maken, ontdekken we hoe deze contexts met elkaar interageren en begrijpen we de dynamiek die speelt. We analyseren de events en commands aan de grenzen van de Bounded Contexts en brengen zo hun relaties in beeld.
Bekijk de video - Bekijk het Miro-boardframe
Deel 8 - Refactoren naar betere grenzen
Ontwerpen is een iteratief proces dat voortdurende verbetering vraagt. In deze video beginnen we aan het refactoren van ons model om betere grenzen te leggen. We herverdelen verantwoordelijkheden en stellen ons ontwerp bij om een goed afgebakend en onderhoudbaar softwaresysteem te garanderen.
Bekijk de video - Bekijk het Miro-boardframe
Deel 9 - Example Mapping
In het laatste deel van onze videoreeks tonen we de kracht van Example Mapping. Aan de hand van de analyse van het event 'beschikbaarheid van fietsen' duiken we dieper in het domein en scherpen we ons begrip van het model aan. Example Mapping helpt ons om onze regels te verfijnen en zo tot een vollediger en doeltreffender model te komen.
Bekijk de video - Bekijk het Miro-boardframe
Conclusie
Van het grotere plaatje begrijpen tot het model verfijnen, faalscenario's aanpakken en ontwerpgrenzen optimaliseren: het doel van deze videoreeks was om je de tools en kennis te geven om echte uitdagingen in softwareontwikkeling aan te pakken.
Heb je opmerkingen of vragen? Mail ons op contact@aardling.eu, we helpen je graag.