Hos Informator hittar du dels en kurs i Agil Modellering, T2715, dels en i Avancerad Modellering, T2716, förutom att UML diagram också används i ett par arkitekturkurser. Båda kurserna lär ut och använder UML 2, och agil modellering kan ju också bli tillräckligt avancerad.
Så vilka skillnader är det då mellan dem två?
Den agila kursen betonar modelleringssamarbete i smågrupper (oftast på 3-6 personer), fokuserad kommunikation både med intressenter och inom gruppen, tidsramar och begränsat antal diagram, enkla designchecklistor för att bygga in modifierbarhet från början, snabbt smidigt utbyte av uppslag och idéer.
Den avancerade kursen går mer in på notation, designprinciper, mönster (designmönsterm fl), affärsregler/constraints, olika lösningsalternativ och sätt att modellera dem, osv.
Om den roll du siktar på medför mycket kunskapskommunikation mellan människor, dvs rollen liknar en analytiker, agil utvecklare eller design lead, kravfångst, arkitektursamordnare, så är den agila kursen oftast mer intressant.
Bland annat tänker man först igenom vilka roller och situationer modellen är till för och vad de får ut av att läsa den (det bör gå före detaljerad notation). T ex läser arkitektroller och applikationsutvecklare genom olika”glasögon”.
Om rollen däremot medför lika mycket eller mer kommunikation med maskinen, t ex verktygs- och miljösamordnare, automationsansvar, dokumentationsgranskning med sikte på kodgenerering i närtid, så ligger den avancerade kursen närmare till hands.
Bland annat för att ha grepp om olika UML-notationens styrkor och svagheter, för att jämföra med dels ev DSL (domänspecifika modelleringsspråk) och dels specifika lösningar som bygger in högre abstraktionsnivå direkt i programspråket, t ex som deklarativa uttryck och färdiga komponenter. Även i det senare fallet är det lika viktigt att väga styrkor och svagheter (leverantörsberoende, dyrare migrering m m) mot varandra.