Programvareutvikling livssyklus (SDLC) faser og modeller
Hva er SDLC?
SDLC er en systematisk prosess for å bygge programvare som sikrer kvaliteten og riktigheten til programvaren som bygges. SDLC-prosessen har som mål å produsere høykvalitets programvare som oppfyller kundenes forventninger. Systemutviklingen bør være fullført innen den forhåndsdefinerte tidsrammen og kostnaden. SDLC består av en detaljert plan som forklarer hvordan du planlegger, bygger og vedlikeholder spesifikk programvare. Hver fase av SDLC-livssyklusen har sin egen prosess og leveranser som går inn i neste fase. SDLC står for Programvareutvikling livssyklus og blir også referert til som applikasjonsutviklingens livssyklus.
Hvorfor SDLC?
Her er hovedgrunnene til at SDLC er viktig for å utvikle et programvaresystem.
- Det gir et grunnlag for prosjektplanlegging, planlegging og estimering
- Gir et rammeverk for et standardsett med aktiviteter og leveranser
- Det er en mekanisme for prosjektsporing og kontroll
- Øker synligheten av prosjektplanlegging for alle involverte interessenter i utviklingsprosessen
- Økt og forbedret utviklingshastighet
- Forbedrede kunderelasjoner
- Hjelper deg med å redusere prosjektrisiko og prosjektstyringsplan overhead
SDLC-faser
Hele SDLC-prosessen delt inn i følgende SDLC-trinn:
- Fase 1: Kravinnsamling og analyse
- Fase 2: Mulighetsstudie
- Fase 3: Design
- Fase 4: Koding
- Fase 5: Testing
- Fase 6: Installasjon/distribusjon
- Fase 7: Vedlikehold
I denne opplæringen har jeg forklart alle disse livssyklusfasene for programvareutvikling
Fase 1: Kravinnsamling og analyse
Kravet er det første trinnet i SDLC-prosessen. Det er utført av seniorteammedlemmene med innspill fra alle interessenter og domeneeksperter i bransjen. Planlegging for kvalitetssikring krav og anerkjennelse av risikoen er også gjort på dette stadiet.
Dette stadiet gir et klarere bilde av omfanget av hele prosjektet og de forventede problemene, mulighetene og direktivene som utløste prosjektet.
Krav Samlingsstadiet trenger team for å få detaljerte og presise krav. Dette hjelper bedrifter med å fullføre den nødvendige tidslinjen for å fullføre arbeidet med det systemet.
Fase 2: Mulighetsstudie
Når kravanalysefasen er fullført, er neste sdlc-trinn å definere og dokumentere programvarebehov. Denne prosessen ble utført ved hjelp av 'Software Requirement Specification'-dokumentet også kjent som 'SRS'-dokument. Den inkluderer alt som skal designes og utvikles i løpet av prosjektets livssyklus.
Det er hovedsakelig fem typer gjennomførbarhetskontroller:
- Økonomisk: Kan vi fullføre prosjektet innenfor budsjettet eller ikke?
- Juridisk: Kan vi håndtere dette prosjektet som cyberlov og andre regelverk/samsvar.
- Operagjennomførbarhet: Kan vi lage operasjoner som forventes av kunden?
- Teknisk: Må sjekke om det nåværende datasystemet kan støtte programvaren
- Tidsplan: Bestem at prosjektet kan fullføres innenfor gitt tidsplan eller ikke.
Fase 3: Design
I denne tredje fasen utarbeides system- og programvaredesigndokumentene i henhold til kravspesifikasjonsdokumentet. Dette bidrar til å definere den generelle systemarkitekturen.
Denne designfasen fungerer som input for neste fase av modellen.
Det er to typer designdokumenter utviklet i denne fasen:
Høynivådesign (HLD)
- Kort beskrivelse og navn på hver modul
- En oversikt over funksjonaliteten til hver modul
- Grensesnittforhold og avhengigheter mellom moduler
- Databasetabeller identifisert sammen med nøkkelelementene deres
- Komplette arkitekturdiagrammer sammen med teknologidetaljer
Lavnivådesign (LLD)
- Funksjonell logikk til modulene
- Databasetabeller, som inkluderer type og størrelse
- Fullstendig detalj av grensesnittet
- Løser alle typer avhengighetsproblemer
- Liste over feilmeldinger
- Komplette innganger og utganger for hver modul
Fase 4: Koding
Når systemdesignfasen er over, er neste fase koding. I denne fasen begynner utviklere å bygge hele systemet ved å skrive kode ved å bruke det valgte programmeringsspråket. I kodefasen deles oppgaver inn i enheter eller moduler og tildeles de ulike utviklerne. Det er den lengste fasen av livssyklusprosessen for programvareutvikling.
I denne fasen må utvikleren følge visse forhåndsdefinerte retningslinjer for koding. De må også bruke programmeringsverktøy som kompilator, tolker, debugger for å generere og implementere koden.
Fase 5: Testing
Når programvaren er fullført, og den er distribuert i testmiljøet. Testteamet begynner å teste funksjonaliteten til hele systemet. Dette gjøres for å verifisere at hele applikasjonen fungerer i henhold til kundens krav.
I løpet av denne fasen kan QA og testteam finne noen feil/defekter som de kommuniserer til utviklere. Utviklingsteamet fikser feilen og sender tilbake til QA for en ny test. Denne prosessen fortsetter til programvaren er feilfri, stabil og fungerer i henhold til forretningsbehovene til det systemet.
Fase 6: Installasjon/distribusjon
Når programvaretestfasen er over og ingen feil eller feil er igjen i systemet, starter den endelige distribusjonsprosessen. Basert på tilbakemeldingene gitt av prosjektlederen, blir den endelige programvaren utgitt og sjekket for eventuelle distribusjonsproblemer.
Fase 7: Vedlikehold
Når systemet er distribuert, og kundene begynner å bruke det utviklede systemet, skjer følgende 3 aktiviteter
- Feilretting – feil rapporteres på grunn av enkelte scenarier som ikke er testet i det hele tatt
- Upgrade – Oppgradering av applikasjonen til nyere versjoner av programvaren
- Forbedring – Legger til noen nye funksjoner i eksisterende programvare
Hovedfokuset i denne SDLC-fasen er å sikre at behovene fortsetter å bli dekket og at systemet fortsetter å fungere i henhold til spesifikasjonen nevnt i første fase.
Populære SDLC-modeller
Her er noen av de viktigste modellene for Software Development Life Cycle (SDLC):
Fossmodell i SDLC
Fossen er en allment akseptert SDLC-modell. I denne tilnærmingen er hele prosessen med programvareutvikling delt inn i ulike faser av SDLC. I denne SDLC-modellen fungerer resultatet av en fase som input for neste fase.
Denne SDLC-modellen er dokumentasjonskrevende, med tidligere faser som dokumenterer hva som må utføres i de påfølgende fasene.
Inkrementell modell i SDLC
Den inkrementelle modellen er ikke en egen modell. Det er egentlig en serie med fossefallssykluser. Kravene deles inn i grupper ved oppstart av prosjektet. For hver gruppe følges SDLC-modellen for å utvikle programvare. SDLC-livssyklusprosessen gjentas, med hver utgivelse som legger til mer funksjonalitet til alle krav er oppfylt. I denne metoden fungerer hver syklus som vedlikeholdsfasen for forrige programvareversjon. Endring av den inkrementelle modellen gjør at utviklingssykluser kan overlappe hverandre. Etter den påfølgende syklusen kan begynne før forrige syklus er fullført.
V-modell i SDLC
I denne typen SDLC-modelltesting og utviklingen planlegges fasen parallelt. Så det er verifiseringsfaser av SDLC på siden og valideringsfasen på den andre siden. V-Model blir med etter kodingsfase.
Smidig modell i SDLC
Agile metodikk er en praksis som fremmer kontinuerlig interaksjon mellom utvikling og testing under SDLC-prosessen til ethvert prosjekt. I Agile-metoden er hele prosjektet delt inn i små inkrementelle bygg. Alle disse byggene leveres i iterasjoner, og hver iterasjon varer fra én til tre uker.
Spiral modell
Spiralmodellen er en risikodrevet prosessmodell. Denne SDLC-testmodellen hjelper teamet med å ta i bruk elementer av en eller flere prosessmodeller som en foss, inkrementell, foss, etc.
Denne modellen tar i bruk de beste egenskapene til prototypmodellen og fossemodellen. Spiralmetodikken er en kombinasjon av rask prototyping og samtidighet i design- og utviklingsaktiviteter.
Big bang modell
Big bang-modellen fokuserer på alle typer ressurser innen programvareutvikling og koding, med ingen eller svært lite planlegging. Kravene blir forstått og implementert når de kommer.
Denne modellen fungerer best for små prosjekter med mindre utviklingsteam som jobber sammen. Det er også nyttig for akademiske programvareutviklingsprosjekter. Det er en ideell modell der kravene enten er ukjente eller endelig utgivelsesdato ikke er gitt.
Oppsummering
- Software Development Life Cycle (SDLC) er en systematisk prosess for å bygge programvare som sikrer kvaliteten og riktigheten til programvaren som bygges
- Full form SDLC er Software Development Life Cycle eller Systems Development Life Cycle.
- SDLC i programvareteknikk gir et rammeverk for et standardsett med aktiviteter og leveranser
- Syv forskjellige SDLC-stadier er 1) Kravinnsamling og -analyse 2) Mulighetsstudie: 3) Design 4) Koding 5) Testing: 6) Installasjon/Deployering og 7) Vedlikehold
- Seniorteammedlemmene gjennomfører kravanalyse fase
- Mulighetsstudiestadiet inkluderer alt som bør designes og utvikles i løpet av prosjektets livssyklus
- I designfasen utarbeides system- og programvaredesigndokumentene i henhold til kravspesifikasjonsdokumentet
- I kodefasen begynner utviklere å bygge hele systemet ved å skrive kode ved å bruke det valgte programmeringsspråket
- Testing er neste fase som gjennomføres for å verifisere at hele applikasjonen fungerer i henhold til kundens krav.
- Installasjons- og distribusjonsflaten begynner når programvaretesting fasen er over, og ingen feil eller feil igjen i systemet
- Feilretting, oppgradering og tilkoblingshandlinger dekket i vedlikeholdsforsiden
- Waterfall, Incremental, Agile, V-modell, Spiral, Big Bang er noen av de populære SDLC-modellene innen programvareteknikk
- SDLC i programvaretesting består av en detaljert plan som forklarer hvordan du planlegger, bygger og vedlikeholder spesifikk programvare