Voor vrijwel alle softwaresystemen geldt dat de eisen voortdurend veranderen. Wet- en regelgeving verandert, bedrijven fuseren of reorganiseren, de technologische mogelijkheden worden steeds uitgebreider. Software is daardoor in feite al bij oplevering verouderd. Vrijwel alle software moet zo ontworpen worden dat veranderingen in de toekomst gemakkelijk kunnen worden aangebracht. Dit stelt Sylvia Stuurman in haar proefschrift ‘Design for Change’. Hierin onderzocht zij hoe softwareontwerpers er in allerlei situaties voor kunnen zorgen dat de software die ze opleveren flexibel is met het oog op toekomstige veranderingen. Bovendien bekeek ze de educatieve aspecten daarvan: hoe leer je studenten om flexibele software te ontwerpen? Op vrijdag 12 juni 2015 promoveert zij aan de Open Universiteit.

Technieken voor flexibele software

Wanneer bij het ontwerpen van software geen rekening wordt gehouden met de voortdurende stroom veranderingen, zorgt elke aangebrachte verandering ervoor dat het moeilijker wordt om de software aan te passen. Het resultaat is dan dat er niets anders op zit dan het gehele systeem door een nieuw systeem te vervangen.
Software kan op twee manieren worden voorbereid op toekomstige veranderingen. Het mooist is het wanneer van tevoren voorspeld kan worden waar veranderingen nodig zullen zijn. Op die plaatsen kunnen in de software zogenaamde variation points worden aangebracht. Bij software voor de Belastingdienst zou het bijvoorbeeld een slecht idee zijn om de regels voor het vaststellen van de hoogte van een aanslag te verspreiden door de gehele software. In plaats daarvan zouden die regels apart gehouden moeten worden, zodat direct duidelijk is waar de veranderingen moeten worden aangebracht. Zo’n plaats is een variation point.

Maar de mate waarin software te veranderen is, kan ook in het algemeen worden verbeterd. Software kan bijvoorbeeld zo worden opgezet dat een verandering op de ene plek geen effect heeft op de rest van de software: zo, dat er geen side-effects optreden.

Gereedschappen van de ontwerper

De softwareontwerper heeft twee belangrijke gereedschappen tot zijn of haar beschikking: losse koppeling en abstractie. Het probleem is dat niet alles los van elkaar gekoppeld kan worden en dat niet alles geabstraheerd kan worden: ergens zullen verbindingen moeten worden gelegd en waarden concreet gemaakt moeten worden. In de praktijk ontstaat er op allerlei deelgebieden steeds meer kennis over de vraag waar en hoe deze gereedschappen kunnen worden ingezet om software flexibel te maken. Deze kennis zal nooit uitputtend worden, alleen al vanwege het feit dat de techniek van hard- en software voortdurend verandert.

Op vrijdag 12 juni 2015 om 13.30 uur verdedigt Stuurman haar proefschrift in gebouw Pretoria van de Open Universiteit, Valkenburgerweg 177 in Heerlen. De promotor is prof. dr. Marko van Eekelen, voorzitter van de vakgroep Informatica van de faculteit Management, Science & Technology. De copromotoren zijn dr. Bastiaan Heeren en dr. ir. Harrie Passier.

Bron: Open Universiteit