Zgodovina spiralnih modelov, značilnosti, stopnje, primer

Zgodovina spiralnih modelov, značilnosti, stopnje, primer

On spiralni model Je arhetip procesa razvoja aplikacije. Temelji na hipotezi, da je razvoj programske opreme iterativni cikel, ki se ponavlja, dokler ne dosežejo uveljavljenih ciljev. Ima možnost obvladovanja velike količine tveganj, ki bi se lahko pojavila pri razvoju katere koli programske opreme.

Je eden najpomembnejših modelov za podporo obvladovanju tveganj. Kot že ime pove, je ta model prikazan kot spiralna oblika, kjer se različne stopnje modela porazdelijo v različnih ciklih. Število ciklov v modelu ni določeno in se lahko razlikuje od enega projekta do drugega.

Analiza, ocenjevanje, načrtovanje in razvoj. Vir programske opreme za razvoj sippiralnega razvoja: Beao [Public Domain] Commons.Wikimedia.Org [toc]

Zgodovina

Ustvarjanje

Spiralni model je določil matematik in profesor ameriškega programskega inženiringa Barry Boehm. Potem ko je leta 1986 predstavil svoj koncept za razvoj zapletenih aplikacij, je svoj model objavil leta 1988 v popolnejšem okviru v svojem članku. "Spiralni model razvoja in izboljšanja programske opreme".

Del te publikacije iz leta 1988 je grafično predstavljal spiralni model in v celoti pokazal, kako je proces razvoja programske opreme viden v obliki spirale in podprt s cikli.

Boehm je znan po številnih prispevkih za programsko inženirstvo, kot so konstruktivni model stroškov (Cocomo), spiralni model programskega procesa, pristop k teoriji G (Win-win) za določanje zahtev in upravljanje programske opreme.

Alternativa modelu slapa

Boehm je v svoji publikaciji opisal spiralni model kot možno alternativo predhodno uveljavljenemu modelu slapa, ki je služil tudi kot osnova za svojo prakso.

Spiralni model ni bil prvi, ki je dvignil ciklični razvoj, vendar je bil prvi model, ki je razložil, zakaj je iteracija pomembna. Kot je bilo prvotno načrtovano, je bil dodeljen velikim in zapletenim projektom, katerih iteracije so običajno od 6 mesecev do 2 leti.

Ta model ne predvideva, da so naloge za razvoj programske opreme zasnovane linearno, za razliko od modela slapa, ampak da jih vidi kot iterativne naloge.

Ta ciklični model je vplival na programsko inženirsko arhitekturo na osnovi modelov (MBase) in ekstremno programiranje.

Značilnosti spiralnega modela

Nadzor tveganja

Kar močno razlikuje ta model od drugih modelov programskega procesa, je, da izrecno prepozna tveganja. Zato znatno zmanjša, da veliki programski projekti ne uspejo, saj večkrat ocenjuje tveganja in vsakič preveri razvojni izdelek.

Ta računalniški model vsebuje komponente skoraj katerega koli drugega modela življenjskega cikla programske opreme, kot so model slapa, model ustvarjanja prototipa, iterativni model, evolucijski model itd.

Lahko vam služi: IKT (informacijske in komunikacijske tehnologije)

Zaradi tega je sposoben obvladati skoraj vsako vrsto tveganja, da drugi modeli običajno ne ravnajo. Vendar je zaradi toliko komponent ta model veliko bolj zapleten kot drugi modeli razvoja programske opreme.

Opis spirale

Vsak spiralni zavoj predstavlja celoten cikel, kjer vedno prehajajo štirje kvadranti, ki predstavljajo štiri stopnje modela.

Ko se spiralna velikost povečuje, se izvaja tudi napredek. Zato se stopnje ne izvajajo samo enkrat, ampak večkrat spiralno.

Čeprav ta ciklična ponovitev povzroči, da se projekt počasi približuje ustaljenim ciljem, tveganje za razvojni proces ne uspe močno zmanjšano.

