- Vēsture
- Radīšana
- Alternatīva ūdenskrituma modelim
- Spirālveida modeļa iezīmes
- Riska kontrole
- Spirāles apraksts
- Vispārējs
- Elastīga
- Metamodele
- Posmi
- Nosakiet mērķus, alternatīvas un ierobežojumus
- Risku novērtēšana
- Izstrāde un testēšana
- Nākamā cikla plānošana
- Piemērs
- Priekšrocība
- Cikliskā struktūra
- Riska vadība
- Klientu līdzdalība un atsauksmes
- Ideāli piemērots lieliem projektiem
- Trūkumi
- Dārgi
- Diezgan sarežģīts
- Laika plānošana
- Daudzi soļi
- Atsauces
Spirālveida modelis ir prototips pieteikuma izstrādes procesā. Tas ir balstīts uz hipotēzi, ka programmatūras izstrāde ir iteratīvs cikls, kas atkārtojas, līdz tiek sasniegti noteiktie mērķi. Tā spēj izturēt lielu skaitu risku, kas varētu rasties, izstrādājot jebkuru programmatūru.
Tas ir viens no vissvarīgākajiem riska pārvaldības atbalsta modeļiem. Kā norāda nosaukums, šis modelis tiek parādīts spirālveida formā, kur dažādi modeļa posmi tiek sadalīti dažādos ciklos. Ciklu skaits modelī nav noteikts un var atšķirties atkarībā no projekta.
Analīze, novērtēšana, plānošana un attīstība. Programmatūras izstrādes spirāles avots: Beao commons.wikimedia.org
Vēsture
Radīšana
Spirālveida modeli definēja amerikāņu matemātiķis un programmatūras inženierijas profesors Barijs Boehms. Pēc iepazīstināšanas ar savu koncepciju sarežģītu lietojumu izstrādei 1986. gadā, 1988. gadā viņš publicēja savu modeli plašākā ietvarā savā rakstā "Spirāles modelis programmatūras izstrādei un uzlabošanai".
Daļa šīs 1988. gada publikācijas grafiski attēloja spirāles modeli, vispusīgi parādot, kā programmatūras izstrādes process izskatās spirālveidā un cikliski atbalstīts.
Boehms ir pazīstams ar daudzajiem ieguldījumiem programmatūras inženierijā, piemēram, konstruktīvo izmaksu modeli (COCOMO), programmatūras procesa spirālveida modeli, G teorijas (abpusēji izdevīga) pieeju prasību noteikšanai un pārvaldībai. programmatūras versiju.
Alternatīva ūdenskrituma modelim
Boehms savā publikācijā aprakstīja spirāles modeli kā iespējamu alternatīvu iepriekš izveidotajam ūdenskrituma modelim, kas arī kalpoja par pamatu viņa praksei.
Spirālveida modelis nebija pirmais, kas apsprieda ciklisko attīstību, bet tas bija pirmais modelis, kas izskaidroja, kāpēc iterācija ir svarīga. Kā sākotnēji plānots, tas ir paredzēts lieliem, sarežģītiem projektiem, kuru iterācijas parasti ir no 6 mēnešiem līdz 2 gadiem.
Šajā modelī nav pieņemts, ka programmatūras izstrādes uzdevumi ir izstrādāti lineāri atšķirībā no ūdenskrituma modeļa, bet gan uzskata tos par iteratīviem uzdevumiem.
Šis cikliskais modelis ietekmēja Model Based Software Engineering Architecture (MBASE) un ekstrēmo programmēšanu.
Spirālveida modeļa iezīmes
Riska kontrole
Tas, kas šo modeli ļoti atšķir no citiem programmatūras procesu modeļiem, ir tas, ka tas skaidri atzīst riskus. Tādējādi tas ievērojami samazina lielu programmatūras projektu kļūmes, atkārtoti novērtējot riskus un katru reizi pārbaudot izstrādājamo produktu.
Šis datora modelis satur komponentus no gandrīz visiem citiem programmatūras dzīves cikla modeļiem, piemēram, ūdenskrituma modeli, prototipa modeli, iteratīvo modeli, evolūcijas modeli utt.
Tādēļ tas spēj pārvarēt gandrīz jebkura veida risku, ar kuru parasti netiek galā citi modeļi. Tomēr, tā kā tam ir tik daudz komponentu, šis modelis ir daudz sarežģītāks nekā citi programmatūras izstrādes modeļi.
Spirāles apraksts
Katrs spirāles pagrieziens apzīmē pilnu ciklu, caur kuru vienmēr iziet četri kvadranti, kas apzīmē četrus modeļa posmus.
Palielinoties spirāles lielumam, palielinās arī sasniegtais progress. Tāpēc posmi netiek izpildīti tikai vienu reizi, bet vairākas reizes spirālveidā.
Kaut arī šī cikliskā atkārtošanās liek projektam lēnām tuvināties izvirzītajiem mērķiem, attīstības procesa neveiksmes risks tiek stingri samazināts.
Vispārējs
Četri posmi īsteno tikai cikla pamatmērķus, bet tie nav jāizpaužas katrā ciklā.
Arī katra cikla secība nav precīzi noteikta. Tāpēc modeli var jebkurā laikā apvienot ar citiem modeļiem.
Elastīga
Tas ir diezgan elastīgs, jo tas katram projekta posmam atsevišķi veic mērķu noteikšanu, riska analīzi, attīstības un plānošanas procesus.
Metamodele
To uzskata par metamodeli, jo tas ietver pārējos modeļus. Piemēram, ja spirālei būtu viens cikls, tas attēlotu ūdenskrituma modeli, jo tas ietver šī klasiskā modeļa pakāpenisko pieeju.
Viņš izmanto arī modeļa modeļa pieeju, jo katra cikla sākumā viņš montē prototipu riska pārvaldīšanai.
Turklāt tas ir savietojams ar evolūcijas modeli, jo spirāles iterācijas var uzskatīt par evolūcijas līmeņiem, caur kuriem tiek veidota galīgā sistēma.
Posmi
Nosakiet mērķus, alternatīvas un ierobežojumus
Sistēmas prasības ir definētas pēc iespējas detalizētāk, ieskaitot veiktspēju, aparatūras / programmatūras saskarnes, galvenos panākumu rādītājus utt. un kādi mērķi ir jāsaista ar pašreizējo attīstības ciklu.
Turklāt tiek apskatītas dažādas tā ieviešanas alternatīvas, piemēram, būvēt vs. pirkt, atkārtoti izmantot esošos komponentus vai izmantot ārpakalpojumus utt.
Tāpat tiek noteikti tādi ierobežojumi kā izmaksas, grafiks un saskarnes, laika patēriņš utt.
Risku novērtēšana
Tiek vērtētas visas piedāvātās alternatīvas. Mērķi un ierobežojumi kalpo kā atsauces, lai izvēlētos labāko risinājumu.
Turklāt tiek identificēti riski, kas var kavēt projekta panākumus, piemēram, pieredzes trūkums, jaunas tehnoloģijas, saspringts grafiks, slikti procesi utt., Īstenojot visrentablākās stratēģijas ar viszemāko risku.
Visbeidzot, tiek izmantotas tādas metodes kā prototipēšana, simulācijas, analītiskie modeļi un lietotāju aptaujas.
Izstrāde un testēšana
Izmantojot nepieciešamo tehnoloģiju un izvēlēto risinājumu, tiek veikta visa nepieciešamā izstrāde. Ar katru atkārtojumu tiek izveidota labāka lietojumprogrammas versija.
Faktiskais kods tiek uzrakstīts un pārbaudīts vairākas reizes, līdz tiek sasniegts vēlamais rezultāts, kas pēc tam kalpos par pamatu turpmākajiem attīstības posmiem.
Nākamā cikla plānošana
Pēc viena cikla pabeigšanas sākas nākamā plānošana. Šī plānošana varētu būt normāla projekta turpināšana, ja cikla mērķis ir sasniegts, ņemot vērā nākamā mērķa definīciju.
Varētu būt arī citu risinājumu meklēšana, ja iepriekšējais attīstības posms izrādījās kļūdains. Esošo stratēģiju varētu aizstāt ar kādu no iepriekš definētajām alternatīvām vai jaunu. Ar to tiktu sākts jauns mēģinājums sasniegt noteikto mērķi.
Piemērs
Amerikas Savienoto Valstu militārpersonas pieņēma spirālveida modeli Nākotnes cīņas sistēmu (SCF) modernizācijas programmas izstrādei un modernizēšanai.
Oficiāli atklāja 2003. gadā, lai izveidotu karaspēku ar transportlīdzekļiem, kas reāllaikā ir savienoti ar īpaši ātru un elastīgu kaujas lauka tīklu, tika paredzēts SCF.
Projekts tika sadalīts četrās attīstības spirālēs, kuru ilgums bija aptuveni divi gadi. Spiral 1 bija paredzēts sākt 2008. gadā, un tā piegādās prototipus lietošanai un novērtēšanai.
Pēc 1. spirāles pabeigšanas bija paredzēts, ka 2. spirāle sāksies 2010. gadā. Galaprodukta izstrādi bija paredzēts piegādāt 2015. gadā.
2005. gada augustā Boeing paziņoja par projekta pirmā nozīmīgā pagrieziena punkta, kas bija sistēmu funkcionāls kapitālais remonts, pabeigšanu. Boeing un Science Applications International Corporation bija projekta līdzvadītāji.
Tomēr Pentagons 2005. gada oktobrī ieteica projektu atlikt, jo Irākas karš un viesuļvētras “Katrina” sniegtā palīdzība lielā mērā ietekmēja izmaksas.
Projekts tika atcelts 2009. gadā pēc budžeta samazināšanas, nespējot pierādīt spirālveida modeļa ieguvumus šajā misijā
Priekšrocība
Cikliskā struktūra
Šāda veida struktūras dēļ, pateicoties periodiskām pārbaudēm, klusējot tiek novērstas problēmas starp programmatūras dizainu un tehniskajām prasībām.
Riska vadība
Pirms turpināt darbību, riski tiek analizēti katrā produkta posmā. Tas palīdz pārvarēt vai mazināt iespējamos riskus.
Visi darbinieki gūst labumu no lielās riska analīzes nozīmes šajā modelī, iespējams, atspoguļojot viņu vislielākās priekšrocības salīdzinājumā ar citiem procesu modeļiem.
Regulārs riska novērtējums ir vērtīgs, ja tiek izmantota jauna tehniskā vide, kas parasti ir saistīta ar īpašu riska potenciālu empīrisko vērtību neesamības dēļ.
Klientu līdzdalība un atsauksmes
Klienti tiek iesaistīti katrā projekta posmā līdz projekta pabeigšanai. Tāpēc, lai uzlabotu nākamo projekta versiju, var apkopot dažādas atsauksmes.
Arī spirālveida formas avansa dēļ jebkurā laikā var iegūt atsauksmes. Tādējādi klientus un lietotājus jau no paša sākuma var integrēt izstrādes procesā.
Ideāli piemērots lieliem projektiem
Tas ir īpaši populārs un pamanāms lieliem un sarežģītiem projektiem, kur budžeta kontrole ir klientu un izstrādātāju prioritāte. Jums ir maksimāla kontrole pār programmatūras projekta izmaksām, resursiem un kvalitāti.
Trūkumi
Dārgi
Tas var būt diezgan dārgi, jo riska analīzei ir nepieciešams augsts kompetences līmenis. Turklāt projektu izstrāde prasa daudz laika, un tas var palielināt izmaksas.
Diezgan sarežģīts
Nepieciešama ļoti aktīva un sarežģīta iepriekšēja projekta vadība, kurā katrs cikls tiek nepārtraukti un rūpīgi kontrolēts un dokumentēts.
Tas ir salīdzinoši sarežģītāks nekā citi modeļi, jo ir daudz ciklu, katrs no kuriem iziet dažādus posmus, tādējādi palielinot dokumentācijas procesa piepūli.
Būtiskas ir zināšanas par riska analīzi un pārvaldību, kuras bieži vien nav pieejamas.
Laika plānošana
Laiku ir grūti pārvaldīt, jo ciklu skaits nav zināms. Turklāt izstrādes procesu var atlikt jebkurā laikā, ja svarīgi cikla lēmumi jāpieņem viena cikla laikā vai, veicot papildu pasākumus, plānojot nākamo ciklu.
Daudzi soļi
Daudzu soļu veikšana programmatūras izstrādē ne vienmēr ir labvēlīga, jo, neskatoties uz testēšanas daudzpusību, nepabeigtās programmas daļas var sasniegt gatavu sistēmu.
Tā rezultātā vienmēr pastāv risks, ka jebkāda konceptuāla kļūda vai neatbilstība ietekmēs galaproduktu.
Atsauces
- Viktors Fonts Jr (2019). Spirāles modelis. Galvenais SDLC ceļvedis. Paņemts no: ultimatesdlc.com.
- Jonoss (2019). Spirāles modelis: uz risku orientēts programmatūras izstrādes procesa modelis. Iegūts no: ionos.com.
- Techuz (2018). Kas ir spirālveida modelis? Spirālas programmatūras izstrādes dzīves cikla (SDLC) vienkāršs skaidrojums. Paņemts no: techuz.com.
- Vienas pieturas pārbaude (2020. gads). Spirāles modelis. Paņemts no: onestoptesting.com.
- Geeks par Geeksu (2020). Programmatūras inženierija - spirālveida modelis. Iegūts no: geeksforgeeks.org.
- Čandu (2019). Spirāles modelis programmatūras inženierijā. Paņemts no: medium.com.