Životni ciklus razvoja softvera - SDLC

Životni ciklus razvoja softvera ili SDLC je postupak koji se koristi za razvoj softvera. Postoje različite faze ili faze u životnom ciklusu razvoja softvera i u svakoj fazi se odvijaju različite aktivnosti.

SDLC stvara strukturu za razvojne timove kako bi mogli dizajnirati, kreirati i isporučivati ​​visokokvalitetni softver definiranjem različitih zadataka koji se trebaju dogoditi Životni ciklus definira metodologiju za poboljšanje kvaliteta softvera i cjelokupnog procesa razvoja.

Namjera SDLC-a je da pomogne u proizvodnji proizvoda koji je isplativ, djelotvoran i visokokvalitetan.




SDLC faze

1. Analiza zahtjeva

Životni ciklus razvoja softvera započinje fazom analize zahtjeva, gdje dionici raspravljaju o zahtjevima softvera koji treba razviti da bi se postigao cilj. Cilj faze analize zahtjeva je uhvatiti detalje svakog zahtjeva i osigurati da svi razumiju opseg posla i kako će svaki zahtjev biti ispunjen.

Uobičajena je praksa također raspravljati o tome kako će se testirati svaki zahtjev, tako da testeri mogu dodati veliku vrijednost u sudjelovanju na sastancima za analizu zahtjeva.


Ovisno o tome koja se metodologija razvoja softvera koristi, prelaze se iz jedne faze u drugu različiti pristupi. Na primjer, u modelu vodopada ili V, faza analize zahtjeva sprema se u dokument SRS (Specifikacija zahtjeva softvera) i mora biti finalizirana prije nego što se dogodi sljedeća faza.

2. Dizajn

Sljedeća faza SDLC-a je faza dizajniranja. Tokom faze dizajniranja, programeri i tehnički arhitekti započinju dizajn softvera i sistema na visokoj razini kako bi mogli ispuniti svaki zahtjev.

Sa zainteresiranim stranama razgovara se o tehničkim detaljima dizajna i preispituju se različiti parametri kao što su rizici, tehnologije koje će se koristiti, sposobnost tima, ograničenja projekta, vrijeme i budžet, a zatim se za proizvod bira najbolji pristup dizajnu.

Odabrani arhitektonski dizajn definira sve komponente koje treba razviti, komunikaciju sa uslugama trećih strana, korisničke tokove i komunikacije s bazama podataka, kao i prednje prezentacije i ponašanje svake komponente. Dizajn se obično čuva u dokumentu sa projektnim specifikacijama (DSD)


3. Implementacija

Nakon završetka zahtjeva i aktivnosti dizajniranja, sljedeća faza SDLC-a je implementacija ili razvoj softvera. U ovoj fazi programeri započinju s kodiranjem u skladu sa zahtjevima i dizajnom razmatranim u prethodnim fazama.

Administratori baze podataka kreiraju potrebne podatke u bazi podataka, front-end programeri kreiraju potrebna sučelja i GUI za interakciju sa back-end-om, sve na osnovu smjernica i procedura koje definira kompanija.

Programeri također pišu jedinične testove za svaku komponentu kako bi testirali novi kôd koji su napisali, pregledali međusobni kôd, kreirali gradnje i implementirali softver u okruženje. Ovaj ciklus razvoja se ponavlja sve dok se ne ispune zahtjevi.

4. Testiranje

Testiranje je zadnja faza životnog ciklusa razvoja softvera prije nego što se softver isporuči kupcima. Tokom testiranja, iskusni testeri počinju testirati sistem prema zahtjevima.


Cilj testera je pronaći nedostatke u sistemu, kao i provjeriti ponaša li se aplikacija prema očekivanjima i prema onome što je dokumentirano u fazi analize zahtjeva.

Ispitivači mogu ili koristiti test skriptu za izvršavanje svakog testa i provjeru rezultata ili koristiti istraživačko testiranje koje je više pristup zasnovan na iskustvu.

Moguće je da se u fazi ispitivanja utvrde nedostaci. Jednom kada se utvrdi kvar, testeri obavještavaju programere o detaljima problema i ako je to valjani kvar, programeri će popraviti i stvoriti novu verziju softvera koju treba ponovo provjeriti.

Ovaj se ciklus ponavlja sve dok svi zahtjevi nisu testirani i svi nedostaci otklonjeni i softver spreman za isporuku.


5. Primena i održavanje

Jednom kada je softver u potpunosti testiran i br pitanja visokog prioriteta da ostanu u softveru, vrijeme je za implementaciju u proizvodnju gdje kupci mogu koristiti sistem.

Jednom kada se verzija softvera pusti u proizvodnju, obično postoji tim za održavanje koji se brine o bilo kakvim problemima u postprodukciji.

Ako se problem pojavi u produkciji, razvojni tim se obavještava i ovisno o ozbiljnosti problema, možda će biti potreban hitni popravak koji se kreira i isporučuje u kratkom vremenskom roku ili ako nije vrlo ozbiljan, može pričekati do sljedeće verzije softvera.

Zaključak

Sve gore definirane faze u životnom ciklusu razvoja softvera primjenjive su na bilo koju metodologiju razvoja softvera, ali trajanje i aktivnosti u svakoj fazi ovise o tome slijedite li V model metodologije razvoja ili Agile.


U Agileu je trajanje isporuke radnog softvera obično između 2 i 4 sedmice, pa se svaka od gore navedenih faza skraćuje. Također agilno, to je cjelovit timski pristup u koji su uključeni programeri i testeri koji zajedno rade na stvaranju visokokvalitetnog proizvoda.