11.05.2014 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!