logo

SDLC V-Model – programsko inženirstvo

V-model je vrsta Model SDLC kjer se postopek izvaja zaporedno v obliki črke V. Znan je tudi kot model preverjanja in validacije. Temelji na povezavi faze testiranja za vsako ustrezno razvojno stopnjo. Razvoj vsakega koraka je neposredno povezan s fazo testiranja. Naslednja faza se začne šele po zaključku prejšnje faze, tj. za vsako razvojno aktivnost obstaja aktivnost testiranja, ki ji ustreza.

Kazalo



V-model je model življenjskega cikla razvoja programske opreme (SDLC), ki zagotavlja sistematično in vizualno predstavitev procesa razvoja programske opreme. Temelji na zamisli o obliki črke V, pri čemer dva kraka črke V predstavljata napredovanje proces razvoja programske opreme od zbiranje zahtev in analize do načrtovanja, izvedbe, testiranja in vzdrževanja.

Oblikovanje V-modela

  1. Zbiranje in analiza zahtev : Prva faza V-modela je faza zbiranja in analize zahtev, kjer se zberejo in analizirajo zahteve stranke za programsko opremo, da se določi obseg projekta.
  2. Oblikovanje: V fazi načrtovanja se razvijeta arhitektura programske opreme in oblikovanje, vključno z oblikovanjem na visoki ravni in podrobnim načrtovanjem.
  3. Izvedba: V fazi implementacije se programska oprema gradi na podlagi načrta.
  4. Testiranje: V fazi testiranja se testira programska oprema, da se zagotovi, da ustreza zahtevam naročnika in je visoke kakovosti.
  5. Razporeditev: V fazi uvajanja je programska oprema nameščena in dana v uporabo.
  6. Vzdrževanje: V fazi vzdrževanja se programska oprema vzdržuje, da se zagotovi, da še naprej izpolnjuje potrebe in pričakovanja stranke.
  7. V-model se pogosto uporablja pri varnosti: kritičnih sistemov, kot so vesoljski in obrambni sistemi, zaradi poudarka na temeljitem testiranju in zmožnosti jasne opredelitve korakov, vključenih v proces razvoja programske opreme.

SDLC V-model

Naslednja ilustracija prikazuje različne faze v V-modelu SDLC.



array.iz jave

Preverjanje Faze :

Vključuje tehniko statične analize (pregled), izvedeno brez izvajanja kode. To je proces vrednotenja faze razvoja izdelka, da se ugotovi, ali so določene zahteve izpolnjene.

V modelu V je več faz preverjanja:

Analiza poslovnih potreb:



kaj je maven

To je prvi korak določitve razvojnega cikla, kjer je treba zahtevo po izdelku obravnavati z vidika stranke. v teh fazah vključite ustrezno komunikacijo s stranko, da razumete zahteve strank. to so zelo pomembne aktivnosti, ki jih je treba pravilno obravnavati, saj stranke večinoma ne vedo točno, kaj hočejo, in takrat o tem niso prepričane, potem uporabimo načrt sprejemnega testa načrtovanje, ki se izvede v času poslovne potrebe, bo uporabljeno kot vnos za sprejemno testiranje.

Zasnova sistema:

Načrtovanje sistema se bo začelo, ko bomo na splošno jasni z zahtevami izdelka, nato pa bomo morali sistem v celoti oblikovati. To razumevanje bo na začetku popolno v procesu razvoja izdelka. ti bodo koristni za prihodnje izvajanje testnih primerov.

Arhitekturno načrtovanje:

V tej fazi se arhitekturne specifikacije razumejo in oblikujejo. Običajno je predstavljenih več tehničnih pristopov, končna izbira pa je sprejeta po preučitvi tehnične in finančne sposobnosti. Arhitektura sistema je nadalje razdeljena na module, od katerih vsak opravlja svojo funkcijo. Drugo ime za to je High-Level Design (HLD).

Na tej točki sta izmenjava podatkov in komunikacija med notranjimi moduli in zunanjimi sistemi dobro razumljeni in definirani. Med to fazo je mogoče ustvariti in dokumentirati integracijske teste z uporabo posredovanih informacij.

