- Istorija
- Kūryba
- Alternatyva krioklio modeliui
- Spiralinio modelio ypatybės
- Rizikos kontrolė
- Spiralės aprašymas
- Bendras
- Lankstus
- Metamodelis
- Etapai
- Nustatykite tikslus, alternatyvas ir apribojimus
- Rizikos vertinimas
- Kūrimas ir testavimas
- Kito ciklo planavimas
- Pavyzdys
- Privalumas
- Ciklinė struktūra
- Rizikos valdymas
- Pirkėjų dalyvavimas ir atsiliepimai
- Idealiai tinka dideliems projektams
- Trūkumai
- Brangus
- Gana sudėtingas
- Laiko planavimas
- Daugybė žingsnių
- Nuorodos
Spiralės modelis yra iš programų kūrimo proceso archetipas. Tai grindžiama hipoteze, kad programinės įrangos kūrimas yra kartojamas ciklas, kuris kartojamas tol, kol bus pasiekti užsibrėžti tikslai. Jis turi galimybę valdyti daugybę rizikų, kurios gali kilti kuriant bet kokią programinę įrangą.
Tai yra vienas iš svarbiausių rizikos valdymo palaikymo modelių. Kaip rodo jo pavadinimas, šis modelis rodomas kaip spiralės formos, kai skirtingi modelio etapai pasiskirsto skirtingais ciklais. Ciklų skaičius modelyje nėra fiksuotas ir gali skirtis priklausomai nuo projekto.
Analizė, vertinimas, planavimas ir plėtra. Programinės įrangos kūrimo spiralės šaltinis: Beao commons.wikimedia.org
Istorija
Kūryba
Spiralinį modelį apibrėžė amerikiečių matematikas ir programinės įrangos inžinerijos profesorius Barry Boehmas. Pateikęs savo 1986 m. Sudėtingų programų kūrimo koncepciją, 1988 m. Jis paskelbė savo modelį, išsamesnį pagrindą savo straipsnyje „Spiralinis programinės įrangos kūrimo ir tobulinimo modelis“.
Dalis šio 1988 m. Leidinio grafiškai pavaizdavo spiralės modelį, išsamiai parodydami, kaip programinės įrangos kūrimo procesas atrodo spiraliniu būdu ir palaikomas ciklų.
Boehmas yra žinomas dėl daugybės indėlių į programinės įrangos inžineriją, pavyzdžiui, konstruktyvų išlaidų modelį (COCOMO), programinės įrangos proceso spiralinį modelį, G teorijos (abipusiai naudingas) požiūrį į reikalavimų nustatymą ir valdymą. programinės įrangos.
Alternatyva krioklio modeliui
Savo publikacijoje Boehmas aprašė spiralės modelį kaip galimą alternatyvą anksčiau nustatytam krioklio modeliui, kuris taip pat buvo jo praktikos pagrindas.
Spiralinis modelis nebuvo pirmasis, kuris aptarė ciklinę raidą, tačiau tai buvo pirmasis modelis, paaiškinantis, kodėl iteracija yra svarbi. Kaip iš pradžių planuota, jis buvo skirtas dideliems, sudėtingiems projektams, kurių kartojimai paprastai būna nuo 6 mėnesių iki 2 metų.
Šis modelis nemano, kad programinės įrangos kūrimo užduotys, skirtingai nuo krioklio modelio, yra suprojektuotos tiesiškai, o laiko jas iteracinėmis užduotimis.
Šis ciklinis modelis turėjo įtakos programinės įrangos inžinerijos architektūra (MBASE) ir kraštutiniam programavimui.
Spiralinio modelio ypatybės
Rizikos kontrolė
Šis modelis labai išskiria iš kitų programinės įrangos proceso modelių tuo, kad jis aiškiai atpažįsta riziką. Taigi tai labai sumažina didelių programinės įrangos projektų nesėkmes pakartotinai įvertindama riziką ir kiekvieną kartą patikrindama kuriamą produktą.
Šiame kompiuterio modelyje yra komponentų iš beveik visų kitų programinės įrangos gyvavimo ciklo modelių, tokių kaip krioklio modelis, prototipų sudarymo modelis, iteracinis modelis, evoliucinis modelis ir kt.
Dėl šios priežasties jis gali valdyti beveik bet kokią riziką, su kuria paprastai nesusiję kiti modeliai. Tačiau dėl to, kad yra tiek daug komponentų, šis modelis yra daug sudėtingesnis nei kiti programinės įrangos kūrimo modeliai.
Spiralės aprašymas
Kiekvienas spiralės posūkis reiškia visą ciklą, per kurį visada praeina keturi kvadrantai, vaizduojantys keturis modelio etapus.
Didėjant spiralės dydžiui, didėja ir progresas. Todėl scenos vykdomos ne kartą, o keletą kartų, spiraliniu būdu.
Nors toks cikliškas kartojimas priverčia projektą lėtai priartėti prie nustatytų tikslų, labai sumažinama rizika, kad plėtros procesas nepavyks.
Bendras
Keturiuose etapuose įgyvendinami tik pagrindiniai ciklo tikslai, tačiau jie neprivalo pasireikšti kiekviename cikle.
Kiekvieno ciklo tvarka taip pat nėra griežtai nustatyta. Todėl modelį galima bet kada derinti su kitais modeliais.
Lankstus
Jis yra gana lankstus, nes vykdo tikslų apibrėžimą, rizikos analizę, plėtros ir planavimo procesus atskirai kiekvienam projekto etapui.
Metamodelis
Jis laikomas metamodeliu, nes apima kitus modelius. Pvz., Jei spiralė būtų vieno ciklo, ji parodytų krioklio modelį, nes ji apima laipsnišką požiūrį į šį klasikinį modelį.
Jis taip pat naudoja modelio modeliavimo metodą, nes kiekvieno ciklo pradžioje surenka prototipą rizikai valdyti.
Be to, jis suderinamas su evoliucijos modeliu, nes spiralės iteracijas galima laikyti evoliucijos lygiais, per kuriuos kuriama galutinė sistema.
Etapai
Nustatykite tikslus, alternatyvas ir apribojimus
Sistemos reikalavimai yra apibrėžti kuo išsamiau, įskaitant našumą, aparatinės ir programinės įrangos sąsajas, pagrindinius sėkmės rodiklius ir kt. ir kokie tikslai turėtų būti siejami su dabartiniu plėtros ciklu.
Be to, nagrinėjamos skirtingos jo įgyvendinimo alternatyvos, tokios kaip „build vs. nusipirkti, pakartotinai panaudoti esamus komponentus ar perduoti paslaugas kitoms įmonėms ir kt.
Taip pat nustatomi tokie apribojimai kaip kaina, tvarkaraštis ir sąsajos, laiko sąnaudos ir kt.
Rizikos vertinimas
Įvertintos visos siūlomos alternatyvos. Tikslai ir suvaržymai yra naudojami nustatant nuorodas, kaip pasirinkti geriausią sprendimą.
Be to, nustatomos rizikos, kurios gali kliudyti projekto sėkmei, tokios kaip patirties trūkumas, naujos technologijos, griežti grafikai, trūkumai ir tt, įgyvendinant pelningiausias strategijas, turinčias mažiausią riziką.
Galiausiai naudojami tokie metodai kaip prototipų sudarymas, modeliavimas, analitiniai modeliai ir vartotojų apklausos.
Kūrimas ir testavimas
Atlikta visa reikalinga plėtra, naudojant technologiją ir pasirinktą sprendimą. Su kiekviena iteracija sukuriama geresnė programos versija.
Faktinis kodas yra parašytas ir išbandytas keletą kartų, kol bus pasiektas norimas rezultatas, kuris vėliau taps pagrindu būsimiems kūrimo žingsniams.
Kito ciklo planavimas
Užbaigus vieną ciklą, pradedamas kito planavimas. Šis planavimas galėtų būti įprastas projekto tęsimas, jei būtų pasiektas ciklo tikslas, atsižvelgiant į kito tikslo apibrėžimą.
Tai galėtų būti ir kitų sprendimų paieška, jei ankstesnis plėtros etapas pasirodė esąs netinkamas. Esamą strategiją galima pakeisti viena iš anksčiau apibrėžtų alternatyvų arba nauja. Tokiu būdu būtų pradėtas naujas bandymas pasiekti duotą tikslą.
Pavyzdys
JAV kariuomenė priėmė „Ateities kovos sistemų“ (SCF) modernizavimo programos tobulinimo ir atnaujinimo spiralinį modelį.
2003 m. Oficialiai įkurti SCF buvo numatyti aprūpinti kariuomenę transporto priemonėmis, realiu laiku sujungtais su ypač greitu ir lanksčiu kovos lauko tinklu.
Projektas buvo suskirstytas į keturias plėtros spirales, kurių kiekviena buvo maždaug dveji metai. „Spiral 1“ buvo numatyta pradėti naudoti 2008 m. Ir pristatys prototipus naudoti ir vertinti.
Pabaigus 1 spiralę, buvo numatyta, kad 2 spiralė prasidės 2010 m.. Galutinio produkto kūrimas turėjo būti pristatytas 2015 m.
2005 m. Rugpjūčio mėn. „Boeing“ paskelbė, kad baigė įgyvendinti pirmąjį svarbų projekto etapą, ty sistemų funkcinį kapitalinį remontą. Projekto lyderiai buvo „Boeing“ ir „Science Applications International Corporation“.
Tačiau 2005 m. Spalio mėn. Pentagonas rekomendavo atidėti projektą dėl didelio poveikio Irako karo sąnaudoms ir uragano „Katrina“ pagalbos.
Projektas buvo atšauktas 2009 m., Kai buvo sumažinti biudžetai, nesugebėjus įrodyti, kad šios misijos spiralinis modelis pranašesnis.
Privalumas
Ciklinė struktūra
Dėl tokio tipo struktūros, periodiškai patikrinant, automatiškai pašalinamos problemos tarp projektavimo ir techninių programinės įrangos reikalavimų.
Rizikos valdymas
Prieš tęsdami veiksmus, rizika analizuojama kiekviename gaminio etape. Tai padeda įveikti ar sumažinti galimą riziką.
Didelė rizikos analizės svarba šiame modelyje naudinga visiems darbuotojams, ir tai gali reikšti didžiausią jų pranašumą prieš kitus proceso modelius.
Reguliarus rizikos vertinimas yra vertingas, kai naudojama nauja techninė aplinka, kuri paprastai siejama su tam tikru rizikos potencialu, nes nėra empirinių verčių.
Pirkėjų dalyvavimas ir atsiliepimai
Klientai dalyvauja kiekviename projekto etape, kol projektas bus baigtas. Todėl, norint patobulinti kitą projekto versiją, galima surinkti įvairių atsiliepimų.
Dėl spiralės formos avanso bet kuriuo metu galima gauti atsiliepimų. Taigi klientus ir vartotojus nuo pat pradžių galima integruoti į kūrimo procesą.
Idealiai tinka dideliems projektams
Tai ypač populiaru ir garsėja dideliems ir sudėtingiems projektams, kur biudžeto kontrolė yra prioritetas klientams ir kūrėjams. Jūs maksimaliai kontroliuojate programinės įrangos projekto sąnaudas, išteklius ir kokybę.
Trūkumai
Brangus
Tai gali būti gana brangu, nes norint atlikti rizikos analizę reikia aukšto lygio žinių. Be to, projektams sukurti reikia daug laiko, o tai gali padidinti išlaidų.
Gana sudėtingas
Reikalingas labai aktyvus ir sudėtingas išankstinis projekto valdymas, kai kiekvienas ciklas yra nuolat, kruopščiai kontroliuojamas ir dokumentuojamas.
Jis yra palyginti sudėtingesnis nei kiti modeliai, nes yra daug ciklų, kiekvienas iš kurių eina skirtingus etapus, taigi padidėja dokumentacijos proceso pastangos.
Būtina žinoti apie rizikos analizę ir valdymą, kurių dažnai nėra.
Laiko planavimas
Laiką sunku valdyti, nes ciklų skaičius nežinomas. Be to, kūrimo procesas gali būti atidėtas bet kuriuo metu, jei svarbūs sprendimai turi būti priimti per vieną ciklą arba planuojant kitą ciklą imamasi papildomų veiksmų.
Daugybė žingsnių
Daugybė programinės įrangos kūrimo žingsnių ne visada yra palankūs, nes nepaisant testavimo universalumo, nebaigtos programos dalys gali pasiekti baigtą sistemą.
Dėl to visada yra pavojus, kad bet kokia koncepcinė klaida ar nenuoseklumas paveiks galutinį produktą.
Nuorodos
- Viktoras Šriftas Jr (2019 m.). Spiralinis modelis. Pagrindinis SDLC vadovas. Paimta iš: ultimatesdlc.com.
- Ionos (2019). Spiralinis modelis: į riziką orientuotas programinės įrangos kūrimo proceso modelis. Paimta iš: ionos.com.
- „Techuz“ (2018). Kas yra spiralinis modelis? Paprastas spiralinės programinės įrangos kūrimo gyvavimo ciklo (SDLC) paaiškinimas. Paimta iš: techuz.com.
- Vieno langelio bandymas (2020 m.). Spiralinis modelis. Paimta iš: onestoptesting.com.
- Geeks už Geeksą (2020). Programinės įrangos inžinerija - spiralinis modelis. Paimta iš: geeksforgeeks.org.
- Čandu (2019). Spiralinis modelis programinės įrangos inžinerijoje. Paimta iš: medium.com.