Over het boek
Waar gaat dit boek over?
Dit boek gaat primair over informatiemodelleren. Elk informatiemodel wordt door een geavanceerde tool automatisch vertaald naar een werkend informatiesysteem. Mede aan de hand daarvan wordt het model gevalideerd en in een iteratief proces herzien en uitgebreid.
Een informatiemodel omvat structuur en regels. Aanvullend worden 'bedrijfsregels' gespecificeerd en geïmplementeerd. Vaak blijkt een keuze mogelijk tussen een ingewikkelder informatiemodel met minder bedrijfsregels en een eenvoudiger informatiemodel met meer bedrijfsregels. Het is een kwestie van afwegen. Het boek gaat daarom ook over bedrijfsregels.
De keuze tussen het ene informatiemodel en het andere wordt ook beïnvloed door eisen aan de gebruikersinterface, in het bijzonder de benodigde formulieren. Uit het ene informatiemodel kunnen bepaalde formulieren direct gegenereerd worden, terwijl het andere extra specificaties of programmeerwerk vraagt. Het boek gaat daarom ook over de gebruikersinterface.
Informatiemodel, bedrijfsregels en gebruikersinterface vormen drie componenten van één overkoepelend MDD-model. Het hieruit gegenereerde informatiesysteem omvat een database en een applicatie voor een specifiek platform. Idealiter is het MDD-model zelf platformonafhankelijk. In dit boek besteden we veel aandacht aan dat ideaal, maar maken we ook duidelijk dat het nog lang niet verwezenlijkt is.
Uitgangspunten en didactiek
Bij het schrijven hebben we de volgende uitgangspunten in gedachten gehad:
- Het maken van een goed informatiemodel vereist oefening en ervaring.
- Een informatiemodel moet executeerbaar zijn, dat wil zeggen dat er een werkend informatiesysteem uit gegenereerd kan worden, dat terugkoppeling mogelijk maakt naar het (voorlopige) model.
- Informatiemodellering is naast art (kunst) vooral skill (ambacht): niet alles is te vangen in methoden, maar je kunt wel een eind komen.
- Algemene informatiepatronen kunnen helpen om het modelleren naar een hoger abstractieniveau te tillen en een methodische aanpak te ondersteunen.
- Modelleren houdt altijd afweging van complexiteit in: kies je voor een eenvoudiger informatiestructuur met meer aanvullende regels of voor een ingewikkelder structuur met minder regels?
- Nog een belangrijk thema: het ideaal van platformonafhankelijkheid (PIM - platform independant model) en de barrières die dat bemoeilijken.
- Een MDD-tool is in het onderwijs geen doel, maar een - belangrijk - middel om de theorie te ondersteunen.
Voorbeeldmodellen en methodisch modelleren
In het boek wordt een uitgekiende set voorbeeldmodellen, van simpel naar wat ingewikkelder, als het ware met de lezer samen ontwikkeld. De merites van een model worden besproken, vaak aan de hand van het gegenereerde systeem. Het model wordt bijgesteld, uitgebreid, enzovoort. Geleidelijk zal de lezer meer 'feeling' ontwikkelen voor mogelijke keuzes, hun mogelijkheden en beperkingen. In veel voorbeelden zijn algemene patronen aan te wijzen. Door deze te benoemen kunnen we ze gemakkelijker in andere situaties herkennen en toepassen. In hoofdstuk 7 'Methodisch informatiemodelleren' blijkt dan het moment rijp om een 'methode' te presenteren, in de vorm van een stappenplan voor het ontwikkelen van een informatiemodel. We zijn dan aan het eind van deel B.
In deel C wordt de set voorbeeldmodellen uitgebreid ter illustratie van bedrijfsregels en het ontwikkelen van een gebruikersinterface. Ook hier worden methodische handreikingen gegeven, in de vorm van stappenplannen.
In deel D wordt het pure informatiemodelleren weer opgepakt, op een wat hoger niveau. Nu worden de mogelijkheden van objectoriëntatie volop benut en met voorbeeldmodellen geïllustreerd.
Opgaven, opdrachten en practica
Het boek bevat flink wat opgaven. Deze zijn allemaal voorzien van uitwerkingen. Kies uit het menu de optie 'uitwerking van opgaven' om deze te downloaden. Daarnaast zijn er praktische opdrachten, uit te voeren met de MDD-tool. Sommige daarvan verwijzen naar een of meer practica uit deel E.
Doelgroepen en voorkennis
Het boek is geschikt voor (bedrijfskundige) informaticaopleidingen in het hoger of wetenschappelijk onderwijs. Het leent zich ook voor zelfstudie, mede door de MDD-tool (Cathedron). Er is niet veel voorkennis nodig, maar men moet wel iets weten van relationele databases en SQL. Paragraaf 10.2 'Regelbewaking door databasetriggers' vraagt daarnaast wat programmeerkennis Dit onderdeel kan eventueel alleen globaal worden bestudeerd.