Zasnova modula:

Ta faza, znana kot načrtovanje na nizki ravni (LLD), določa celovito notranjo zasnovo za vsak sistemski modul. Združljivost med zasnovo in drugimi zunanjimi sistemi ter drugimi moduli v sistemski arhitekturi je ključnega pomena. Preizkusi enot so ključna sestavina vsakega razvojnega procesa, saj pomagajo pri prepoznavanju in odpravljanju večine napak in pomanjkljivosti v zgodnji fazi. Na podlagi zasnov notranjih modulov je zdaj mogoče ustvariti te teste enot.

Faza kodiranja:

Korak kodiranja vključuje pisanje kode za sistemske module, ki so bili ustvarjeni med fazo načrtovanja. Sistemske in arhitekturne zahteve se uporabljajo za določitev, kateri programski jezik je najprimernejši.

Pri izvajanju kodiranja se upoštevajo standardi in načela kodiranja. Preden je končna zgradba preverjena v repozitorij, je koda podvržena številnim pregledom kode in je optimizirana za optimalno delovanje.

metode seznama java

Validacija Faze :

Vključuje tehnike dinamične analize (funkcionalne in nefunkcionalne) in testiranje, opravljeno z izvajanjem kode. Validacija je postopek ocenjevanja programske opreme po zaključku razvojne faze, da se ugotovi, ali programska oprema izpolnjuje pričakovanja in zahteve stranke.

V-model torej vsebuje faze preverjanja na eni strani in faze validacije na drugi strani. Fazi verifikacije in validacije sta združeni s fazo kodiranja v obliki črke V. Zato se imenuje V-model.
Več jih je Validacija faze v modelu V:

Testiranje enote:

Načrti za testiranje enot se razvijejo med fazo načrtovanja modula. Ti načrti testiranja enote se izvajajo za odpravo napak v kodi ali na ravni enote.

Testiranje integracije:

Po končanem testiranju enote se izvede integracijsko testiranje. Pri integracijskem testiranju so moduli integrirani in sistem testiran. Testiranje integracije se izvede v fazi načrtovanja arhitekture. Ta test preverja medsebojno komunikacijo modulov.

Testiranje sistema:

python kača proti anakondi

Sistemsko testiranje testira celotno aplikacijo z njeno funkcionalnostjo, medsebojno odvisnostjo in komunikacijo. Preizkuša funkcionalne in nefunkcionalne zahteve razvite aplikacije.

Test sprejemljivosti za uporabnika (UAT):

UAT se izvaja v uporabniškem okolju, ki spominja na produkcijsko okolje. UAT preveri, ali dostavljeni sistem izpolnjuje zahteve uporabnika in je sistem pripravljen za uporabo v resničnem svetu.

Faza oblikovanja:

  • Analiza zahtev: Ta faza vključuje podrobno komunikacijo s stranko, da bi razumeli njene zahteve in pričakovanja. Ta stopnja je znana kot zbiranje zahtev.
  • Zasnova sistema: Ta faza vključuje načrtovanje sistema ter popolno nastavitev strojne in komunikacijske opreme za razvoj izdelka.
  • Arhitekturno načrtovanje: Zasnova sistema je nadalje razdeljena na module, ki imajo različne funkcionalnosti. Prenos podatkov in komunikacija med notranjimi moduli in z zunanjim svetom (drugi sistemi) sta jasno razumljiva.
  • Zasnova modula: V tej fazi se sistem razdeli na majhne module. Določeno je podrobno načrtovanje modulov, znano tudi kot načrtovanje na nizki ravni (LLD).

Faze testiranja:

  • Testiranje enote: Načrti za testiranje enot se razvijejo med fazo načrtovanja modula. Ti načrti testiranja enote se izvajajo za odpravo napak na ravni kode ali enote.
  • Testiranje integracije: Po končanem testiranju enote se izvede integracijsko testiranje. Pri integracijskem testiranju so moduli integrirani in sistem testiran. Testiranje integracije se izvede v fazi načrtovanja arhitekture. Ta test preverja medsebojno komunikacijo modulov.
  • Testiranje sistema: Sistemsko testiranje testira celotno aplikacijo z njeno funkcionalnostjo, soodvisnostjo in komunikacijo. Preizkuša funkcionalne in nefunkcionalne zahteve razvite aplikacije.
  • Test sprejemljivosti za uporabnika (UAT): UAT se izvaja v uporabniškem okolju, ki spominja na produkcijsko okolje. UAT preveri, ali dostavljeni sistem izpolnjuje zahteve uporabnika in je sistem pripravljen za uporabo v resničnem svetu.

