- Historie
- Skabelse
- Alternativ til vandfaldsmodellen
- Funktioner i spiralmodellen
- Risikokontrol
- Beskrivelse af spiralen
- Generisk
- Fleksibel
- metamodel
- Niveauer
- Bestem mål, alternativer og begrænsninger
- Evaluering af risici
- Udvikling og test
- Planlægning af den næste cyklus
- Eksempel
- Fordel
- Cyklisk struktur
- Risikostyring
- Kundens deltagelse og feedback
- Ideel til store projekter
- Ulemper
- Dyrt
- Ganske kompleks
- Tidsadministration
- Mange trin
- Referencer
Den spiral model er en arketype af ansøgningen udviklingsprocessen. 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 du udvikler software.
Det er en af de vigtigste modeller til støtte for risikostyring. Som navnet antyder, er denne model vist som spiralformet, hvor de forskellige stadier af modellen er fordelt i forskellige cykler. Antallet af cyklusser i modellen er ikke fast og kan variere fra projekt til projekt.
Analyse, evaluering, planlægning og udvikling. Softwareudvikling Spiralkilde: Beao commons.wikimedia.org
Historie
Skabelse
Spiralmodellen blev defineret af den amerikanske matematiker og softwareingeniørprofessor Barry Boehm. Efter at have præsenteret sit koncept i 1986 for udvikling af komplekse applikationer, offentliggjorde han sin model i 1988 i en mere omfattende ramme i sin artikel "En spiralmodel til softwareudvikling og forbedring".
En del af denne publikation fra 1988 skildrede grafisk spiralmodellen og viser på en omfattende måde, hvordan softwareudviklingsprocessen ser ud på en spiralformet og understøttet af cykler.
Boehm er kendt for sine mange bidrag til softwareteknik, såsom den konstruktive omkostningsmodel (COCOMO), spiralmodellen for softwareprocessen, G-teorien (win-win) tilgang til kravbestemmelse og styring. af softwaren.
Alternativ til vandfaldsmodellen
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 den var den første model til at forklare, hvorfor iteration er vigtig. Som oprindeligt planlagt, 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 snarere ser dem som iterative opgaver.
Denne cykliske model påvirkede Model Based Software Engineering Architecture (MBASE) og ekstrem programmering.
Funktioner i spiralmodellen
Risikokontrol
Det, der i høj grad adskiller denne model fra andre softwareprocessmodeller, er, at den eksplicit anerkender risici. Det reducerer således svigt i store softwareprojekter ved gentagne gange at vurdere risici og verificere produktet under udvikling hver gang.
Denne computermodel indeholder komponenter fra næsten alle andre modeller af softwarens livscyklus, 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 kompliceret end de andre softwareudviklingsmodeller.
Beskrivelse af spiralen
Hver drejning af spiralen repræsenterer en komplet cyklus, gennem hvilken de fire kvadranter altid passerer, hvilket repræsenterer de fire faser i modellen.
Når spiralstørrelsen stiger, sker også de fremskridt, der er gjort. Derfor udføres scenerne ikke kun én gang, men flere gange på en spiralformet måde.
Selvom denne cykliske gentagelse gør, at projektet langsomt nærmer sig de etablerede mål, minimeres risikoen for, at udviklingsprocessen mislykkes.
Generisk
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 af hver cyklus bestemmes heller ikke strengt. Derfor kan modellen til enhver tid kombineres med andre modeller.
Fleksibel
Det er ret fleksibelt, da det udfører måldefinitionen, risikoanalysen, udviklings- og planlægningsprocesserne separat for hver fase af projektet.
metamodel
Det betragtes som en metamodel, fordi det inkluderer de andre modeller. Hvis spiralen for eksempel var en enkelt cyklus, ville den repræsentere vandfaldsmodellen, da den inkorporerer den klassiske model's gradvise tilgang.
Han bruger også prototypemodellen, da han i starten af hver cyklus samler en prototype for at styre risiko.
Desuden er den kompatibel med den evolutionære model, fordi spiralens iterationer kan betragtes som evolutionære niveauer, gennem hvilke det endelige system er bygget.
Niveauer
Bestem mål, alternativer og begrænsninger
Systemkrav defineres så meget detaljeret som muligt, herunder ydelse, hardware / software-grænseflader, nøgleindikatorer for succes osv. og hvilke mål der skal knyttes til den nuværende udviklingscyklus overvejes.
Derudover undersøges forskellige alternativer til dets 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.
Evaluering af risici
Alle foreslåede alternativer evalueres. Målene og begrænsningerne fungerer som bestemmelsesreferencer for at vælge den bedste løsning.
Derudover identificeres risici, der kan hindre projektets succes, såsom manglende erfaring, nye teknologier, stramme tidsplaner, mangelfulde processer osv., Implementering af de mest rentable strategier med den laveste risiko.
Endelig anvendes metoder som prototype, simuleringer, analytiske modeller og brugerundersøgelser.
Udvikling og test
Al den nødvendige udvikling udføres ved hjælp af teknologien og den valgte løsning. Med hver iteration oprettes en bedre version af applikationen.
Den aktuelle kode skrives og testes flere gange, indtil det ønskede resultat er nået, hvilket derefter vil tjene som grundlag for fremtidige udviklingstrin.
Planlægning af den næste cyklus
Efter afslutningen af den ene cyklus begynder planlægningen af den næste. Denne planlægning kunne være at fortsætte med projektet normalt, hvis målet med cyklussen blev nået, i betragtning af definitionen af det næste mål.
Det kan også være at finde andre løsninger, hvis det foregående udviklingsstadium viste sig at være ukorrekt. Den eksisterende strategi kunne 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.
Eksempel
Den amerikanske hær vedtog spiralmodellen for udvikling og opgradering af moderniseringsprogrammet Future Fighting Systems (SCF).
Officielt lanceret i 2003 blev SCF'er forestillet sig for at udstyre tropper med køretøjer, der var forbundet i realtid til et ekstraordinært hurtigt og fleksibelt netværk af slagmarker.
Projektet blev opdelt i fire udviklingsspiraler på cirka to år hver. Spiral 1 var planlagt til at begynde i 2008 og levere prototyper til brug og evaluering.
Efter færdiggørelse af spiral 1 var spiral 2 planlagt at begynde i 2010. Den endelige produktudvikling skulle efter planen leveres i 2015.
I august 2005 annoncerede Boeing afslutningen af projektets første store milepæl, som var den funktionelle eftersyn af systemerne. Boeing og Science Applications International Corporation var projektlederne.
For oktober 2005 anbefalede Pentagon imidlertid at udsætte projektet på grund af den store indvirkning på omkostningerne fra Irak-krigen og hjælp fra orkanen Katrina.
Projektet blev aflyst i 2009, efter at budgettet blev nedsat uden at kunne bevise fordelene ved spiralmodellen i denne mission
Fordel
Cyklisk struktur
På grund af denne type struktur elimineres stilheden mellem design og tekniske krav til softwaren takket være periodiske kontroller.
Risikostyring
Risici analyseres på hvert trin i produktet, før de fortsættes videre. Dette hjælper med at overvinde eller afbøde 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 er værdifuld, 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.
Kundens deltagelse og feedback
Kunder er involveret i hver fase af projektet, indtil projektet er afsluttet. Derfor kan forskellige feedbacks samles for at forbedre den næste version af projektet.
Der kan også opnås feedback til enhver tid på grund af det spiralformede fremskridt. Således kan kunder og brugere integreres fra begyndelsen i udviklingsprocessen.
Ideel til store projekter
Det er især populært og prominent for store og komplekse projekter, hvor budgetkontrol er en prioritet for klienter og udviklere. Du har maksimal kontrol over omkostningerne, ressourcerne og kvaliteten af softwareprojektet.
Ulemper
Dyrt
Det kan være ret dyrt, da det kræver en høj ekspertise til risikoanalyse. Derudover tager projekter meget tid at udvikle sig, hvilket kan øge overhead.
Ganske kompleks
En meget aktiv og kompleks forudgående styring af projektet er påkrævet, hvor hver cyklus kontinuerligt og omhyggeligt kontrolleres og dokumenteres.
Det er relativt mere kompliceret end andre modeller, fordi der er mange cykler, der hver går gennem forskellige faser, hvilket øger indsatsen i dokumentationsprocessen.
Kendskab til risikoanalyse og styring, som ofte ikke er tilgængelig, er vigtig.
Tidsadministration
Tid er vanskelig at styre, da antallet af cyklusser er ukendt. Derudover kan udviklingsprocessen til enhver tid blive forsinket, hvis vigtige beslutninger skal træffes inden for en cyklus eller ved yderligere handlinger, når du planlægger den næste cyklus.
Mange trin
At tage mange trin i softwareudvikling er ikke altid gunstig på grund af det faktum, at på trods af alsidigheden ved testning, kan uafsluttede dele af programmet nå det færdige system.
Som en konsekvens er der altid fare for, at enhver begrebsmæssig fejl eller inkonsekvens påvirker det endelige produkt.
Referencer
- Victor Font Jr (2019). Spiralmodellen. Den ultimative guide til SDLC. Taget fra: ultimatesdlc.com.
- Ionos (2019). Spiralmodel: den risikodrevne softwareudviklingsprocesmodel. Taget fra: ionos.com.
- Techuz (2018). Hvad er spiralmodel? En simpel forklaring af spiral-softwareudviklingslivscyklus (SDLC). Taget fra: techuz.com.
- One Stop Testing (2020). Spiralmodel. Taget fra: onestoptesting.com.
- Geeks for Geeks (2020). Software Engineering - Spiral Model. Taget fra: geeksforgeeks.org.
- Chandu (2019). Spiralmodel i software engineering. Taget fra: medium.com.