Modulair 1 (jaargang 23, 14 september 2007) - Open Universiteit ...
Modulair 1 (jaargang 23, 14 september 2007) - Open Universiteit ...
Modulair 1 (jaargang 23, 14 september 2007) - Open Universiteit ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
www.ou.nl/emodulair <strong>14</strong> <strong>september</strong> <strong>2007</strong><br />
27<br />
Nieuwe cursus<br />
Model-driven development<br />
onderwijs – Informatica<br />
De faculteit Informatica heeft een nieuwe bachelorcursus ontwikkeld:<br />
Model-driven development (MDD). De cursus (T37111), die in <strong>september</strong> is<br />
verschenen, gaat over het ontwikkelen van informatiesystemen en is de<br />
opvolger van Beginselen van modelleren. Kenmerkend voor model-driven<br />
development is dat uit elk ontworpen model automatisch een werkend<br />
informatiesysteem wordt gegenereerd. Hiertoe wordt een prachtig stuk<br />
softwaregereedschap met de cursus meegeleverd: de MDD-tool Cathedron<br />
van de firma Mattic, die ook inhoudelijk een belangrijke bijdrage aan de<br />
cursus heeft geleverd. Deze cursus neemt een centrale plaats in binnen de<br />
curriculumlijn Informatiesystemen en bedrijfsprocessen. Inhoudelijk en<br />
didactisch is het een rijke cursus geworden door zijn ambachtelijke benadering,<br />
de vele voorbeelden en oefeningen, modelvalidatie via de MDD-tool<br />
en een methodiek waarin informatiepatronen centraal staan. Ervaringen<br />
met pilotgroepen dit voorjaar hebben uitgewezen dat de cursus niet alleen<br />
van waarde is voor beginnende systeemontwikkelaars maar ook voor personen<br />
met jarenlange ervaring.<br />
Wat is model-driven development?<br />
De essentie van model-driven development wordt duidelijk door onderstaande<br />
figuur. We hebben de ‘relevante wereld’ aan de ene kant: het<br />
domein in de werkelijkheid waarvoor een informatiesysteem moet worden<br />
ontwikkeld. Het wordt hier gesymboliseerd door een stapel cd’s, die model<br />
staat voor een hele reeks aan voorbeelden in de cursus, lopend vanaf de<br />
privé muziekcollectie van een muziekliefhebber tot een mediawinkel. Het<br />
model brengt die wereld op een abstracte manier in kaart, afgestemd op de<br />
informatiebehoeften. Aan de andere kant hebben we het informatiesysteem<br />
dat uit het model wordt gegenereerd. Het bestaat uit een database en een<br />
applicatie voor de eindgebruiker. Je kunt haast zeggen: het model ís het<br />
systeem. Hierdoor kan zeer snel worden ontwikkeld. Opdrachtgever en toekomstige<br />
gebruikers kunnen ook aan de hand van het systeem feedback<br />
geven. Zo wordt het model als het ware gevalideerd bij de gebruiker aan<br />
tafel. Ideaal voor het onderwijs: modellen zijn niet langer vrijblijvende diagrammen<br />
maar ze ‘doen’ ook wat. De student ziet direct de consequenties<br />
van een gemaakt model.<br />
Het streven is alle componenten van de modellen onafhankelijk te maken<br />
van specifieke platformtechnologie, zoals het soort database of het al dan<br />
niet werken via internet. Het programma van de Model-driven architecture<br />
(MDA) is daarbij een belangrijk referentiepunt binnen de cursus.<br />
Opzet van de cursus<br />
De cursus omvat vier blokken. Blok 1 legt de basis en behandelt het hele<br />
‘landschap’ (de drie aspecten: informatie, gebruikersinterface en logica) in<br />
vogelvlucht. Al snel maakt u uw eerste werkende applicaties met de MDDtool<br />
Cathedron. Blok 2 gaat over de kern van het modelleerambacht: het<br />
ontwerpen van informatiemodellen. Het mondt uit in een methodische leereenheid,<br />
waarin een aanpak voor informatiemodellering wordt beschreven<br />
die vrijwel altijd werkt. Deze aanpak gaat uit van een universeel ‘vraag-, aanbod-<br />
en transactiepatroon’ en wordt geïllustreerd aan de hand van een te<br />
ontwikkelen systeem voor een schaatscasus: een kampioenschap klassementsrijden.<br />
Uit alle modellen wordt automatisch een standaardapplicatie<br />
gegenereerd, waar een gebruiker al zo mee aan de slag zou kunnen. In blok<br />
3 leert u standaardapplicaties te wijzigen en aan te vullen. Zoals het toevoegen<br />
of veranderen van schermformulieren, op maat maken van menustructuren<br />
voor specifieke gebruikers of het implementeren van ‘bedrijfsregels’<br />
zoals verbodsregels of automatische berekeningen. In blok 4 worden<br />
geavanceerder modellen ontwikkeld, door gebruik te maken van ‘generalisatie’,<br />
een begrip waarmee u al vertrouwd bent door ervaring met objectgeoriënteerd<br />
programmeren. De casus ‘Vakantiepark’ sluit het geheel af.<br />
Aan het eind van de cursus zult u ervan doordrongen zijn dat een systeemontwikkelaar<br />
altijd bezig is verschillende soorten complexiteit tegen elkaar<br />
af te wegen. Keuze voor een eenvoudige, generieke en flexibele informatiestructuur<br />
zal vaak de specificatie van de gebruikersinterface en de logica<br />
voor bedrijfsregels ingewikkelder maken. En omgekeerd.‘Het goede model’<br />
zal niet blijken te bestaan. Gelukkig maar: het ambacht van modelleren<br />
blijft daardoor toch een beetje een kunst.<br />
MDD-model<br />
De basis van een MDD-model is het informatiemodel. De volgende figuur<br />
laat de kern van zo’n model zien, in de vorm van een diagram. Het is een<br />
model voor muziekalbums, het meest simpele uit de cursus. Dit diagram is<br />
al bijna voldoende om automatisch een eenvoudig informatiesysteem voor<br />
de muziekliefhebber te genereren, een standaardsysteem. Voor niet-standaardfuncties<br />
is een aanvullende specificatie van de gebruikersinterface<br />
nodig. Voor automatische berekeningen, zoals het bijhouden van het aantal<br />
tracks op een album (in het diagram aangegeven door het kenmerk<br />
‘aantalTracks’) is aanvullend programmeerwerk nodig, onderdeel van de<br />
‘logica’ van het systeem.<br />
Inschrijving en begeleiding<br />
U kunt zich voor deze cursus inschrijven, indien u tenminste de cursussen<br />
Databases en Visueel programmeren met Java hebt afgerond of over vergelijkbare<br />
voorkennis beschikt. In de periode april tot juni 2008 vindt een<br />
begeleidingscyclus plaats van vijf bijeenkomsten in de studiecentra<br />
Amsterdam, Zwolle, Rotterdam en Eindhoven. De eerste tentamens vinden<br />
plaats op 21 januari en 16 juni 2008. Ook studenten die eerder al Beginselen<br />
van modelleren afrondden, mogen de nieuwe cursus volgen in hun vrijekeuzeruimte.<br />
Drs. Leo Wiegerink, docent informatica