Achtergrond

Een Design Structure Matrix geeft grip op softwareafhankelijkheden

Johan van den Muijsenberg is senior softwareconsultant bij Alten PTS.

Leestijd: 6 minuten

Bij softwareontwikkeling is een hoog innovatietempo een vereiste. Door de aanhoudende tijdsdruk is er veelal weinig aandacht voor de softwarearchitectuur. Deze kan daardoor gaandeweg complexer worden, waardoor aanpassingen steeds duurder en tijdrovender worden. Johan van den Muijsenberg legt uit hoe gebruik van een Design Structure Matrix kan helpen om complexe softwareafhankelijkheden inzichtelijk te maken en de afhankelijkheidsstructuur te verbeteren.

Idealiter is software eenvoudig aan te passen, begrijpelijk, betrouwbaar en herbruikbaar. In praktijk blijft dit vaak een ideaal en wordt de software in de loop van de tijd steeds meer rigide, ondoorzichtig en fragiel. Ook zijn componenten moeilijk te isoleren en daardoor niet herbruikbaar en individueel testbaar. Aanpassingen worden steeds lastiger en op een gegeven moment is herschrijven goedkoper.

Al deze problemen worden veroorzaakt door softwareafhankelijkheden. Hoewel de regels voor goed ontwerp bekend zijn, blijken veel projecten er last van te hebben. Een van de redenen is dat de softwarearchitectuur vaak is vastgelegd op een conceptueel niveau dat onvoldoende precisie heeft ten aanzien van welke dependencies toegestaan zijn en welke niet. Daarnaast kunnen aanpassingen op broncodeniveau onbedoeld afhankelijkheden toevoegen, waardoor de gedocumenteerde en daadwerkelijke architectuur van elkaar gaan afwijken. Ook is de veelgebruikte UML-notatie ongeschikt voor representatie van grote hoeveelheden dependencies.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one and enjoy all the benefits.

Login

Related content