Industrijski izziv:

Z razvojem industrije so tehnologije postale bolj zapletene, vse hitrejše in se vedno spreminjajo, vendar ostaja niz osnovnih načel in konceptov, ki so danes enako uporabni kot takrat, ko je bil IT v povojih.

mylivecricket
  • Natančno opredelite in izpopolnite zahteve uporabnikov.
  • Oblikujte in zgradite aplikacijo v skladu z zahtevami pooblaščenega uporabnika.
  • Preverite, ali je aplikacija, ki so jo zgradili, v skladu z odobrenimi poslovnimi zahtevami.

Pomen V-modela

1. Zgodnje odkrivanje napak

Z vključevanjem nalog preverjanja in potrjevanja v vsako fazo razvojnega procesa V-Model spodbuja zgodnje testiranje. To zmanjša stroške in trud, ki je potreben za odpravo težav pozneje v življenjskem ciklu razvoja, tako da pomaga pri zgodnjem odkrivanju in reševanju napak.

2. določitev faz razvoja in testiranja

V-model vsebuje fazo testiranja, ki ustreza vsaki stopnji razvojnega procesa. Z zagotavljanjem, da so procesi testiranja in razvoja jasno začrtani, to jasno preslikavo spodbuja metodičen in urejen pristop k programskemu inženirstvu.

3. Preprečuje testiranje velikega poka

Testiranje se pogosto izvaja na samem koncu življenjskega cikla razvoja v tradicionalnih razvojnih modelih, kar ima za posledico pristop velikega poka, kjer so vse operacije testiranja osredotočene naenkrat. Z integracijo dejavnosti testiranja v razvojni proces in spodbujanjem naprednejšega in reguliranega pristopa testiranja V-model to preprečuje.

4. Izboljša sodelovanje

Na vseh ravneh V-model spodbuja sodelovanje med ekipami za testiranje in razvojem. S tem sodelovanjem se bolje razumejo projektne zahteve, izbire oblikovanja in metodologije testiranja, kar izboljša uspešnost in učinkovitost razvojnega procesa.

5. Izboljšano zagotavljanje kakovosti

Splošno zagotavljanje kakovosti je izboljšano z modelom V, ki vključuje postopke testiranja na vseh ravneh. Preden program doseže končno stopnjo uvedbe, se prepriča, ali izpolnjuje zahteve, in gre skozi strog postopek validacije in preverjanja.

Načela V-modela

  • Od velikega do majhnega: V modelu V se testiranje izvaja v hierarhični perspektivi, na primer zahteve, ki jih je opredelila projektna skupina, ustvarjanje faz načrtovanja na visoki ravni in faze podrobnega načrtovanja projekta. Ko je vsaka od teh faz zaključena, postajajo zahteve, ki jih določajo, vedno bolj izpopolnjene in podrobne.
  • Integriteta podatkov/procesa: To načelo navaja, da uspešna zasnova katerega koli projekta zahteva vključitev in kohezijo podatkov in procesov. Elemente procesa je treba identificirati pri vsaki zahtevi.
  • Razširljivost: To načelo navaja, da ima koncept V-Model prilagodljivost za prilagoditev kateremu koli IT projektu ne glede na njegovo velikost, kompleksnost ali trajanje.
  • Navzkrižno sklicevanje: Neposredna korelacija med zahtevami in ustrezno dejavnostjo testiranja je znana kot navzkrižno sklicevanje.

Materialna dokumentacija:

To načelo navaja, da mora vsak projekt ustvariti dokument. To dokumentacijo zahtevata in uporabljata tako skupina za razvoj projekta kot skupina za podporo. Dokumentacija se uporablja za vzdrževanje aplikacije, ko je na voljo v produkcijskem okolju.

