Softwareudvikling livscyklus - SDLC

Softwareudviklings livscyklus eller SDLC er en proces, der bruges til at udvikle software. Der er forskellige faser eller faser inden for softwareudviklingens livscyklus, og i hver fase finder forskellige aktiviteter sted.

SDLC skaber en struktur, som udviklingsholdene kan designe, oprette og levere software af høj kvalitet ved at definere forskellige opgaver, der skal ske. Livscyklussen definerer en metode til forbedring af softwarekvaliteten og den samlede udviklingsproces.

Hensigten med en SDLC behandler det for at hjælpe med at producere et produkt, der er omkostningseffektivt, effektivt og af høj kvalitet.




SDLC-faser

1. Kravsanalyse

Softwareudviklingens livscyklus begynder med en kravanalysefase, hvor interessenterne diskuterer kravene til den software, der skal udvikles for at nå et mål. Målet med kravanalysefasen er at fange detaljerne i hvert krav og at sikre, at alle forstår omfanget af arbejdet, og hvordan hvert krav skal opfyldes.

Det er en normal praksis at også diskutere, hvordan hvert krav testes, og så testere kan tilføje stor værdi ved at deltage i kravanalysemøder.


Afhængigt af hvilken softwareudviklingsmetode der anvendes, anvendes forskellige tilgange til at flytte fra en fase til en anden. For eksempel i vandfalds- eller V-modellen gemmes kravsanalysefasen i et SRS-dokument (Software Requirement Specification) og skal afsluttes, inden den næste fase kan finde sted.

2. Design

Den næste fase af SDLC er designfasen. I designfasen starter udviklere og tekniske arkitekter design på højt niveau af softwaren og systemet for at kunne levere hvert krav.

De tekniske detaljer ved designet diskuteres med interessenterne, og forskellige parametre, såsom risici, teknologier, der skal bruges, teamets kapacitet, projektbegrænsninger, tid og budget gennemgås, og derefter vælges den bedste designtilgang til produktet.

Det valgte arkitektoniske design definerer alle de komponenter, der skal udvikles, kommunikation med tredjepartstjenester, brugerflow og databasekommunikation samt front-end-repræsentationer og adfærd for hver komponent. Designet opbevares normalt i DSD (Design Specification Document)


3. Implementering

Når kravene og designaktiviteten er afsluttet, er den næste fase af SDLC implementeringen eller udviklingen af ​​softwaren. I denne fase begynder udviklere at kode i henhold til kravene og designet diskuteret i tidligere faser.

Database-administratorer opretter de nødvendige data i databasen, front-end-udviklere opretter de nødvendige grænseflader og GUI for at interagere med back-end alt baseret på retningslinjer og procedurer defineret af virksomheden.

Udviklere skriver også enhedstest for hver komponent for at teste den nye kode, de har skrevet, gennemgå hinandens kode, oprette builds og implementere software til et miljø. Denne udviklingscyklus gentages, indtil kravene er opfyldt.

4. Testning

Test er den sidste fase af softwareudviklingens livscyklus, før softwaren leveres til kunderne. Under test begynder erfarne testere at teste systemet mod kravene.


Testerne har til formål at finde fejl i systemet samt kontrollere, om applikationen opfører sig som forventet, og i henhold til hvad der blev dokumenteret i kravanalysefasen.

Testere kan enten bruge et testscript til at udføre hver test og kontrollere resultaterne eller bruge sonderende test, som mere er en oplevelsesbaseret tilgang.

Det er muligt, at defekter identificeres i testfasen. Når en fejl er fundet, informerer testere udviklerne om detaljerne i problemet, og hvis det er en gyldig fejl, vil udviklere rette og oprette en ny version af softwaren, som skal bekræftes igen.

Denne cyklus gentages, indtil alle krav er testet, og alle mangler er rettet, og softwaren er klar til afsendelse.


5. Implementering og vedligeholdelse

Når softwaren er testet fuldt ud og nej højt prioriterede spørgsmål forbliver i softwaren, er det tid til at implementere til produktion, hvor kunder kan bruge systemet.

Når en version af softwaren er frigivet til produktion, er der normalt et vedligeholdelsesteam, der tager sig af eventuelle problemer efter produktionen.

Hvis der opstår et problem i produktionen, informeres udviklingsholdet, og afhængigt af hvor alvorligt problemet er, kan det enten kræve en hot-fix, som oprettes og sendes på kort tid, eller hvis det ikke er meget alvorligt, kan det vente indtil næste version af softwaren.

Konklusion

Alle trin i softwareudviklingslivscyklussen defineret ovenfor gælder for enhver softwareudviklingsmetode, men varigheden og aktiviteterne i hver fase afhænger af, om du følger V Model-udviklingsmetoden eller Agile.


I Agile er varigheden af ​​at levere en fungerende software typisk mellem 2 og 4 uger, så hver af de ovennævnte faser forkortes. Også i agile er det en hel holdtilgang, hvor udviklere og testere er involveret og arbejder sammen for at fremstille et produkt af høj kvalitet.