Structuur IMPACT

In IMPACT worden bij het uitvoeren van acties gegevens uit de database gelezen, aangepast en opgeslagen. Bij de ontwikkeling van deze acties worden keuzes gemaakt op basis van diverse non-functionele eisen, zoals gebruikelijk is in de softwareontwikkeling.

Het belangrijkste doel is om een onderhoudbaar en toekomstbestendig systeem te creëren. Dit heeft geleid tot het opdrachtbeheersysteem zoals we dat nu kennen in IMPACT. Het systeem maakt het mogelijk om opdrachten te verdelen over ritten, te automatiseren via transportplannen en voor te bereiden op toekomstige uitbreidingen, zoals facturering. Echter, deze doelen hebben mogelijk te veel gewicht gekregen ten opzichte van de prestaties bij het aanpassen van opdrachtgegevens.

IMPACT maakt gebruik van een systeem waarin gegevens met directe relaties direct worden geladen bij wijzigingen. Gegevens met indirecte relaties worden pas geladen wanneer ze nodig zijn. Voor opdrachten zijn directe relaties bijvoorbeeld opdrachtregels, taken en goederen. Voor ritten zijn dit de stops en rit-taken. Indirecte relaties omvatten zaken zoals taaksoorten, opdrachtsoorten en transportplannen, die vaak te vinden zijn onder de stamgegevens of configuratiemenu's. Op deze manier wordt een balans gezocht tussen snelheid en onderhoudbaarheid, zonder in te leveren op automatiseringsopties.

Onderzoek

Naar aanleiding van de wens om acties in IMPACT te versnellen, hebben we onderzocht wanneer acties veel tijd in beslag namen. Dit bleek vooral voor te komen bij systemen waar opdrachten een groot aantal (50+) opdrachtregels bevatten. In zo’n geval moest een grote lijst opdrachtregels worden ingeladen om bijvoorbeeld status, opbrengst en kosten tussen opdracht en rit te synchroniseren.

Uit het onderzoek bleek dat ritten meestal slechts één opdrachtregel per opdracht behandelden. De oplossing lag daarom voor de hand: wijzigingen in een rit hoeven niet te resulteren in het laden van alle bijbehorende opdrachten, maar alleen van de opdrachten die door de gebruikersactie worden beïnvloed.

We hebben het systeem aangepast zodat opdrachtregels onafhankelijk van opdrachten worden beheerd. Hierdoor moeten aanvullende acties worden uitgevoerd wanneer wijzigingen in opdrachtregels ook gevolgen hebben voor een opdracht. Maar in die gevallen zijn overige opdrachtregels niet langer nodig. Zo hebben we de applicatie kunnen optimaliseren voor de meest voorkomende gebruiksscenario’s.

Uiteraard hebben we tijdens dit onderzoek meer geleerd. We blijven de processen en het gebruikersgedrag van onze klanten analyseren, zodat we verbeteringen kunnen doorvoeren op basis van relevantie en waarde.

Nieuws over IMPACT
16 april 2025 +/- 5 minuten leestijd