Spiralni model: kada koristiti? Prednosti i nedostatci

Što je spiralni model?

Spiralni model je model procesa razvoja softvera vođen rizikom. To je kombinacija modela vodopada i iterativnog modela. Spiralni model pomaže u usvajanju elemenata razvoja softvera višestrukih modela procesa za softverski projekt na temelju jedinstvenih obrazaca rizika osiguravajući učinkovit proces razvoja.

Svaka faza spiralnog modela u softverskom inženjerstvu započinje ciljem dizajna i završava pregledom napretka od strane klijenta. Spiralni model u softverskom inženjerstvu prvi je spomenuo Barry Boehm u svom radu iz 1986. godine.

Razvojni proces u spiralnom modelu u SDLC-u počinje s malim skupom zahtjeva i prolazi kroz svaku razvojnu fazu za taj skup zahtjeva. Tim softverskog inženjera dodaje funkcionalnost za dodatne zahtjeve u sve većim spiralama dok aplikacija ne bude spremna za proizvodnu fazu. Donja slika vrlo dobro objašnjava spiralni model:

Dijagram spiralnog modela
Dijagram spiralnog modela

Spiralni model faza

Spiralni model faza Aktivnosti koje se izvode tijekom faze
Planiranje
  • Uključuje procjenu troškova, rasporeda i resursa za ponavljanje. Također uključuje razumijevanje zahtjeva sustava za kontinuiranu komunikaciju između analitičara sustava i korisnika
Analiza rizika
  • Identifikacija potencijalnog rizika se provodi dok se planira i dovršava strategija za smanjenje rizika
Inženjering
  • To uključuje testiranje, kodiranje i implementaciju softvera na mjestu korisnika
Procjena
  • Ocjena softvera od strane kupca. Također, uključuje prepoznavanje i praćenje rizika kao što su odstupanje od rasporeda i prekoračenje troškova

Kada koristiti spiralni model?

  • Spiralni model u softverskom inženjerstvu koristi se kada je projekt velik
  • Kada se zahtijeva da objave budu česte, koristi se spiralna metodologija
  • Kada je primjenjiva izrada prototipa
  • Kada je procjena rizika i troškova važna
  • Spiralna metodologija korisna je za projekte srednjeg do visokog rizika
  • Kada su zahtjevi nejasni i složeni, uključuje se spiralni model SDLC je korisno
  • Kada promjene mogu zahtijevati u bilo kojem trenutku
  • Kada dugoročna predanost projektu nije izvediva zbog promjena u ekonomskim prioritetima

Prednosti i nedostaci spiralnog modela

Prednosti Nedostaci
Dodatne funkcionalnosti ili promjene mogu se napraviti u kasnijoj fazi Rizik neispunjavanja rasporeda ili budžeta
Procjena troškova postaje laka jer se izgradnja prototipa radi u malim fragmentima Spiralni razvoj najbolje funkcionira za velike projekte samo što također zahtijeva stručnost u procjeni rizika
Kontinuirani ili ponavljani razvoj pomaže u upravljanju rizikom Za nesmetan rad potrebno je strogo slijediti protokol spiralnog modela
Razvoj je brz i značajke se dodaju na sustavan način u Spiralnom razvoju Dokumentacija je više jer ima međufaze
Uvijek postoji prostor za povratne informacije kupaca Spiralni razvoj softvera nije preporučljiv za manje projekte, mogao bi ih skupo koštati