welkom    modelgedreven    ontwikkelstraat    model    agile    rich client    cv kunst

Het doel van modelgedreven ontwikkeling is om de snelheid, flexibiliteit en kwaliteit van de produktie van maatwerksoftware te verhogen.

Het middel waarmee dit doel gerealiseerd wordt is separation of concerns (scheiding van aangelegenheden):
  • Business analisten beschrijven de functionaliteit van de te produceren software in een model.
  • Technisch specialisten schrijven tegelijkertijd transformaties die zo'n model omzetten in werkende software.
Als de modelleertaal onvoldoende uitdrukkingskracht biedt om de gewenste functionaliteit te beschrijven, kunnen de modelleertaal en de transformaties worden uitgebreid.

Daar waar uitbreiding van modelleertaal en transformaties niet loont (omdat de nieuwe taalconstructies slechts zelden gebruikt zouden worden), wordt de software handmatig aangevuld. Deze aanvullingen zijn zodanig, dat ze niet overschreven worden wanneer de transformaties opnieuw worden uitgevoerd als er wijzigingen zijn aangebracht in model of transformaties.

De transformaties kunnen runtime worden uitgevoerd (runtime interpretatie van het model), of build time (door vanuit het model code te genereren).

Modelgedreven ontwikkeling combineert de voordelen van maatwerksoftware (volledige controle over wat er geproduceerd wordt, door modelleertaal en transformaties aan te passen) met de voordelen van Rapid Application Development gereedschappen (snel software kunnen bouwen).