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:

Spiralni model faza
Spiralni model faza | Aktivnosti koje se izvode tijekom faze |
---|---|
Planiranje |
|
Analiza rizika |
|
Inženjering |
|
Procjena |
|
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 |