"Det bästa med utbildningen var att man på djupet kunde gå in på de flesta aspekterna inom DDD. Mycket tid för frågor och diskussioner. Mycket bra utbildare, engagerad och otroligt kunnig."
- Håkan Fransson, Arkitekt/utvecklare
"Kursen är användbar i det dagliga arbetet. Den omvände min bild av hur utveckling ska genomföras, ett paradigmskifte. Kursen var väl genomförd utifrån ett pedagogiskt perspektiv. Bra utbildare, toppbetyg till Patrik."
- Martin Edlund, Systemutvecklare.
Om kursen
Domänen är den affärsverksamhet som vi utvecklar mjukvara för. Det kan handla om så skilda saker som DNA-analys, bokföring, låssystem, logistik, tidningspublikation, flygresor och mycket annat. Gemensamt för dessa olika verksamheter är att de i de allra flesta fall inte har någonting med mjukvara att göra, men att ett väl fungerande och kostnadseffektivt IT-stöd kan vara avgörande för att vi ska lyckas med våra affärer.
Genom att verka för en stark koppling mellan språket som används av verksamhetsexperter, användare och utvecklare kan Domändriven design hjälpa dig att skapa modeller som dramatiskt påskyndar arbetet med att skapa fungerande mjukvara utifrån beställarens önskemål.
För att få domänmodellering att generera värde i faktiska projekt krävs väl fungerande modellerings- och designtekniker i kombination med pragmatiska tillvägagångssätt för att hantera de sällan optimala förhållandena där den färdiga designen måste fungera.
Kursen Domändriven design hjälper deltagarna att hitta en lämplig balans mellan fördjupning i verksamhetsproblem och hantering av tekniska krav. Baserat på så väl viktiga principer som på praktiskt genomförande hjälper detta angreppssätt deltagarna att göra val vilka leder till kommersiellt gångbara system.
I fyra intensiva dagar skiftar vi mellan föreläsning, gruppdiskussioner, övningar och mindre programmeringsprojekt avsedda att ytterligare förstärka inlärning av de ämnen som presenteras.
Presentationer och diskussioner sker på svenska. Kursmaterialet och övning är på engelska. Kursen är en officiell DDD-kurs designad av Eric Evans och Domain Language, Inc.
Förkunskapskrav
- Grundläggande kunskap i objektmodellering och design
- För deltagare som är programmerare krävs grundläggande programmeringskunskaper i Java.
- Även chefer och analytiker som inte programmerar är välkomna, se målgrupp nedan.
Rekommenderade förkunskaper
-
Viss exponering mot halvstora till stora mjukvaruprojekt, gärna i en miljö med mer än ett team.
Målgrupp
Kursen vänder sig till utvecklare och systemarkitekter med fingrarna kvar i koden. Projektledare och andra personer som inte programmerar är också varmt välkomna att delta. Under programmeringsövningarna arbetar icke-programmerare med mer vana utvecklare och på så sätt får båda en inblick i varandras situation och en möjlighet att öva på att kommunicera. Ange vid anmälan om du har programmeringskunskaper i Java eller inte.
Kursplan
Dag 1
- Vad är Domain-Driven Design?
- Att göra implicita koncept explicita
- Det gemensamma språket
- Modellering genom brainstorming
- Att uttrycka en modell i kod
- Byggstenar: Entities, Value Objects, Aggregates and Repositories
- Test först, som modelleringsprocess
Dag 2
- Samarbete och interaktion mellan verksamhetspersoner och programmerare
- Mönster och tekniker för bättre modeller och deras relation till kod
- Att göra kod uppenbar, enklare att använda och förändra
- Modellering av transaktionell integritet och distribuerade system
Dag 3
- Strategisk design
- Pragmatisk hantering av olika modeller och designer i verkliga projekt
- Relationer mellan subsystem och projektgrupper
- Allt i ett system kommer inte bli lika väl utfört. Vad är viktigt, var lägger vi vår tid?
- Utforska vad som är systemets kärna, jämför med mer generella delar
- Strategiska beslut runt allokering av resurser, outsourcing och inköp av standardkomponenter
Dag 4
- Design och kodövning
- Samtal runt SOA och enterpriseramverk med DDD
- Fördjupande diskussion och frågestund för att relatera de olika ämnena till varandra och deltagarnas egna situationer och erfarenhet.
Ordningen i vilken ämnena presenteras kan komma att ändras för att bättre passa behov och önskemål hos kursdeltagarna.

