sdlc phases
Kaj je življenjski cikel razvoja programske opreme (SDLC)? Spoznajte SDLC faze, metodologije, procese in modele
Življenjski cikel razvoja programske opreme (SDLC) je okvir, ki opredeljuje korake pri razvoju programske opreme v vsaki fazi. Zajema podroben načrt za izdelavo, uvajanje in vzdrževanje programske opreme.
SDLC opredeljuje celoten cikel razvoja, tj. Vse naloge, ki so vključene v načrtovanje, ustvarjanje, testiranje in uvajanje programskega izdelka.
Kaj se boste naučili:
- Proces življenjskega cikla razvoja programske opreme
- Cikel SDLC
- Faze SDLC
- Modeli življenjskega cikla razvoja programske opreme
- Zaključek
Proces življenjskega cikla razvoja programske opreme
SDLC je postopek, ki opredeljuje različne stopnje razvoja programske opreme za zagotavljanje visokokakovostnega izdelka. Stopnje SDLC zajemajo celoten življenjski cikel programske opreme, tj. Od začetka do umika izdelka.
Upoštevanje postopka SDLC vodi do sistematičnega in discipliniranega razvoja programske opreme.
Namen:
Namen SDLC je zagotoviti visokokakovosten izdelek, ki ustreza zahtevam kupca.
SDLC je opredelil svoje faze kot zbiranje zahtev, oblikovanje, kodiranje, preskušanje in vzdrževanje. Pomembno je upoštevati faze sistematičnega zagotavljanja izdelka.
Na primer, Razviti je treba programsko opremo in ekipa je razdeljena, da dela na lastnosti izdelka, in lahko dela, kot želi. Eden od razvijalcev se najprej odloči za načrtovanje, drugi pa se najprej odloči za kodiranje, drugi pa v delu z dokumentacijo.
To bo privedlo do neuspeha projekta, zaradi česar je treba imeti dobro znanje in razumevanje med člani ekipe, da lahko zagotovite pričakovani izdelek.
Cikel SDLC
SDLC Cycle predstavlja proces razvoja programske opreme.
Spodaj je shematski prikaz cikla SDLC:
Faze SDLC
Spodaj so navedene različne faze:
- Zbiranje in analiza zahtev
- Oblikovanje
- Izvajanje ali kodiranje
- Testiranje
- Uvajanje
- Vzdrževanje
# 1) Zbiranje in analiza zahtev
V tej fazi se od kupca zberejo vse ustrezne informacije za razvoj izdelka v skladu z njihovimi pričakovanji. Vse nejasnosti je treba rešiti samo v tej fazi.
Poslovni analitik in vodja projekta je pripravil sestanek s stranko, da bi zbral vse informacije, na primer o tem, kaj stranka želi zgraditi, kdo bo končni uporabnik, kakšen je namen izdelka. Pred izdelavo izdelka je zelo pomembno razumevanje ali poznavanje izdelka.
Na primer, Stranka želi imeti aplikacijo, ki vključuje denarne transakcije. V tem primeru mora biti zahteva jasna, na primer kakšne transakcije bodo opravljene, kako bodo izvedene, v kateri valuti bodo opravljene itd.
Ko je opravljeno zbiranje zahtev, se opravi analiza, da se preveri izvedljivost razvoja izdelka. V primeru dvoumnosti se vzpostavi klic za nadaljnjo razpravo.
Ko je zahteva jasno razumljena, se ustvari dokument SRS (Software Requirement Specification). Ta dokument bi morali razvijalci temeljito razumeti, kupec pa bi ga moral pregledati tudi za poznejšo uporabo.
# 2) Oblikovanje
V tej fazi se zahteva, zbrana v dokumentu SRS, uporablja kot vhod in izhaja arhitektura programske opreme, ki se uporablja za izvajanje razvoja sistema.
# 3) Implementacija ali kodiranje
Izvajanje / kodiranje se začne, ko razvijalec dobi projektni dokument. Zasnova programske opreme je prevedena v izvorno kodo. V tej fazi se izvajajo vse komponente programske opreme.
najboljša programska oprema za popravilo pc za Windows 10
# 4) Testiranje
Testiranje se začne po končanem kodiranju in sprostitev modulov v testiranje. V tej fazi se razvita programska oprema temeljito preizkusi in morebitne ugotovljene napake dodelijo razvijalcem, da jih odpravijo.
Ponovno testiranje, regresijsko testiranje se izvaja do točke, ko je programska oprema v skladu s pričakovanji kupca. Preizkuševalci se sklicujejo na dokument SRS, da se prepričajo, ali je programska oprema v skladu s standardom stranke.
# 5) Uvajanje
Ko je izdelek preizkušen, ga namestimo v proizvodno okolje ali najprej UAT (preskus sprejemljivosti uporabnika) se opravi glede na pričakovanja kupca.
V primeru UAT se ustvari kopija produkcijskega okolja in stranka skupaj z razvijalci testira. Če stranka najde aplikacijo po pričakovanjih, potem stranka omogoči odjavo za začetek objave.
# 6) Vzdrževanje
Po uvedbi izdelka v proizvodno okolje razvijalci poskrbijo za vzdrževanje izdelka, tj. Če pride do kakršne koli težave in jo je treba odpraviti ali je treba izboljšati.
Modeli življenjskega cikla razvoja programske opreme
Model življenjskega cikla programske opreme je opisna predstavitev cikla razvoja programske opreme. Modeli SDLC imajo lahko drugačen pristop, vendar osnovne faze in dejavnosti ostajajo enake za vse modele.
# 1) Model slapa
Model slapa je prvi model, ki se uporablja v SDLC. Znan je tudi kot linearni sekvenčni model.
V tem modelu je rezultat ene faze vhod za naslednjo fazo. Razvoj naslednje faze se začne šele, ko je prejšnja faza končana.
- Najprej se opravi zbiranje in analiza zahtev. Ko je zahteva zamrznjena, se lahko začne samo sistemska zasnova. Ustvarjeni dokument SRS je v tem primeru izhod za fazo Zahteva in deluje kot vhod za sistemsko zasnovo.
- V sistemski arhitekturi in oblikovanju programske opreme se oblikujejo dokumenti, ki delujejo kot vhodni podatki za naslednjo fazo, tj. Implementacija in kodiranje.
- V fazi implementacije se izvede kodiranje, razvita programska oprema pa je vhod za naslednjo fazo, tj. Testiranje.
- V fazi testiranja se razvita koda temeljito preizkusi, da se odkrijejo napake v programski opremi. Napake se prijavijo v orodje za sledenje napak in se po odpravi odpravijo. Beleženje napak, ponovno preizkušanje, testiranje regresije se nadaljuje, dokler programska oprema ne zažene.
- V fazi uvajanja se razvita koda premakne v proizvodnjo, potem ko stranka odjavi.
- Morebitne težave v produkcijskem okolju rešujejo razvijalci, ki so v vzdrževanju.
Prednosti modela Slap:
- Model slapa je preprost model, ki ga je mogoče enostavno razumeti in je tisti, pri katerem se vse faze izvajajo korak za korakom.
- Dobavljivi deli vsake faze so dobro opredeljeni, kar ne povzroča zapletenosti in omogoča enostavno upravljanje projekta.
Slabosti modela Slap:
- Model slapa je dolgotrajen in ga ni mogoče uporabiti v kratkotrajnih projektih, saj v tem modelu ni mogoče začeti nove faze, dokler se ne zaključi tekoča faza.
- Modela slapa ni mogoče uporabiti za projekte, ki imajo negotove zahteve ali pri katerih se zahteva nenehno spreminja, saj ta model pričakuje, da bo zahteva jasna v sami fazi zbiranja in analize zahtev, kakršna koli sprememba v poznejših fazah pa bi povzročila višje stroške spremembe bi bile potrebne v vseh fazah.
# 2) Model v obliki črke V
V- Model je znan tudi kot verifikacijski in validacijski model. V tem modelu preverjanje in potrjevanje poteka z roko v roki, tj. Razvoj in testiranje gre vzporedno. Model V in model slapa sta enaka, le da se načrtovanje in testiranje preskusov začne v zgodnji fazi V-modela.
a) Faza preverjanja:
(i) Analiza zahtev:
V tej fazi se zberejo in analizirajo vse zahtevane informacije. Dejavnosti preverjanja vključujejo pregled zahtev.
(ii) Zasnova sistema:
Ko je zahteva jasna, je zasnovan sistem, tj. Arhitektura, sestavni deli izdelka so ustvarjeni in dokumentirani v projektnem dokumentu.
(iii) Oblikovanje na visoki ravni:
Zasnova na visoki ravni opredeljuje arhitekturo / zasnovo modulov. Določa funkcionalnost med obema moduloma.
(iv) Oblikovanje na nizki ravni:
Oblikovanje na nizki ravni opredeljuje arhitekturo / zasnovo posameznih komponent.
(v) Kodiranje:
V tej fazi se razvija koda.
b) Faza potrjevanja:
(i) Preskušanje enote:
Enotno testiranje se izvaja z uporabo preskusnih primerov enot, ki so zasnovani in se izvajajo v fazi načrtovanja nizke ravni. Enotno testiranje izvaja razvijalec sam. Izvaja se na posameznih komponentah, ki vodijo do zgodnjega odkrivanja napak.
(ii) Integracijsko preskušanje:
Integracijsko testiranje se izvaja z uporabo integracijskih testnih primerov v fazi načrtovanja na visoki ravni. Integracijsko testiranje je testiranje, ki se izvaja na integriranih modulih. Izvajajo ga preizkuševalci.
(iii) Sistemsko testiranje:
Testiranje sistema se izvaja v fazi načrtovanja sistema. V tej fazi se preizkusi celoten sistem, torej celotna funkcionalnost sistema.
(iv) Preskus sprejemljivosti:
Preskus sprejemljivosti je povezan s fazo analize zahtev in se izvaja v kupčevem okolju.
Prednosti V - modela:
- Je preprost in lahko razumljiv model.
- Pristop V – model je primeren za manjše projekte, pri katerih je zahteva definirana in v zgodnji fazi zamrzne.
- Gre za sistematičen in discipliniran model, ki daje visokokakovosten izdelek.
Slabosti V-modela:
- Model v obliki črke V ni primeren za tekoče projekte.
- Sprememba zahtev v poznejši fazi bi stala previsoko.
# 3) Prototipni model
Prototipni model je model, v katerem je prototip razvit pred dejansko programsko opremo.
Prototipni modeli imajo omejene funkcionalne zmogljivosti in neučinkovito delovanje v primerjavi z dejansko programsko opremo. Funkcije lutke se uporabljajo za ustvarjanje prototipov. To je dragocen mehanizem za razumevanje potreb strank.
Prototipi programske opreme so izdelani pred dejansko programsko opremo, da bi od kupca dobili dragocene povratne informacije. Povratne informacije so uvedene in kupec znova pregleda morebitne spremembe pri prototipu. Ta postopek se nadaljuje, dokler stranka ne sprejme modela.
Po končanem zbiranju zahtev nastane hitra zasnova in izdela prototip, ki je predstavljen stranki v oceno.
Povratne informacije strank in izpopolnjena zahteva se uporabljajo za spreminjanje prototipa in se stranki ponovno predstavijo v oceno. Ko kupec odobri prototip, se uporablja kot zahteva za izdelavo dejanske programske opreme. Dejanska programska oprema se gradi z uporabo modela Waterfall.
Prednosti prototipnega modela:
- Prototipni model zmanjšuje stroške in čas razvoja, saj so napake odkrite veliko prej.
- Manjkajočo funkcijo ali funkcionalnost ali spremembo zahteve je mogoče ugotoviti v fazi ocenjevanja in jo uporabiti v izpopolnjenem prototipu.
- Sodelovanje kupca od začetne faze zmanjšuje kakršno koli zmedo pri zahtevah ali razumevanju katere koli funkcije.
Slabosti prototipnega modela:
- Ker je kupec vključen v vsako fazo, lahko kupec spremeni zahtevo po končnem izdelku, kar poveča kompleksnost obsega in lahko podaljša čas dobave izdelka.
# 4) Spiralni model
Spiralni model vključuje iterativni in prototipni pristop.
Faze spiralnega modela sledijo v ponovitvah. Zanke v modelu predstavljajo fazo procesa SDLC, tj.Najgloblja zanka je zbiranje in analiza zahtev, ki sledi načrtovanju, analizi tveganja, razvoju in oceni. Naslednja zanka je Oblikovanje, ki mu sledi Implementacija in nato testiranje.
Spiralni model ima štiri faze:
- Načrtovanje
- Analiza tveganja
- Inženiring
- Vrednotenje
(i) Načrtovanje:
Faza načrtovanja vključuje zbiranje zahtev, pri katerem se vse zahtevane informacije zbirajo od kupca in dokumentirajo. Za naslednjo fazo je ustvarjen dokument s specifikacijami programske opreme.
(ii) Analiza tveganja:
V tej fazi se izbere najboljša rešitev za s tem povezana tveganja, analiza pa se izvede z izdelavo prototipa.
Na primer , tveganje dostopa do podatkov iz oddaljene baze podatkov je lahko v tem, da je stopnja dostopa do podatkov prepočasna. Tveganje je mogoče rešiti z izdelavo prototipa podsistema za dostop do podatkov.
(iii) Inženirstvo:
Ko je opravljena analiza tveganja, se opravi kodiranje in testiranje.
(iv) Vrednotenje:
Stranka oceni razviti sistem in načrtuje naslednjo ponovitev.
Prednosti spiralnega modela:
- Analiza tveganja se v veliki meri izvaja z uporabo prototipov.
- Kakršno koli izboljšanje ali spremembo funkcionalnosti je mogoče izvesti v naslednji ponovitvi.
Slabosti spiralnega modela:
- Spiralni model je najprimernejši samo za velike projekte.
- Stroški so lahko visoki, saj lahko traja veliko ponovitev, kar lahko pripelje do končnega izdelka.
# 5) Iterativni inkrementalni model
Ponavljajoči se inkrementalni model izdelek razdeli na majhne koščke.
Na primer , Značilnost, ki jo bomo razvili v ponovitvi, se odloči in izvede. Vsaka ponovitev gre skozi faze, in sicer analizo zahtev, načrtovanje, kodiranje in testiranje. Podrobno načrtovanje v ponovitvah ni potrebno.
Ko je ponovitev zaključena, se izdelek preveri in dostavi kupcu v oceno in povratne informacije. Povratne informacije kupcev se vključijo v naslednjo ponovitev skupaj z novo dodano funkcijo.
Izdelek se torej poveča glede na značilnosti in po končanih ponovitvah zadnja gradnja vsebuje vse lastnosti izdelka.
Faze ponovitvenega in inkrementalnega razvojnega modela:
- Začetna faza
- Faza izdelave
- Faza gradnje
- Prehodna faza
(i) Začetna faza:
Začetna faza vključuje zahtevo in obseg projekta.
(ii) Faza izdelave:
V fazi izdelave je na voljo delovna arhitektura izdelka, ki pokriva tveganje, ugotovljeno v začetni fazi, in izpolnjuje tudi nefunkcionalne zahteve.
(iii) Faza gradnje:
V fazi gradnje se arhitektura napolni s kodo, ki je pripravljena za uvedbo in se ustvari z analizo, načrtovanjem, izvajanjem in preizkušanjem funkcionalnih zahtev.
(iv) Prehodna faza:
V fazi prehoda je izdelek postavljen v proizvodno okolje.
Prednosti ponovitvenega in inkrementalnega modela:
- Kakršno koli spremembo zahteve je mogoče enostavno narediti in ne bi stala, saj lahko novo zahtevo vključimo v naslednjo ponovitev.
- Tveganje se v ponovitvah analizira in prepozna.
- Napake se odkrijejo v zgodnji fazi.
- Ker je izdelek razdeljen na manjše kose, je z njim enostavno upravljati.
Slabosti ponovitvenega in inkrementalnega modela:
- Popolna zahteva in razumevanje izdelka sta potrebna za postopno razgradnjo in gradnjo.
# 6) Model velikega poka
Model Big Bang nima definiranega postopka. Denar in napor sta združena, saj sta vhod in izhod razvit izdelek, ki je lahko enak ali ne enak tistemu, ki ga stranka potrebuje.
Model Big Bang ne zahteva veliko načrtovanja in načrtovanja. Razvijalec opravi analizo in kodiranje zahtev in razvije izdelek v skladu s svojim razumevanjem. Ta model se uporablja samo za manjše projekte. Skupina za testiranje ne deluje in formalno testiranje ni opravljeno, kar bi lahko bil vzrok za neuspeh projekta.
Prednosti modela Big Bang:
- To je zelo preprost model.
- Manj zahteva načrtovanje in razporejanje.
- Razvijalec ima prožnost za izdelavo lastne programske opreme.
Slabosti modela velikega poka:
- Modelov Big Bang ni mogoče uporabiti za velike, tekoče in zapletene projekte.
- Veliko tveganje in negotovost.
# 7) gibčen model
Agile Model je kombinacija ponovitvenega in inkrementalnega modela. Ta model se bolj kot na zahteve osredotoča na prilagodljivost pri razvoju izdelka.
V storitvi Agile je izdelek razdeljen na majhne postopne gradnje. Ni razvit kot celoten izdelek naenkrat. Vsaka gradnja se poveča glede na lastnosti. Naslednja gradnja temelji na prejšnji funkcionalnosti.
V agilnih ponovitvah se imenujejo sprinti. Vsak sprint traja 2-4 tedne. Na koncu vsakega sprinta lastnik izdelka izdelek preveri in po njegovi odobritvi se dostavi kupcu.
Povratne informacije kupcev so uporabljene za izboljšanje, njegovi predlogi in izboljšave pa bodo obdelani v naslednjem sprintu. Testiranje se opravi v vsakem sprintu, da se zmanjša tveganje za kakršne koli napake.
Prednosti agilnega modela:
- Omogoča večjo prilagodljivost pri prilagajanju spremembam.
- Novo funkcijo je mogoče enostavno dodati.
- Zadovoljstvo kupcev, saj se povratne informacije in predlogi upoštevajo na vsaki stopnji.
Slabosti:
- Pomanjkanje dokumentacije.
- Agile potrebuje izkušene in visoko usposobljene vire.
- Če stranki ni jasno, kako natančno želi, da je izdelek, potem projekt ne bi uspel.
Zaključek
Za uspešno dokončanje projekta je zelo pomembno upoštevanje ustreznega življenjskega cikla. To pa olajša upravljanje.
Različni modeli življenjskega cikla razvoja programske opreme imajo svoje prednosti in slabosti. Najboljši model za kateri koli projekt lahko določimo z dejavniki, kot so zahteva (ali je jasen ali nejasen), zapletenost sistema, velikost projekta, stroški, omejitev spretnosti itd.
Primer, v primeru nejasne zahteve je najbolje uporabiti modele Spiral in Agile, saj je potrebno spremembo enostavno prilagoditi v kateri koli fazi.
Model slap je osnovni model in vsi drugi modeli SDLC temeljijo samo na njem.
Upam, da bi pridobili neizmerno znanje SDLC.
Priporočeno branje
- Spiralni model - kaj je SDLC spiralni model?
- Kaj je model slapa SDLC?
- Kaj je življenjski cikel testiranja programske opreme (STLC)?
- Testiranje programske opreme QA Assistant Job
- 10 NAJBOLJŠIH podjetij in storitev za razvoj programske opreme po meri leta 2021
- Praktično preizkušanje programske opreme - nova BREZPLAČNA e-knjiga [prenos]
- Onsite - Offshore model projektov za preskušanje programske opreme (in kako to narediti za vas)
- Zakaj ima programska oprema napake?