Wat is een onderhoudsrelease?
Een onderhoudsrelease is een softwareversie die een beveiligingsfout of een kleine fout corrigeert zonder kerncomponenten te wijzigen of nieuwe functies toe te voegen. Ze zijn meestal genummerd in tienden of honderdsten om ze te onderscheiden van belangrijke releases, die eenvoudigweg versie 1.0, versie 2.0, enzovoort zijn genummerd. Een onderhoudsrelease maakt deel uit van de werking van het systeem en de ondersteuningsfase van de levenscyclus van de softwareversie.
Elke softwaretoepassing doorloopt de levenscyclus van de softwareversie. Het begint met systeemanalyse en het ontdekken van vereisten, een fase waarin de gegevens en processen worden gemodelleerd. Vervolgens gaat het door naar de ontwerpfase, de bouwfase, de implementatiefase en uiteindelijk de operationele en ondersteunende fase. Het is in deze laatste fase dat voortdurende technische ondersteuning voor gebruikers wordt toegepast via de introductie van onderhoudsreleases die fouten herstellen of het hele systeem upgraden door de basisvereisten opnieuw te modelleren.
Gewoonlijk is een onderhoudsrelease vereist om basisprogrammeerfouten te herstellen. Deze verschijnen meestal vanwege fouten die zijn gemaakt in een van de eerdere fasen van de levenscyclus van de software. Als tijdens de fase van de vereistenanalyse bijvoorbeeld de vereisten onjuist worden gecommuniceerd of gevalideerd, kan dit leiden tot grote fouten die pas veel later opduiken. Dit komt eigenlijk veel voor en daarom moest bijna elk stukje software dat ooit werd uitgebracht op een of ander moment een onderhoudsrelease ondergaan.
Dit zijn verschillende fundamentele doelstellingen van een onderhoudsrelease. Ten eerste moet de release wijzigingen aanbrengen in bestaande programma's om fouten in de vereisten, het ontwerp of de implementatiefase te corrigeren. Het moet er ook voor zorgen dat nieuw gemaakte fixes geen invloed hebben op andere aspecten van het gewijzigde segment en dat nieuw aangebrachte wijzigingen geen invloed hebben op de activiteiten van andere segmenten. Ten slotte mag de release geen nadelige gevolgen hebben voor de systeemprestaties. Over het algemeen proberen software-ingenieurs dit proces zo snel mogelijk te voltooien, zonder in te boeten aan kwaliteit of betrouwbaarheid.
Voordat een onderhoudsrelease kan worden uitgegeven, moet deze grondig worden getest via drie methoden: unit-testen, systeemtesten en regressietesten. Eenheidstesten zorgen ervoor dat het specifieke segment van het programma dat nu is vastgesteld, correct functioneert. Systeemtests zorgen er daarentegen voor dat het nieuwe vaste segment van het programma geen andere programmasegmenten verstoort. Regressietesten maken gebruik van statistische gegevens om te controleren of de algehele doorvoer of responstijd positief of negatief werd beïnvloed door de veranderingen.
Het laatste en misschien belangrijkste aspect van systeemonderhoud is versiebeheer. In dit deel van het proces registreert en volgt een getrainde, op software gebaseerde bibliothecaris nauwgezet alle aangebrachte wijzigingen. Dit maakt het mogelijk voor software-ingenieurs om terug te gaan voor het geval de onderhoudsrelease onverwachte fouten aantreft.