- Povijest
- Stvaranje
- Alternativa modelu vodopada
- Značajke spiralnog modela
- Kontrola rizika
- Opis spirale
- opći
- Fleksibilno
- metamodel
- Faze
- Odredite ciljeve, alternative i ograničenja
- Procjena rizika
- Razvoj i testiranje
- Planiranje sljedećeg ciklusa
- Primjer
- Prednost
- Ciklička struktura
- Upravljanje rizicima
- Sudjelovanje kupaca i povratne informacije
- Idealno za velike projekte
- Nedostaci
- Skup
- Prilično složen
- Upravljanje vremenom
- Mnogo koraka
- Reference
Spiralni Model je arhetip procesu razvoja aplikacija. Temelji se na hipotezi da je razvoj softvera iterativni ciklus koji se ponavlja sve dok se ne postignu postavljeni ciljevi. Može se nositi s velikim brojem rizika koji se mogu pojaviti prilikom razvoja bilo kojeg softvera.
To je jedan od najvažnijih modela za podršku upravljanju rizikom. Kao što mu ime govori, ovaj je model prikazan kao spiralni oblik, gdje su različite faze modela raspoređene u različitim ciklusima. Broj ciklusa u modelu nije fiksiran i može varirati od projekta do projekta.

Analiza, evaluacija, planiranje i razvoj. Izvor razvoja softvera spiralni izvor: Beao commons.wikimedia.org
Povijest
Stvaranje
Spiralni model definirao je američki matematičar i profesor softverskog inženjerstva Barry Boehm. Nakon što je 1986. predstavio svoj koncept za razvoj složenih aplikacija, svoj je model 1988. objavio u sveobuhvatnijem okviru u svom članku "Spiralni model razvoja i poboljšanja softvera".
Dio ove publikacije iz 1988. grafički je prikazao spiralni model, pokazujući na sveobuhvatan način kako izgleda spiralni proces razvoja softvera i podržan ciklusima.
Boehm je poznat po brojnim doprinosima softverskom inženjeringu, kao što su konstruktivni troškovni model (COCOMO), spiralni model softverskog procesa, G-teorija (win-win) pristup određivanju i upravljanju zahtjevima. softvera.
Alternativa modelu vodopada
Boehm je u svojoj publikaciji opisao spiralni model kao moguću alternativu prethodno utvrđenom modelu vodopada, koji je ujedno poslužio kao osnova za njegovu praksu.
Spiralni model nije prvi koji je raspravljao o cikličkom razvoju, ali bio je prvi model koji je objasnio zašto je iteracija važna. Kao što je prvobitno planirano, bio je usmjeren na velike, složene projekte čija se ponavljanja obično kreću od 6 mjeseci do 2 godine.
Ovaj model ne pretpostavlja da su zadaci razvoja softvera dizajnirani linearno, za razliku od modela vodopada, već ih doživljava kao iterativne zadatke.
Ovaj ciklički model utjecao je na Model zasnovanu arhitekturu softverskog inženjerstva (MBASE) i ekstremno programiranje.
Značajke spiralnog modela
Kontrola rizika
Ono što ovaj model uvelike razlikuje od drugih modela softverskih procesa jest to što izričito prepoznaje rizike. Dakle, u velikoj mjeri smanjuje neuspjeh velikih softverskih projekata tako što opetovano procjenjuje rizike i provjerava proizvod u razvoju svaki put.
Ovaj računalni model sadrži komponente gotovo svih drugih modela životnog ciklusa softvera, poput modela vodopada, modela prototipiranja, iterativnog modela, evolucijskog modela i tako dalje.
Zbog toga je sposoban nositi se s gotovo svim vrstama rizika s kojima se drugi modeli općenito ne nose. Međutim, s obzirom na toliko komponenti, ovaj je model mnogo složeniji od ostalih modela razvoja softvera.
Opis spirale
Svaki zaokret spirale predstavlja cjelovit ciklus kroz koji uvijek prolaze četiri kvadranta, što predstavlja četiri stupnja modela.
Kako se povećava veličina spirale, tako se povećava i napredak. Stoga se faze ne izvode samo jednom, već nekoliko puta, spiralno.
Iako se ovim cikličkim ponavljanjem projekt polako približava utvrđenim ciljevima, rizik od neuspjeha razvojnog procesa uvelike je sveden na minimum.
opći
Četiri faze implementiraju samo osnovne ciljeve ciklusa, ali ne moraju se očitovati u svakom ciklusu.
Poredak svakog ciklusa nije ni strogo određen. Stoga se model može u bilo kojem trenutku kombinirati s drugim modelima.
Fleksibilno
Prilično je fleksibilan, jer odvojeno provodi definiranje ciljeva, analizu rizika, procese razvoja i planiranja za svaku fazu projekta.
metamodel
Smatra se metamodelom jer uključuje ostale modele. Na primjer, ako je spirala jedan ciklus, predstavljala bi model vodopada, jer uključuje postupni pristup ovom klasičnom modelu.
Također koristi pristup modelu prototipiranja, jer na početku svakog ciklusa sastavlja prototip za upravljanje rizikom.
Nadalje, kompatibilan je s evolucijskim modelom, jer se iteracije spirale mogu smatrati evolucijskim razinama, kroz koje je izgrađen konačni sustav.
Faze
Odredite ciljeve, alternative i ograničenja
Zahtjevi sustava definirani su u što je više moguće detalja, uključujući performanse, hardversko / softversko sučelje, ključne pokazatelje uspjeha itd. i koji se ciljevi trebaju povezati s trenutnim razvojnim ciklusom.
Pored toga, ispituju se različite alternative za njegovu provedbu, poput gradnje u odnosu na kupnja, ponovna uporaba postojećih komponenti ili outsourcinga itd.
Isto tako, određuju se ograničenja poput troškova, rasporeda i sučelja, potrošnje vremena itd.
Procjena rizika
Sve predložene alternative ocjenjuju se. Ciljevi i ograničenja služe kao odrednica za odabir najboljeg rješenja.
Pored toga, identificirani su i rizici koji mogu ometati uspjeh projekta, poput nedostatka iskustva, novih tehnologija, uskog rasporeda, nedostatnih procesa itd., Primjenom najprofitabilnijih strategija s najmanjim rizikom.
Konačno, koriste se metode poput prototipiranja, simulacija, analitičkih modela i anketiranja korisnika.
Razvoj i testiranje
Sav potreban razvoj provodi se koristeći tehnologiju i odabrano rješenje. Sa svakom iteracijom stvara se bolja inačica aplikacije.
Stvarni kôd piše se i testira nekoliko puta dok se ne postigne željeni rezultat koji će tada poslužiti kao osnova za buduće korake razvoja.
Planiranje sljedećeg ciklusa
Po završetku jednog ciklusa započinje planiranje sljedećeg. Ovo bi planiranje moglo biti normalno nastaviti s projektom ako je postignut cilj ciklusa, uzimajući u obzir definiciju sljedećeg cilja.
Moglo bi se naći i druga rješenja, ako se prethodna faza razvoja pokazala neispravnom. Postojeću strategiju može zamijeniti jedna od prethodno definiranih alternativa ili nova. S tim bi započeo novi pokušaj postizanja zadanog cilja.
Primjer
Vojska Sjedinjenih Država usvojila je spiralni model za razvoj i nadogradnju programa modernizacije Future Fighting Systems (SCF).
Službeno lansirana 2003., SCF su zamišljeni da opremi trupe vozilima povezanim u stvarnom vremenu s izvanredno brzom i fleksibilnom mrežom ratišta.
Projekt je bio podijeljen u četiri razvojne spirale u trajanju od po dvije godine. Spirala 1 trebala je započeti u 2008. i isporučiti je prototipove na upotrebu i procjenu.
Nakon dovršetka Spiral-a 1, Spiral 2 trebao je započeti u 2010. Konačni razvoj proizvoda trebao je biti isporučen u 2015.
U kolovozu 2005. Boeing je najavio završetak prvog značajnog koraka projekta, a to je funkcionalni remont sustava. Međunarodna korporacija Boeing i Science Applications bili su suvoditelji projekta.
Međutim, za listopad 2005. Pentagon je preporučio odlaganje projekta zbog velikog utjecaja na troškove rata u Iraku i pomoći uragana Katrina.
Projekt je otkazan 2009. godine nakon što su se pojavila smanjenja proračuna, a da nisu mogli dokazati prednosti spiralnog modela u ovoj misiji
Prednost
Ciklička struktura
Zbog ove vrste strukture, problemi između dizajna i tehničkih zahtjeva softvera prešutno se uklanjaju zahvaljujući periodičnim provjerama.
Upravljanje rizicima
Rizici se analiziraju u svakoj fazi proizvoda prije nego što se nastavi. To pomaže u prevladavanju ili ublažavanju potencijalnih rizika.
Svi zaposlenici imaju koristi od velikog značaja analize rizika u ovom modelu, što može predstavljati najveću prednost u odnosu na ostale modele procesa.
Redovita procjena rizika korisna je kada se koriste nova tehnička okruženja koja su općenito povezana s određenim potencijalom rizika zbog nepostojanja empirijskih vrijednosti.
Sudjelovanje kupaca i povratne informacije
Kupci su uključeni u svaku fazu projekta, do završetka projekta. Stoga se mogu prikupiti različite povratne informacije radi poboljšanja sljedeće verzije projekta.
Povratne informacije također se mogu dobiti u bilo kojem trenutku zbog napretka u obliku spirale. Dakle, kupci i korisnici mogu se od početka integrirati u razvojni proces.
Idealno za velike projekte
Posebno je popularan i poznat za velike i složene projekte, kojima je kontrola proračuna prioritet za klijente i programere. Imate maksimalnu kontrolu nad troškovima, resursima i kvalitetom softverskog projekta.
Nedostaci
Skup
To može biti prilično skupo, jer zahtijeva visoku razinu stručnosti za analizu rizika. Uz to, projekti trebaju puno vremena za razvoj, što može povećati režijske troškove.
Prilično složen
Potrebno je vrlo aktivno i složeno prethodno upravljanje projektom, gdje se svaki ciklus kontinuirano i pažljivo kontrolira i dokumentira.
Uporedno je složeniji od ostalih modela, jer postoji mnogo ciklusa, koji prolaze kroz različite faze, čime se povećava napor u postupku dokumentacije.
Poznavanje analize i upravljanja rizikom, koje često nije dostupno, je neophodno.
Upravljanje vremenom
Vrijeme je teško upravljati jer je broj ciklusa nepoznat. Pored toga, proces razvoja može se odgoditi u bilo koje vrijeme ako se moraju donijeti važne odluke unutar jednog ciklusa ili dodatnim radnjama pri planiranju sljedećeg ciklusa.
Mnogo koraka
Poduzeti mnogo koraka u razvoju softvera nije uvijek povoljno jer, unatoč svestranosti testiranja, nedovršeni dijelovi programa mogu dostići gotov sustav.
Kao posljedica toga, uvijek postoji opasnost da će bilo koja konceptualna pogreška ili nedosljednost utjecati na konačni proizvod.
Reference
- Victor Font Jr (2019.). Spiralni model. Vrhunski vodič za SDLC. Preuzeto sa: ultimatesdlc.com.
- Ionos (2019.). Spiralni model: model procesa razvoja softvera vođen rizikom. Preuzeto sa: ionos.com.
- Techuz (2018). Što je spiralni model? Jednostavno objašnjenje životnog ciklusa razvoja spiralnog softvera (SDLC). Preuzeto sa: techuz.com.
- Ispitivanje na jednom mjestu (2020). Spiralni model. Preuzeto sa: onestoptesting.com.
- Geeks za Geeks (2020). Softverski inženjering - spiralni model. Preuzeto sa: geeksforgeeks.org.
- Chandu (2019.). Spiralni model u softverskom inženjerstvu. Preuzeto sa: medium.com.
