Faser och modeller för mjukvaruutvecklingslivscykel (SDLC).
Vad är SDLC?
SDLC är en systematisk process för att bygga mjukvara som säkerställer kvaliteten och korrektheten hos den byggda mjukvaran. SDLC-processen syftar till att producera högkvalitativ mjukvara som möter kundernas förväntningar. Systemutvecklingen bör vara klar inom den fördefinierade tidsramen och kostnaden. SDLC består av en detaljerad plan som förklarar hur man planerar, bygger och underhåller specifik programvara. Varje fas av SDLC:s livscykel har sin egen process och leveranser som matas in i nästa fas. SDLC står för Programvaruutveckling livscykel och kallas även för applikationsutvecklingens livscykel.
Varför SDLC?
Här är de främsta anledningarna till varför SDLC är viktigt för att utveckla ett mjukvarusystem.
- Det erbjuder en grund för projektplanering, schemaläggning och uppskattning
- Tillhandahåller ett ramverk för en standarduppsättning av aktiviteter och resultat
- Det är en mekanism för projektspårning och kontroll
- Ökar synlighet av projektplanering för alla inblandade intressenter i utvecklingsprocessen
- Ökat och förbättra utvecklingshastigheten
- Förbättrade kundrelationer
- Hjälper dig att minska projektrisker och projektledningsplaner
SDLC faser
Hela SDLC-processen är uppdelad i följande SDLC-steg:
- Fas 1: Kravinsamling och analys
- Fas 2: Förstudie
- Fas 3: Design
- Fas 4: Kodning
- Fas 5: Testning
- Fas 6: Installation/distribution
- Fas 7: Underhåll
I den här handledningen har jag förklarat alla dessa livscykelfaser för mjukvaruutveckling
Fas 1: Kravinsamling och analys
Kravet är det första steget i SDLC-processen. Den genomförs av seniorteammedlemmarna med input från alla intressenter och domänexperter i branschen. Planering för kvalitetssäkring krav och erkännande av de inblandade riskerna görs också i detta skede.
Detta skede ger en tydligare bild av hela projektets omfattning och de förväntade problem, möjligheter och direktiv som utlöste projektet.
Krav Insamlingsstadiet behöver team för att få detaljerade och exakta krav. Detta hjälper företag att slutföra den nödvändiga tidslinjen för att avsluta arbetet med det systemet.
Fas 2: Förstudie
När kravanalysfasen är klar är nästa sdlc-steg att definiera och dokumentera programvarubehov. Denna process genomfördes med hjälp av dokumentet 'Software Requirement Specification', även känt som 'SRS'-dokument. Det inkluderar allt som bör designas och utvecklas under projektets livscykel.
Det finns huvudsakligen fem typer av genomförbarhetskontroller:
- Ekonomisk: Kan vi slutföra projektet inom budgeten eller inte?
- Juridiskt: Kan vi hantera detta projekt som cyberrätt och andra regelverk/efterlevnad.
- Operagenomförbarhet: Kan vi skapa verksamhet som förväntas av kunden?
- Teknisk: Behöver kontrollera om det nuvarande datorsystemet kan stödja programvaran
- Schema: Bestäm att projektet kan slutföras inom den givna tidsplanen eller inte.
Fas 3: Design
I denna tredje fas förbereds system- och mjukvarudesigndokumenten enligt kravspecifikationsdokumentet. Detta hjälper till att definiera den övergripande systemarkitekturen.
Denna designfas fungerar som input för nästa fas av modellen.
Det finns två typer av designdokument som utvecklats i denna fas:
High-Level Design (HLD)
- Kort beskrivning och namn på varje modul
- En översikt över funktionaliteten för varje modul
- Gränssnittsrelation och beroenden mellan moduler
- Databastabeller identifierade tillsammans med deras nyckelelement
- Kompletta arkitekturdiagram tillsammans med tekniska detaljer
Lågnivådesign (LLD)
- Modulernas funktionella logik
- Databastabeller, som inkluderar typ och storlek
- Fullständig detalj av gränssnittet
- Tar upp alla typer av beroendeproblem
- Lista över felmeddelanden
- Kompletta in- och utgångar för varje modul
Fas 4: Kodning
När väl systemdesignfasen är över är nästa fas kodning. I denna fas börjar utvecklare bygga hela systemet genom att skriva kod med det valda programmeringsspråket. I kodningsfasen delas uppgifter in i enheter eller moduler och tilldelas de olika utvecklarna. Det är den längsta fasen av mjukvaruutvecklingens livscykelprocess.
I denna fas måste utvecklaren följa vissa fördefinierade kodningsriktlinjer. De behöver också använda programmeringsverktyg som kompilator, tolkar, debugger för att generera och implementera koden.
Fas 5: Testning
När programvaran är klar och den har distribuerats i testmiljön. Testteamet börjar testa hela systemets funktionalitet. Detta görs för att verifiera att hela applikationen fungerar enligt kundens krav.
Under denna fas kan QA och testteam hitta några buggar/defekter som de kommunicerar till utvecklare. Utvecklingsteamet fixar felet och skickar tillbaka till QA för ett nytt test. Denna process fortsätter tills programvaran är buggfri, stabil och fungerar enligt affärsbehoven i det systemet.
Fas 6: Installation/distribution
När mjukvarutestfasen är över och inga buggar eller fel finns kvar i systemet startar den sista implementeringsprocessen. Baserat på feedback från projektledaren släpps den slutliga programvaran och kontrolleras för eventuella implementeringsproblem.
Fas 7: Underhåll
När systemet har implementerats och kunderna börjar använda det utvecklade systemet, inträffar följande tre aktiviteter
- Buggfixing – buggar rapporteras på grund av vissa scenarier som inte testas alls
- Upgrade – Uppgradering av applikationen till de nyare versionerna av programvaran
- Förbättring – Lägga till några nya funktioner i den befintliga programvaran
Huvudfokus för denna SDLC-fas är att säkerställa att behoven fortsätter att tillgodoses och att systemet fortsätter att fungera enligt specifikationen som nämndes i den första fasen.
Populära SDLC-modeller
Här är några av de viktigaste modellerna av Software Development Life Cycle (SDLC):
Vattenfallsmodell i SDLC
Vattenfallet är en allmänt accepterad SDLC-modell. I detta tillvägagångssätt är hela processen för mjukvaruutveckling uppdelad i olika faser av SDLC. I denna SDLC-modell fungerar resultatet av en fas som indata för nästa fas.
Denna SDLC-modell är dokumentationsintensiv, med tidigare faser som dokumenterar vad som behöver utföras i de efterföljande faserna.
Inkrementell modell i SDLC
Den inkrementella modellen är inte en separat modell. Det är i huvudsak en serie vattenfallscykler. Kraven delas in i grupper i början av projektet. För varje grupp följs SDLC-modellen för att utveckla mjukvara. SDLC-livscykelprocessen upprepas, med varje version som lägger till mer funktionalitet tills alla krav är uppfyllda. I den här metoden fungerar varje cykel som underhållsfas för den tidigare programversionen. Ändring av den inkrementella modellen tillåter utvecklingscykler att överlappa varandra. Efter den efterföljande cykeln kan den börja innan den föregående cykeln är klar.
V-modell i SDLC
I denna typ av SDLC-modelltestning och utvecklingen planeras fasen parallellt. Så det finns verifieringsfaser av SDLC på sidan och valideringsfasen på andra sidan. V-Model ansluter genom kodningsfas.
Agil modell i SDLC
Agil metodik är en praxis som främjar fortsatt interaktion mellan utveckling och testning under SDLC-processen för alla projekt. I Agile-metoden är hela projektet uppdelat i små inkrementella byggen. Alla dessa builds tillhandahålls i iterationer, och varje iteration varar från en till tre veckor.
Spiralmodell
Spiralmodellen är en riskdriven processmodell. Denna SDLC-testmodell hjälper teamet att anta delar av en eller flera processmodeller som ett vattenfall, inkrementellt, vattenfall, etc.
Denna modell använder de bästa egenskaperna hos prototypmodellen och vattenfallsmodellen. Spiralmetoden är en kombination av snabb prototypframställning och samtidighet i design- och utvecklingsaktiviteter.
Big bang modell
Big bang-modellen fokuserar på alla typer av resurser inom mjukvaruutveckling och kodning, med ingen eller väldigt lite planering. Kraven förstås och implementeras när de kommer.
Denna modell fungerar bäst för små projekt med mindre utvecklingsteam som arbetar tillsammans. Det är också användbart för akademiska programvaruutvecklingsprojekt. Det är en idealisk modell där kraven antingen är okända eller där slutgiltigt releasedatum inte anges.
Sammanfattning
- Software Development Life Cycle (SDLC) är en systematisk process för att bygga mjukvara som säkerställer kvaliteten och korrektheten hos den byggda mjukvaran
- Den fullständiga formen SDLC är Software Development Life Cycle eller System Development Life Cycle.
- SDLC inom mjukvaruteknik tillhandahåller ett ramverk för en standarduppsättning av aktiviteter och leveranser
- Sju olika SDLC-steg är 1) Kravinsamling och analys 2) Genomförbarhetsstudie: 3) Design 4) Kodning 5) Testning: 6) Installation/Deployment och 7) Underhåll
- Seniorteammedlemmarna leder kravanalys fas
- Förstudiestadiet inkluderar allt som bör designas och utvecklas under projektets livscykel
- I designfasen förbereds system- och mjukvarudesigndokumenten enligt kravspecifikationsdokumentet
- I kodningsfasen börjar utvecklare bygga hela systemet genom att skriva kod med det valda programmeringsspråket
- Testning är nästa fas som genomförs för att verifiera att hela applikationen fungerar enligt kundens krav.
- Installations- och distributionssidan börjar när mjukvarutestning fasen är över och inga buggar eller fel kvar i systemet
- Åtgärder för felkorrigering, uppgradering och inkoppling täcks av underhållssidan
- Waterfall, Incremental, Agile, V-modell, Spiral, Big Bang är några av de populära SDLC-modellerna inom mjukvaruteknik
- SDLC i mjukvarutestning består av en detaljerad plan som förklarar hur man planerar, bygger och underhåller specifik programvara