Generično

Štiri stopnje vsadijo samo osnovne cilje cikla, vendar se jim ni treba manifestirati v vsakem ciklu.

Vrstni red vsakega cikla tudi ni strogo določen. Zato lahko model kadar koli kombinirate z drugimi modeli.

Prilagodljiv

Pri izvajanju ločeno za vsako fazo projekta je precej prilagodljiv procesi opredelitve ciljev, analize tveganj, razvoja in načrtovanja.

Metamodel

Šteje se, da metamodel vključuje druge modele. Na primer, če bi spirala zunaj enega cikla predstavljala model slapa, saj vključuje postopni pristop tega klasičnega modela.

Uporablja tudi pristop modela ustvarjanja prototipa, saj na začetku vsakega cikla prototip za obdelavo tveganj.

Poleg tega je združljiv z evolucijskim modelom, ker lahko spiralne iteracije veljajo za evolucijske ravni, prek katerih je končni sistem zgrajen.

Obdobja

Določite cilje, alternative in omejitve

Sistemske zahteve so opredeljene z največjimi možnimi podrobnostmi, vključno z zmogljivostjo, vmesniki strojne/programske opreme, ključnimi kazalniki uspeha itd. in upoštevajo, kateri cilji morajo biti povezani s trenutnim razvojnim ciklom.

Poleg tega se za njegovo izvajanje preučijo različne alternative, kot je gradnja Vs. kupite, ponovno uporabite obstoječe komponente ali podizvajalce itd.

Prav tako omejitve, kot so stroški, razpored in vmesniki, poraba časa itd.

ocena tveganja

Vse predlagane alternative so ocenjene. Cilji in omejitve služijo kot določitev referenc za izbiro najboljše rešitve.

Poleg tega tveganja, ki lahko ovirajo uspeh projekta, kot so pomanjkanje izkušenj, nove tehnologije, tesni urniki, pomanjkljivi procesi itd., Izvajanje najbolj donosnih in manjših strategij tveganja.

Vam lahko služi: kaj je periskop in za kaj je?

Končno se uporabljajo metode, kot so ustvarjanje prototipov, simulacij, analitični modeli in ankete uporabnikov.

Razvoj in test

Ves potreben razvoj se izvede z izbrano tehnologijo in rešitvijo. Z vsako iteracijo je ustvarjena boljša različica aplikacije.

Resnična koda je napisana in preizkušena večkrat, dokler ne bo dosežen želeni rezultat, kar bo nato služilo kot osnova za prihodnje razvojne korake.

Načrtovanje naslednjega cikla

Pri zaključku cikla se začne naslednje načrtovanje. To načrtovanje bi bilo običajno s projektom, če je bil dosežen cilj cikla, kar je povečalo definicijo naslednjega cilja.

Lahko bi bilo tudi najti druge rešitve, če bi bila prejšnja stopnja razvoja pokvarjena. Obstoječo strategijo bi lahko nadomestili ena od prej opredeljenih alternativ ali nova. S tem bi začel nov poskus doseči cilj.

Primer

Vojska ZDA je sprejela spiralni model za razvoj in posodobitev programa modernizacije za prihodnje bojne sisteme (SCF).

Uradno izdano leta 2003, pričakovati je bilo, da SCF čete izenači z vozili v realnem času z mrežo izjemno hitrih in prilagodljivih bojišč.

Projekt je bil približno dve leti razdeljen na štiri razvojne spirale. Spirala 1 naj bi se začela za leto 2008 in dostavila prototipe za uporabo in ocenjevanje.

Po končani spirali 1 je bilo predvideno, da bo za leto 2010 začel Spiral 2. Končni razvoj izdelka je bil predviden za leto 2015.

Boeing je avgusta 2005 napovedal zaključek prvega pomembnega mejnika projekta, ki je bil funkcionalen pregled sistemov. Mednarodna korporacija Boeing in Science Applications so bili projektni kolegiji.

