Det spiral mønster det er en arketype af applikationsudviklingsprocessen. Det er baseret på hypotesen om, at softwareudvikling er en iterativ cyklus, der gentages, indtil de etablerede mål er nået. Det har evnen til at håndtere det store antal risici, der kan opstå, når der udvikles software.
Det er en af de vigtigste modeller til understøttelse af risikostyring. Som navnet antyder, vises denne model som spiralformet, hvor de forskellige faser af modellen fordeles i forskellige cyklusser. Antallet af cyklusser i modellen er ikke fast og kan variere fra projekt til projekt.
Artikelindeks
Spiralmodellen blev defineret af den amerikanske matematiker og professor i softwareingeniør Barry Boehm. Efter at have præsenteret sit koncept i 1986 til udvikling af komplekse applikationer offentliggjorde han sin model i 1988 i en mere omfattende ramme i sin artikel “En spiralmodel af softwareudvikling og forbedring".
En del af denne publikation fra 1988 skildrede grafisk spiralmodellen, der fuldt ud viser, hvordan softwareudviklingsprocessen ser ud på en spiralformet og understøttet af cyklusser..
Boehm er kendt for sine mange bidrag til softwareteknik, såsom den konstruktive omkostningsmodel (COCOMO), spiralmodellen i softwareprocessen, G-teoriens (win-win) tilgang til kravsbestemmelse og styring af softwaren..
I sin publikation beskrev Boehm spiralmodellen som et muligt alternativ til den tidligere etablerede vandfaldsmodel, som også tjente som grundlag for hans praksis..
Spiralmodellen var ikke den første til at diskutere cyklisk udvikling, men det var den første, der forklarede, hvorfor iteration er vigtig. Som oprindeligt forestillet har det været målrettet mod store, komplekse projekter, hvis iterationer typisk spænder fra 6 måneder til 2 år..
Denne model antager ikke, at softwareudviklingsopgaver er designet lineært i modsætning til vandfaldsmodellen, men ser dem som iterative opgaver.
Denne cykliske model påvirkede modelbaseret software engineering-arkitektur (MBASE) og ekstrem programmering.
Hvad der i høj grad adskiller denne model fra andre softwareprocesmodeller er, at den eksplicit genkender risici. Det reducerer således svigt i store softwareprojekter ved gentagne gange at vurdere risici og verificere det produkt, der er under udvikling, hver gang..
Denne computermodel indeholder komponenter fra næsten enhver anden model af softwarelevecyklussen, såsom vandfaldsmodellen, prototypemodellen, den iterative model, den evolutionære model osv..
På grund af dette er det i stand til at håndtere næsten enhver form for risiko, som andre modeller generelt ikke håndterer. På grund af at have så mange komponenter er denne model imidlertid meget mere kompleks end de andre softwareudviklingsmodeller..
Hver drejning af spiralen repræsenterer en komplet cyklus, hvorigennem de fire kvadranter altid passerer, hvilket repræsenterer de fire faser i modellen..
Når spiralens størrelse øges, øges også de fremskridt, der er gjort. Derfor udføres stadierne ikke kun en gang, men flere gange i form af en spiral..
Selvom denne cykliske gentagelse gør, at projektet langsomt nærmer sig de etablerede mål, minimeres risikoen for, at udviklingsprocessen mislykkes..
De fire faser implementerer kun de grundlæggende mål for en cyklus, men de behøver ikke at blive manifesteret i hver cyklus.
Rækkefølgen for hver cyklus bestemmes heller ikke strengt. Derfor kan modellen til enhver tid kombineres med andre modeller.
Det er ret fleksibelt, da processerne til at definere mål, risikoanalyse, udvikling og planlægning udføres separat for hver fase af projektet..
Det betragtes som et metamodel, fordi det inkluderer de andre modeller. For eksempel, hvis spiralen var af en enkelt cyklus, ville den repræsentere vandfaldsmodellen, da den inkorporerer den gradvise tilgang af denne klassiske model.
Den bruger også tilgangen til prototypemodellen, da den i begyndelsen af hver cyklus samler en prototype til styring af risici..
Derudover er den kompatibel med den evolutionære model, fordi spiralens iterationer kan betragtes som evolutionære niveauer, hvorigennem det endelige system er bygget..
Systemkrav er defineret så meget detaljeret som muligt, herunder ydelse, hardware / software-grænseflader, nøgleindikatorer for succes osv. og overveje, hvilke mål der skal knyttes til den aktuelle udviklingscyklus.
Derudover undersøges forskellige alternativer til dens implementering, såsom build vs. købe, genbruge eksisterende komponenter eller outsource osv..
Ligeledes bestemmes begrænsninger som omkostninger, tidsplan og grænseflader, tidsforbrug osv..
Alle foreslåede alternativer evalueres. Målene og begrænsningerne tjener som afgørende referencer for at vælge den bedste løsning.
Derudover identificeres de risici, der kan hindre projektets succes, såsom manglende erfaring, nye teknologier, stramme tidsplaner, mangelfulde processer osv., Der implementerer de mest rentable strategier med den laveste risiko..
Endelig anvendes metoder som prototyping, simuleringer, analytiske modeller og brugerundersøgelser..
Al den nødvendige udvikling udføres ved hjælp af den valgte teknologi og løsning. For hver iteration oprettes en bedre version af applikationen.
Den aktuelle kode skrives og testes flere gange, indtil det ønskede resultat nås, som derefter vil tjene som grundlag for fremtidige udviklingstrin.
Efter afslutning af en cyklus begynder planlægningen af den næste. Denne planlægning kan være at fortsætte normalt med projektet, hvis målsætningen for cyklussen blev nået i betragtning af definitionen af det næste mål.
Det kunne også være at finde andre løsninger, hvis det forrige udviklingsstadium viste sig at være defekt. Den eksisterende strategi kan erstattes af et af de tidligere definerede alternativer eller en ny. Med dette ville et nyt forsøg på at nå det givne mål blive startet..
Den amerikanske hær vedtog spiralmodellen til udvikling og opdatering af moderniseringsprogrammet Future Fighting Systems (SCF)..
Officielt lanceret i 2003 blev SCF'er forestillet sig at udstyre tropper med køretøjer forbundet i realtid til et ekstraordinært hurtigt og fleksibelt netværk af slagmarker..
Projektet blev opdelt i fire udviklingsspiraler på ca. to år hver. Spiral 1 var planlagt til at starte i 2008 og levere prototyper til brug og evaluering..
Efter at have afsluttet Spiral 1, var Spiral 2 planlagt til at begynde i 2010. Den endelige produktudvikling var planlagt til at blive leveret i 2015..
I august 2005 annoncerede Boeing færdiggørelsen af projektets første store milepæl, som var systemernes funktionelle eftersyn. Boeing og Science Applications International Corporation var medledere i projektet.
Imidlertid anbefalede Pentagon i oktober 2005 at udsætte projektet på grund af den store indvirkning på omkostningerne fra Irak-krigen og hjælp fra orkanen Katrina..
Projektet blev annulleret i 2009 efter budgetnedskæringer uden at være i stand til at bevise fordelene ved spiralmodellen i denne mission.
På grund af denne type struktur elimineres stiltiende problemer mellem designet og de tekniske krav til softwaren takket være periodiske kontroller..
Risici analyseres på hvert trin i produktet, inden de fortsætter. Dette hjælper med at overvinde eller mindske potentielle risici.
Alle medarbejdere drager fordel af den store betydning af risikoanalyse i denne model, hvilket muligvis repræsenterer deres største fordel i forhold til andre procesmodeller.
Regelmæssig risikovurdering vinder værdi, når man bruger nye tekniske miljøer, som generelt er forbundet med et bestemt risikopotentiale på grund af fraværet af empiriske værdier.
Kunder er involveret i hvert trin i projektet, indtil projektet er afsluttet. Derfor kan forskellige feedback indsamles for at forbedre den næste version af projektet..
Derudover kan feedback til enhver tid opnås på grund af spiralfremskridt. Således kan kunder og brugere integreres fra starten i udviklingsprocessen.
Det er især populært og fremtrædende for store og komplekse projekter, hvor budgetkontrol er en prioritet for kunder og udviklere. Du har maksimal kontrol over omkostningerne, ressourcerne og kvaliteten af softwareprojektet.
Det kan være ret dyrt, da det kræver en høj ekspertise til risikoanalyse. Derudover tager projekter en betydelig tid at udvikle sig, hvilket kan øge omkostningerne.
Det kræves en meget aktiv og kompleks forudgående styring af projektet, hvor hver cyklus kontinuerligt og omhyggeligt kontrolleres og dokumenteres.
Det er forholdsvis mere komplekst end andre modeller, fordi der er mange cyklusser, der hver gennemgår forskellige faser, hvilket øger dokumentationsprocessens indsats..
Viden om risikoanalyse og -styring, som ofte ikke er tilgængelig, er vigtig.
Tidsstyring er vanskelig, da antallet af cyklusser er ukendt. Derudover kan udviklingsprocessen til enhver tid blive forsinket, hvis der skal træffes vigtige beslutninger inden for en cyklus eller ved yderligere handlinger, når den næste cyklus planlægges..
Det er ikke altid gunstigt at udføre mange trin i softwareudvikling på grund af det faktum, at på trods af testens alsidighed kan ufærdige dele af programmet nå det færdige system..
Som en konsekvens er der altid fare for, at enhver fejl eller begrebsmæssig uoverensstemmelse vil påvirke det færdige produkt..
Endnu ingen kommentarer