Zakaj prednostno?

  • Zaradi togosti modela je enostavno upravljanje. Vsaka faza V-modela ima posebne rezultate in postopek pregleda.
  • Proaktivno sledenje napakam – to pomeni, da so napake odkrite v zgodnji fazi.

Kdaj uporabiti od V-model ?

  • Sledljivost zahtev: V-model se izkaže za uporabnega v situacijah, ko je nujno ustvariti natančno sledljivost med zahtevami in njihovimi povezanimi testnimi primeri.
  • Kompleksni projekti: V-model ponuja metodičen način za upravljanje dejavnosti testiranja in zmanjšanje tveganj, povezanih z integracijo in težavami vmesnikov za projekte z visoko stopnjo kompleksnosti in soodvisnosti med sistemskimi komponentami.
  • Projekti, podobni slapu : Ker V-model ponuja dostopno strukturo za organiziranje, izvajanje in spremljanje dejavnosti testiranja na vseh stopnjah razvoja, je primeren za projekte, ki uporabljajo zaporedni pristop k razvoju, podobno kot model slapa.
  • Varnostno kritični sistemi: Ti sistemi se uporabljajo v vesoljski, avtomobilski in zdravstveni industriji. Močan poudarek dajejo strogim postopkom preverjanja in potrjevanja, ki pomagajo zagotoviti, da so bistvene sistemske zahteve izpolnjene in da se možna tveganja odkrijejo in odpravijo zgodaj v razvojnem procesu.

Prednosti modela V

  • To je zelo discipliniran model in faze se zaključijo ena za drugo.
  • V-Model se uporablja za majhne projekte, kjer so projektne zahteve jasne.
  • Preprost in enostaven za razumevanje in uporabo.
  • Ta model se osredotoča na dejavnosti preverjanja in validacije zgodaj v življenjskem ciklu, s čimer se poveča verjetnost izdelave kakovostnega izdelka brez napak.
  • Vodstvu projekta omogoča natančno sledenje napredku.
  • Jasen in strukturiran proces: V-model zagotavlja jasen in strukturiran proces za razvoj programske opreme , kar olajša razumevanje in sledenje.
  • Poudarek na testiranju: V-model daje velik poudarek testiranju, ki pomaga zagotoviti kakovost in zanesljivost programske opreme.
  • Izboljšana sledljivost: V-model zagotavlja jasno povezavo med zahtevami in končnim izdelkom, kar olajša sledenje in upravljanje sprememb programske opreme.
  • Boljša komunikacija: Jasna struktura V-modela pomaga izboljšati komunikacijo med stranko in razvojno ekipo.

Slabosti V-modela

  • Visoko tveganje in negotovost.
  • Ni dobro za kompleksne in objektno usmerjene projekte.
  • Ni primeren za projekte, kjer zahteve niso jasne in vsebujejo veliko tveganje za spremembo.
  • Ta model ne podpira ponavljanja faz.
  • Ne obravnava enostavno sočasnih dogodkov.
  • Nefleksibilnost: V-model je linearen in zaporedni model, kar lahko oteži prilagajanje spreminjajočim se zahtevam ali nepričakovanim dogodkom.
  • Potratno: V-model je lahko zamuden, saj zahteva veliko dokumentacije in testiranja.
  • Pretirano zanašanje na dokumentacijo: V-model daje močan poudarek na dokumentacijo, kar lahko vodi v pretirano zanašanje na dokumentacijo na račun dejanskega razvojnega dela.

Zaključek

Znanstveni in organizirani pristop k življenjskemu ciklu razvoja programske opreme (SDLC) zagotavlja V-model programskega inženiringa. Pri izbiri katerega koli modela SDLC, vključno z modelom V, je treba upoštevati strokovno znanje ekipe z izbrano metodologijo, edinstvene značilnosti projekta in naravo zahtev.

Referenčna knjiga:

Software Engineering: A Practitioner's Approach avtor Roger S. Pressman, ki ga je objavila McGraw-Hill Education, 2017.