sdlc phases
Što je životni ciklus razvoja softvera (SDLC)? Naučite SDLC faze, metodologije, procese i modele
Životni ciklus razvoja softvera (SDLC) okvir je koji definira korake koji su uključeni u razvoj softvera u svakoj fazi. Obuhvaća detaljan plan za izradu, postavljanje i održavanje softvera.
SDLC definira cjeloviti ciklus razvoja, tj. Sve zadatke koji su uključeni u planiranje, stvaranje, testiranje i primjenu softverskog proizvoda.
Što ćete naučiti:
- Proces životnog ciklusa razvoja softvera
- SDLC ciklus
- SDLC faze
- Modeli životnog ciklusa razvoja softvera
- Zaključak
Proces životnog ciklusa razvoja softvera
SDLC je postupak koji definira različite faze uključene u razvoj softvera za isporuku visokokvalitetnog proizvoda. SDLC faze pokrivaju cjelokupni životni ciklus softvera, tj. Od početka do umirovljenja proizvoda.
Pridržavanje SDLC procesa dovodi do razvoja softvera na sustavan i discipliniran način.
Svrha:
Svrha SDLC-a je isporuka visokokvalitetnog proizvoda koji je prema zahtjevu kupca.
SDLC je definirao svoje faze kao prikupljanje zahtjeva, dizajniranje, kodiranje, ispitivanje i održavanje. Važno je pridržavati se faza davanja proizvoda na sustavan način.
Na primjer, Treba razviti softver i tim je podijeljen da radi na značajci proizvoda i smije raditi kako žele. Jedan od programera odlučuje prvo dizajnirati, dok drugi odlučuje prvo kodirati, a drugi dio dokumentacije.
To će dovesti do neuspjeha projekta zbog čega je potrebno imati dobro znanje i razumijevanje među članovima tima kako bi se isporučio očekivani proizvod.
SDLC ciklus
SDLC ciklus predstavlja proces razvoja softvera.
Ispod je shematski prikaz SDLC ciklusa:
SDLC faze
Dolje su navedene razne faze:
- Prikupljanje i analiza zahtjeva
- Oblikovati
- Implementacija ili kodiranje
- Testiranje
- Raspoređivanje
- Održavanje
# 1) Prikupljanje i analiza zahtjeva
Tijekom ove faze od kupca se prikupljaju sve relevantne informacije za razvoj proizvoda prema njihovim očekivanjima. Sve nejasnoće moraju se riješiti samo u ovoj fazi.
Poslovni analitičar i voditelj projekta zakazali su sastanak s kupcem kako bi prikupili sve informacije poput onoga što kupac želi izgraditi, tko će biti krajnji korisnik, koja je svrha proizvoda. Prije izrade proizvoda vrlo je važno temeljno razumijevanje ili poznavanje proizvoda.
Na primjer, Kupac želi imati aplikaciju koja uključuje novčane transakcije. U ovom slučaju zahtjev mora biti jasan poput vrste transakcija, kako će se to raditi, u kojoj valuti će se obavljati itd.
Jednom kada se obavi prikupljanje zahtjeva, vrši se analiza kako bi se provjerila izvedivost razvoja proizvoda. U slučaju bilo kakve nejasnoće, uspostavlja se poziv za daljnju raspravu.
Nakon što se zahtjev jasno razumije, kreira se dokument SRS (Specifikacija zahtjeva za softver). Programeri bi ovaj dokument trebali temeljito razumjeti, a kupac bi ga također trebao pregledati radi buduće reference.
# 2) Dizajn
U ovoj se fazi zahtjev prikupljen u SRS dokumentu koristi kao ulaz i izvedena je softverska arhitektura koja se koristi za provedbu razvoja sustava.
# 3) Implementacija ili kodiranje
Implementacija / kodiranje započinje nakon što programer dobije projektni dokument. Dizajn softvera preveden je u izvorni kod. Sve komponente softvera implementirane su u ovoj fazi.
Java kako stvoriti niz objekata
# 4) Testiranje
Testiranje započinje nakon završetka kodiranja i puštanja modula na testiranje. U ovoj se fazi razvijeni softver temeljito ispituje i svi pronađeni nedostaci dodjeljuju se programerima kako bi ih riješili.
Ponovno testiranje, regresijsko testiranje vrši se do trenutka kada je softver u skladu s očekivanjima kupca. Ispitivači upućuju na SRS dokument kako bi bili sigurni da je softver u skladu s kupčevim standardom.
# 5) Implementacija
Nakon što se proizvod testira, on se prvo koristi u proizvodnom okruženju UAT (ispitivanje prihvaćanja korisnika) vrši se ovisno o očekivanjima kupca.
U slučaju UAT-a stvara se replika proizvodnog okruženja i kupac zajedno s programerima vrši testiranje. Ako kupac pronađe prijavu kako se očekuje, kupac omogućuje odjavu za pokretanje.
# 6) Održavanje
Nakon postavljanja proizvoda u proizvodno okruženje, programeri će se pobrinuti za održavanje proizvoda, tj. Ako se pojavi bilo koji problem koji treba popraviti ili treba izvršiti bilo kakvo poboljšanje.
Modeli životnog ciklusa razvoja softvera
Model životnog ciklusa softvera opisni je prikaz ciklusa razvoja softvera. SDLC modeli mogu imati drugačiji pristup, ali osnovne faze i aktivnosti ostaju isti za sve modele.
# 1) Model vodopada
Model slapa je prvi model koji se koristi u SDLC-u. Također je poznat kao linearni sekvencijalni model.
U ovom je modelu ishod jedne faze ulaz za sljedeću fazu. Razvoj sljedeće faze započinje tek kad je prethodna faza završena.
- Prvo se vrši prikupljanje i analiza zahtjeva. Jednom kada se zahtjev zamrzne, tada može započeti samo Dizajn sustava. Ovdje je stvoreni SRS dokument izlaz za fazu Zahtjev i djeluje kao ulaz za dizajn sustava.
- U arhitekturi i dizajnu softverskog dizajna sustava kreiraju se dokumenti koji djeluju kao ulaz za sljedeću fazu, tj. Implementacija i kodiranje.
- U fazi implementacije vrši se kodiranje, a razvijeni softver je ulaz za sljedeću fazu, tj. Testiranje.
- U fazi testiranja, razvijeni kod temeljito se ispituje kako bi se otkrili nedostaci u softveru. Kvarovi se prijavljuju u alat za praćenje kvara i ponovno se ispituju kada se isprave. Zapisivanje grešaka, ponovno testiranje, testiranje regresije nastavlja se sve dok softver ne bude u funkciji.
- U fazi implementacije, razvijeni kod premješta se u proizvodnju nakon što kupac da znak za odjavu.
- Sve probleme u proizvodnom okruženju rješavaju programeri koji su pod održavanjem.
Prednosti modela vodopada:
- Model vodopada jednostavan je model koji se lako može razumjeti i onaj je u kojem se sve faze rade korak po korak.
- Isporuke svake faze dobro su definirane, a to ne dovodi do složenosti i čini projekt lako upravljanim.
Mane modela vodopada:
- Model slapa je dugotrajan i ne može se koristiti u kratkotrajnim projektima jer se u ovom modelu ne može započeti nova faza dok se ne završi tekuća faza.
- Model vodopada ne može se koristiti za projekte koji imaju neizvjesne zahtjeve ili kod kojih se zahtjev neprestano mijenja jer ovaj model očekuje da će zahtjev biti jasan u samoj fazi prikupljanja i analize zahtjeva, a svaka promjena u kasnijim fazama dovela bi do povećanja troškova jer promjene bi bile potrebne u svim fazama.
# 2) Model u obliku slova V
V- Model poznat je i kao model provjere i provjere valjanosti. U ovom modelu provjera i provjera valjanosti idu ruku pod ruku, tj. Razvoj i testiranje idu paralelno. V model i model slapa su isti, osim što planiranje i ispitivanje započinju u ranoj fazi V-modela.
a) Faza provjere:
(i) Analiza zahtjeva:
U ovoj se fazi prikupljaju i analiziraju sve potrebne informacije. Aktivnosti provjere uključuju pregled zahtjeva.
(ii) Dizajn sustava:
Nakon što je zahtjev jasan, sustav se dizajnira, tj. Arhitektura, komponente proizvoda kreiraju i dokumentiraju u projektnom dokumentu.
(iii) Dizajn na visokoj razini:
Dizajn na visokoj razini definira arhitekturu / dizajn modula. Definira funkcionalnost između dva modula.
(iv) Dizajn na niskoj razini:
Dizajn na niskoj razini definira arhitekturu / dizajn pojedinih komponenata.
(v) Kodiranje:
Razvoj koda vrši se u ovoj fazi.
b) Faza provjere valjanosti:
(i) Jedinstveno ispitivanje:
Jedinstveno ispitivanje izvodi se pomoću jediničnih test slučajeva koji su dizajnirani i izvodi se u fazi projektiranja niske razine. Jedinstveno testiranje izvodi sam programer. Izvodi se na pojedinačnim komponentama što dovodi do ranog otkrivanja nedostataka.
(ii) Integracijsko ispitivanje:
Integracijsko ispitivanje izvodi se pomoću integracijskih test slučajeva u fazi visoke razine dizajna. Integracijsko testiranje je ispitivanje koje se provodi na integriranim modulima. Izvode ga testeri.
(iii) Ispitivanje sustava:
Ispitivanje sustava izvodi se u fazi Projektiranja sustava. U ovoj fazi testira se kompletni sustav, tj. Testira se cjelokupna funkcionalnost sustava.
(iv) Ispitivanje prihvatljivosti:
Ispitivanje prihvaćanja povezano je s fazom analize zahtjeva i provodi se u okruženju kupca.
Prednosti V - modela:
- To je jednostavan i lako razumljiv model.
- V-model pristup je dobar za manje projekte u kojima je zahtjev definiran i zamrzava se u ranoj fazi.
- To je sustavni i disciplinirani model koji rezultira visokokvalitetnim proizvodom.
Mane V-modela:
- Model u obliku slova V nije dobar za tekuće projekte.
- Promjena zahtjeva u kasnijoj fazi koštala bi previsoko.
# 3) Model prototipa
Model prototipa je model u kojem se prototip razvija prije stvarnog softvera.
Prototipski modeli imaju ograničene funkcionalne mogućnosti i neučinkovite performanse u usporedbi sa stvarnim softverom. Lažne funkcije koriste se za stvaranje prototipova. Ovo je vrijedan mehanizam za razumijevanje potreba kupaca.
Softverski prototipi izrađuju se prije stvarnog softvera kako bi se od kupaca dobivale vrijedne povratne informacije. Primijenjene su povratne informacije i kupac ponovno pregledava prototip radi bilo kakve promjene. Ovaj postupak traje sve dok kupac ne prihvati model.
Nakon što se obavi prikupljanje zahtjeva, kreira se brzi dizajn i gradi prototip koji se kupcu predstavlja na ocjenu.
Povratne informacije kupaca i pročišćeni zahtjev koriste se za izmjenu prototipa i ponovno se predstavljaju kupcu na ocjenu. Nakon što kupac odobri prototip, on se koristi kao uvjet za izgradnju stvarnog softvera. Stvarni softver izrađuje se primjenom pristupa modela Waterfall.
Prednosti prototipa modela:
- Prototip modela smanjuje troškove i vrijeme izrade jer su nedostaci pronađeni mnogo ranije.
- Nedostajuća značajka ili funkcionalnost ili promjena zahtjeva mogu se identificirati u fazi ocjenjivanja i mogu se implementirati u pročišćeni prototip.
- Uključivanje kupca od početne faze smanjuje svaku zbrku u zahtjevu ili razumijevanju bilo koje funkcionalnosti.
Mane prototipa:
- Budući da je kupac uključen u svaku fazu, kupac može promijeniti zahtjev krajnjeg proizvoda što povećava složenost opsega i može povećati vrijeme isporuke proizvoda.
# 4) Spiralni model
Spiralni model uključuje iterativni i prototipski pristup.
Faze spiralnog modela slijede se u iteracijama. Petlje u modelu predstavljaju fazu SDLC procesa, tj. Najunutarnja petlja je prikupljanje i analiza zahtjeva koja slijedi planiranje, analizu rizika, razvoj i procjenu. Sljedeća petlja je Dizajniranje nakon čega slijedi Implementacija i potom testiranje.
Spiralni model ima četiri faze:
- Planiranje
- Analiza rizika
- Inženjering
- Procjena
(i) Planiranje:
Faza planiranja uključuje prikupljanje zahtjeva pri čemu se sve potrebne informacije prikupljaju od kupca i dokumentiraju. Dokument o specifikaciji softverskih zahtjeva kreira se za sljedeću fazu.
(ii) Analiza rizika:
U ovoj se fazi odabire najbolje rješenje za rizike koji se uključuju, a analiza se vrši izradom prototipa.
Na primjer , rizik povezan s pristupom podacima iz udaljene baze podataka može biti da stopa pristupa podacima bude prespora. Rizik se može riješiti izgradnjom prototipa podsustava za pristup podacima.
(iii) Inženjerstvo:
Kada se izvrši analiza rizika, vrši se kodiranje i testiranje.
(iv) Procjena:
Kupac procjenjuje razvijeni sustav i planira sljedeću iteraciju.
Prednosti spiralnog modela:
- Analiza rizika provodi se opsežno koristeći prototipove modela.
- Svako poboljšanje ili promjena funkcionalnosti može se izvršiti u sljedećoj iteraciji.
Mane spiralnog modela:
- Spiralni model je najprikladniji samo za velike projekte.
- Trošak može biti velik jer može potrajati velik broj ponavljanja što može dovesti do krajnjeg vremena za postizanje konačnog proizvoda.
# 5) Iterativni inkrementalni model
Ponavljajući inkrementalni model dijeli proizvod na male dijelove.
Na primjer , Određena je i implementirana značajka koja će se razviti u iteraciji. Svaka iteracija prolazi kroz faze, naime Analiza zahtjeva, projektiranje, kodiranje i testiranje. U iteracijama nije potrebno detaljno planiranje.
Nakon što je iteracija završena, proizvod se provjerava i isporučuje kupcu na ocjenu i povratne informacije. Povratne informacije kupaca implementirane su u sljedećoj iteraciji zajedno s novo dodanom značajkom.
Dakle, proizvod se uvećava u smislu značajki i nakon završetka iteracija konačna izrada sadrži sve značajke proizvoda.
Faze iterativnog i inkrementalnog razvojnog modela:
- Početna faza
- Faza razrade
- Faza izgradnje
- Prijelazna faza
(i) Početna faza:
Početna faza uključuje zahtjev i opseg Projekta.
(ii) Faza razrade:
U fazi razrade isporučuje se radna arhitektura proizvoda koja pokriva rizik identificiran u početnoj fazi i ujedno ispunjava nefunkcionalne zahtjeve.
(iii) Faza izgradnje:
U fazi izgradnje, arhitektura se ispunjava kodom koji je spreman za implementaciju i kreira se analizom, dizajniranjem, implementacijom i ispitivanjem funkcionalnih zahtjeva.
(iv) Prijelazna faza:
U prijelaznoj fazi proizvod se postavlja u proizvodno okruženje.
Prednosti iterativnog i inkrementalnog modela:
- Svaka promjena zahtjeva može se lako izvršiti i ne bi koštala, jer postoji opseg uključivanja novog zahtjeva u sljedeću iteraciju.
- Rizik se analizira i identificira u iteracijama.
- Defekti se otkrivaju u ranoj fazi.
- Kako je proizvod podijeljen na manje dijelove, proizvodom je lako upravljati.
Mane iterativnog i inkrementalnog modela:
- Potpuni zahtjev i razumijevanje proizvoda potrebni su za postupno raščlanjivanje i izgradnju.
# 6) Model velikog praska
Model Velikog praska nema definiran postupak. Novac i napori su složeni jer ulaz i izlaz dolaze kao razvijeni proizvod koji može biti ili ne mora biti isti onome što kupac treba.
Model Velikog praska ne zahtijeva puno planiranja i raspoređivanja. Programer radi analizu i kodiranje zahtjeva i razvija proizvod prema njegovom razumijevanju. Ovaj se model koristi samo za male projekte. Ne postoji tim za testiranje i ne provodi se formalno testiranje, a to bi mogao biti uzrok neuspjeha projekta.
Prednosti modela Velikog praska:
- To je vrlo jednostavan Model.
- Potrebno je manje planiranja i rasporeda.
- Programer ima fleksibilnost za izradu vlastitog softvera.
Mane modela velikog praska:
- Modeli Big Bang ne mogu se koristiti za velike, tekuće i složene projekte.
- Veliki rizik i neizvjesnost.
# 7) okretan model
Agile Model kombinacija je iterativnog i inkrementalnog modela. Ovaj se model usredotočuje više na fleksibilnost tijekom razvoja proizvoda, a ne na zahtjev.
U Agileu se proizvod razbija u male inkrementalne građevine. Nije razvijen kao cjelovit proizvod u jednom potezu. Svaka se gradnja povećava u smislu značajki. Sljedeća gradnja temelji se na prethodnoj funkcionalnosti.
U agilnim iteracijama nazivaju se sprinti. Svaki sprint traje 2-4 tjedna. Na kraju svakog sprinta, vlasnik proizvoda provjerava proizvod i nakon njegovog odobrenja dostavlja se kupcu.
Povratne informacije kupaca uzimaju se radi poboljšanja, a na njegovim prijedlozima i poboljšanjima radi se u sljedećem sprintu. Testiranje se vrši u svakom sprintu kako bi se smanjio rizik od bilo kakvih kvarova.
Prednosti agilnog modela:
- Omogućuje veću fleksibilnost prilagodbe promjenama.
- Nova značajka može se jednostavno dodati.
- Zadovoljstvo kupaca jer se povratne informacije i prijedlozi uzimaju u svakoj fazi.
Mane:
- Nedostatak dokumentacije.
- Agileu trebaju iskusni i visoko kvalificirani resursi.
- Ako kupcu nije jasno koliko točno želi da proizvod bude, projekt bi propao.
Zaključak
Pridržavanje odgovarajućeg životnog ciklusa vrlo je važno za uspješan završetak projekta. To, pak, olakšava upravljanje.
Različiti modeli životnog ciklusa razvoja softvera imaju svoje prednosti i nedostatke. Najbolji model za bilo koji projekt može se odrediti čimbenicima kao što su zahtjev (bez obzira je li jasan ili nejasan), složenost sustava, veličina projekta, cijena, ograničenje vještine itd.
Primjer, u slučaju nejasnog zahtjeva, najbolje je koristiti spiralni i okretan model, jer se potrebna promjena može lako prilagoditi u bilo kojoj fazi.
Model Waterfall je osnovni model i svi ostali SDLC modeli temelje se samo na tome.
Nadam se da biste stekli neizmjerno znanje o SDLC-u.
Preporučena literatura
- Spiralni model - što je SDLC spiralni model?
- Što je SDLC model vodopada?
- Što je životni ciklus testiranja softvera (STLC)?
- Posao za QA pomoćnika za testiranje softvera
- 10 NAJBOLJIH tvrtki i usluga za razvoj prilagođenog softvera 2021. godine
- Praktično testiranje softvera - nova BESPLATNA e-knjiga (preuzimanje)
- Onsite - Offshore model projekata testiranja softvera (i kako to učiniti za vas)
- Zašto softver ima bugova?