SDLC – Iterativ modell

Advertisements

I den iterativa modellen startar den iterativa processen med en enkel implementering av en liten uppsättning programvarukrav och förbättrar iterativt de framväxande versionerna tills det kompletta systemet har implementerats och är redo att tas i bruk.

En iterativ livscykelmodell försöker inte börja med en fullständig specifikation av kraven. Istället börjar utvecklingen med att specificera och implementera endast en del av programvaran, som sedan granskas för att identifiera ytterligare krav. Denna process upprepas sedan och producerar en ny version av programvaran i slutet av varje iteration av modellen.

Iterativ modell – Design

Iterativ process börjar med en enkel implementering av en delmängd av programvarukraven och förbättrar iterativt de framväxande versionerna tills hela systemet är implementerat. Vid varje iteration görs konstruktionsändringar och nya funktionella möjligheter läggs till. Den grundläggande idén bakom denna metod är att utveckla ett system genom upprepade cykler (iterativ) och i mindre delar åt gången (inkrementell).

Följande illustration är en representation av den iterativa och inkrementella modellen –

Iterativ och inkrementell utveckling är en kombination av både iterativ design eller iterativ metod och inkrementell byggmodell för utveckling. ”Under programvaruutveckling kan mer än en iteration av programvaruutvecklingscykeln pågå samtidigt.” Denna process kan beskrivas som en ”evolutionär anskaffning” eller ”inkrementell uppbyggnad”

I denna inkrementella modell delas hela kravet in i olika uppbyggnader. Under varje iteration går utvecklingsmodulen igenom krav-, design-, implementerings- och testfaserna. Varje efterföljande version av modulen lägger till funktioner till den föregående versionen. Processen fortsätter tills hela systemet är färdigt enligt kraven.

Nyckeln till en framgångsrik användning av en iterativ livscykel för mjukvaruutveckling är rigorös validering av kraven och verifiering & testning av varje version av mjukvaran mot dessa krav inom varje cykel av modellen. När programvaran utvecklas genom successiva cykler måste testerna upprepas och utökas för att verifiera varje version av programvaran.

Iterativ modell – tillämpning

I likhet med andra SDLC-modeller har iterativ och inkrementell utveckling vissa specifika tillämpningar inom programvaruindustrin. Denna modell används oftast i följande scenarier –

  • Kraven på hela systemet är tydligt definierade och förstådda.

  • De viktigaste kraven måste definieras, men vissa funktioner eller begärda förbättringar kan utvecklas med tiden.

  • Det finns en tidsbegränsning till marknaden.

  • En ny teknik används och lärs av utvecklingsteamet under arbetet med projektet.

  • Resurser med nödvändiga färdigheter finns inte tillgängliga och planeras att användas på kontraktsbasis för specifika iterationer.

  • Det finns vissa högriskfunktioner och mål som kan ändras i framtiden.

Iterativ modell – Fördelar och nackdelar

Fördelen med denna modell är att det finns en fungerande modell av systemet i ett mycket tidigt skede av utvecklingen, vilket gör det lättare att hitta funktionella eller designmässiga brister. Att hitta problem i ett tidigt skede av utvecklingen gör det möjligt att vidta korrigerande åtgärder inom en begränsad budget.

Nackdelen med denna SDLC-modell är att den endast är tillämpbar på stora och skrymmande programvaruutvecklingsprojekt. Detta beror på att det är svårt att dela upp ett litet programvarusystem i ytterligare små tjänbara steg/moduler.

Fördelarna med den iterativa och inkrementella SDLC-modellen är följande –

  • En del fungerande funktionalitet kan utvecklas snabbt och tidigt i livscykeln.

  • Resultat erhålls tidigt och regelbundet.

  • Parallell utveckling kan planeras.

  • Framsteg kan mätas.

  • Mindre kostnadskrävande att ändra omfattningen/kraven.

  • Testning och felsökning under mindre iterationer är lätt.

  • Risker identifieras och åtgärdas under iterationen, och varje iteration är en milstolpe som är lätt att hantera.

  • Lättare att hantera risker – delen med hög risk görs först.

  • Med varje steg levereras en operativ produkt.

  • Problem, utmaningar och risker som identifieras från varje steg kan användas/tillämpas på nästa steg.

  • Riskanalysen är bättre.

  • Det stödjer förändrade krav.

  • Den initiala drifttiden är mindre.

  • Bättre lämpad för stora och verksamhetskritiska projekt.

  • Under livscykeln produceras programvaran tidigt, vilket underlättar kundutvärdering och feedback.

Nackdelarna med den iterativa och inkrementella SDLC-modellen är följande –

  • Mer resurser kan krävas.

  • Och även om förändringskostnaden är mindre är den inte särskilt lämplig för förändrade krav.

  • Mer uppmärksamhet från ledningen krävs.

  • Systemarkitektur- eller designproblem kan uppstå eftersom alla krav inte samlas in i början av hela livscykeln.

  • Definiering av steg kan kräva definition av hela systemet.

  • Inte lämpligt för mindre projekt.

  • Hanteringskomplexiteten är större.

  • Projektets slut kanske inte är känt vilket är en risk.

  • Högkvalificerade resurser krävs för riskanalys.

  • Projektens framskridande är starkt beroende av riskanalysfasen.

Advertisements

.

Lämna ett svar

Din e-postadress kommer inte publiceras.