Freeze (programvaruteknik)

Inom mjukvaruteknik är en frysning en tidpunkt i utvecklingsprocessen efter vilken reglerna för att göra ändringar i källkoden eller relaterade resurser blir strängare, eller den period under vilken dessa regler tillämpas. En frysning hjälper till att flytta projektet framåt mot en release eller slutet av en iteration genom att minska omfattningen eller frekvensen av ändringar, och kan användas för att uppfylla en färdplan .

De exakta reglerna beror på typen av frysning och den speciella utvecklingsprocessen som används; till exempel kan de inkludera att endast tillåta ändringar som fixar buggar , eller tillåta ändringar endast efter noggrann granskning av andra medlemmar i utvecklingsteamet. De kan också ange vad som händer om en ändring som strider mot reglerna krävs, som att återstarta frysningsperioden. Vanliga typer av frysningar är:

  • En (fullständig) specifikationsfrysning, där de inblandade parterna beslutar att inte lägga till några nya krav, specifikationer eller funktioner till funktionslistan för ett programvaruprojekt, för att påbörja kodningsarbetet.
  • En (fullständig) funktionsfrysning, där allt arbete med att lägga till nya funktioner avbryts, vilket flyttar arbetet mot att fixa buggar och förbättra användarupplevelsen. Tillägget av nya funktioner kan ha en störande effekt på andra delar av programmet, både på grund av introduktionen av ny, oprövad källkod eller resurser och på interaktioner med andra funktioner; en funktionsfrysning hjälper därför till att förbättra programmets stabilitet. Till exempel: "frysning av användargränssnittsfunktioner" betyder att inga fler funktioner kommer att tillåtas för användargränssnittsdelen av koden; buggar kan fortfarande fixas.
  • En (fullständig) kodfrysning, där inga som helst ändringar är tillåtna på en del eller hela programmets källkod. Särskilt i stora programvarusystem kan varje ändring av källkoden få oavsiktliga konsekvenser , vilket potentiellt kan introducera nya buggar; Således hjälper en kodfrysning till att en del av programmet som är känt för att fungera korrekt kommer att fortsätta att göra det. Kodfrysningar används ofta i de sista stadierna av utvecklingen, när en viss utgåva eller iteration testas, men kan också användas för att förhindra ändringar i en del av ett program medan en annan är under utveckling. Till exempel: "frysning av fysik" betyder att inga som helst ändringar kommer att tillåtas i fysikdelen av koden.

Genomföranden

I utvecklingsmiljöer som använder versionskontroll kan användningen av förgrening lindra förseningar i utvecklingen orsakade av frysningar. Till exempel kan ett projekt ha en "stabil" gren från vilken nya versioner av programvaran släpps, och en separat "utvecklingsgren" där utvecklarna lägger till ny kod. Effekten av en frysning är då att förhindra främjande av vissa eller alla förändringar från utvecklingsgrenen till den stabila grenen. Med andra ord gäller frysningen endast den stabila grenen, och utvecklare kan fortsätta sitt arbete med utvecklingsgrenen.

Se även