Vendar je do oktobra 2005 Pentagon priporočil, da se projekt odloži zaradi velikega vpliva na stroške za vojno v Iraku in orkan Katrina Aid.

Projekt je bil preklican leta 2009, potem ko so se pojavile znižanje proračuna, ne da bi v tej misiji dokazali prednosti spiralnega modela

Prednosti

Ciklična struktura

Zaradi te vrste strukture so težave med zasnovo in tehničnimi zahtevami programske opreme tiho odpravljene, zahvaljujoč občasnim pregledom.

Upravljanje s tveganji

Tveganja se analizirajo v vsaki fazi izdelka, preden premaknete naprej. To pomaga premagati ali ublažiti možna tveganja.

Vsi sodelavci imajo v tem modelu koristi od zelo velikega pomena analize tveganja, kar morda predstavlja njihovo največjo prednost pred drugimi procesnimi modeli.

Vam lahko služi: vzporedna vrata: značilnosti, vrste in funkcije

Periodična ocena tveganj postane pomembna, ko inovativna tehnična okolja, ki so na splošno povezana s posebnim tveganjem, zaradi odsotnosti empiričnih vrednosti.

Udeležba strank in povratne informacije

Na vsaki stopnji projekta sodelujejo kupci, dokler projekt ne zaključi. Zato lahko zbiramo različne povratne informacije za izboljšanje naslednje različice projekta.

Poleg tega lahko povratne informacije dobite kadar koli zaradi spiralne oblike. Tako se lahko stranke in uporabniki v razvojnem procesu vključijo od začetka.

Idealno za velike projekte

Posebej je priljubljen in izrazit za velike in zapletene projekte, kjer je nadzor proračuna prednostna naloga za stranke in razvijalce. Obstaja največji nadzor nad stroški, viri in kakovostjo programskega projekta.

Slabosti

Drago

Lahko je precej drago, saj zahteva visoko raven izkušenj za analizo tveganja. Poleg tega projekti potrebujejo veliko časa za razvoj, kar lahko poveča splošne stroške.

Precej zapleteno

Potrebno je zelo aktivno in zapleteno predhodno upravljanje projekta, kjer je vsak cikel nadzorovan in skrbno.

Je sorazmerno bolj zapleten kot drugi modeli, saj je veliko ciklov, od katerih vsak prehaja skozi različne stopnje, s čimer se poveča napor postopka dokumentacije.

Ključnega pomena je znanje pri analizi in upravljanju tveganj, ki pogosto niso na voljo.

Upravljanje časa

Težko je obvladovati čas, saj število ciklov ni znano. Poleg tega se lahko kadar koli zavleče razvojni postopek, če je treba pri načrtovanju naslednjega cikla sprejeti pomembne odločitve ali dodatne ukrepe.

Veliko korakov

Ni vedno naklonjeno veliko korakov pri razvoju programske opreme zaradi dejstva, da lahko kljub vsestranskosti testov dosežejo neskončni sistem, ne da bi končali program.

Posledično obstaja vedno nevarnost, da kateri koli koncept ali konceptualna nedoslednost vpliva na končni izdelek.

Reference

  1. Victor Font Jr (2019). Spiralni model. Končni vodnik za SDLC. Vzet od: ultimatesdlc.com.
  2. Ionos (2019). Spiralni model: model procesa razvoja programske opreme, ki temelji na tveganju. Vzet od: ionos.com.
  3. Techuz (2018). Kaj je spiralni model? Do preproste razlage življenjskega cikla razvoja spiralne programske opreme (SDLC). Vzet od: Techuz.com.
  4. Testiranje na enem zaustavitvi (2020). Spiralni model. Vzet od: oonetoptEsting.com.
  5. Geeks za geeke (2020). Inženirska programska oprema - spiralni model. Vzet od: geeksforgeeks.org.
  6. Chandu (2019). Spiralni model v programskem inženiringu. Vzeti iz: medij.com.