Spiralmodellhistorie, egenskaper, stadier, eksempel
- 4682
- 307
- Prof. Joakim Johansen
Han spiralmodell Det er en arketype av applikasjonsutviklingsprosessen. Det er basert på hypotesen om at programvareutvikling er en iterativ syklus som gjentas til de er oppnådd de etablerte målene. Har muligheten til å håndtere den store mengden risikoer som kan oppstå når du utvikler programvare.
Det er en av de viktigste modellene for å støtte risikostyring. Som navnet tilsier, vises denne modellen som spiralform, der de forskjellige stadiene av modellen er fordelt i forskjellige sykluser. Antall sykluser i modellen er ikke løst og kan variere fra ett prosjekt til et annet.
Analyse, evaluering, planlegging og utvikling. Sippiral Development Software Kilde: Beao [Public Domain] Commons.Wikimedia.Org [TOC]
Historie
Opprettelse
Spiralmodellen ble definert av matematikeren og professor i American Software Engineering Barry Boehm. Etter å ha presentert konseptet sitt i 1986 for utvikling av komplekse applikasjoner, publiserte han modellen i 1988 i et mer fullstendig rammeverk i sin artikkel "En spiralmodell for utvikling og forbedring av programvare"".
En del av denne publikasjonen fra 1988 representerte grafisk spiralmodellen, og viser i sin helhet hvordan programvareutviklingsprosessen sees i form av en spiral og støttet av sykluser.
Boehm er kjent for sine mange bidrag til programvareteknikk, for eksempel den konstruktive kostnadsmodellen (COCOMO), spiralmodellen til programvareprosessen, tilnærmingen til teorien G (Win-WIN) for bestemmelse av krav og styring av programvaren.
Alternativ til fossefallsmodellen
I publikasjonen beskrev Boehm spiralmodellen som et mulig alternativ til den tidligere etablerte fossefallsmodellen, som også fungerte som grunnlag for sin praksis.
Spiralmodellen var ikke den første til å øke syklisk utvikling, men det var den første modellen som forklarte hvorfor iterasjonen er viktig. Som opprinnelig var planlagt, har det blitt tildelt store og komplekse prosjekter hvis iterasjoner typisk er 6 måneder til 2 år.
Denne modellen antar ikke at programvareutviklingsoppgaver er designet lineært, i motsetning til fossefallsmodellen, men at den ser dem som iterative oppgaver.
Denne sykliske modellen påvirket den modellbaserte programvareteknisk arkitektur (MBase) og ekstrem programmering.
Spiralmodellegenskaper
Risikokontroll
Det som skiller denne modellen fra de andre programvareprosessmodellene, er at den eksplisitt gjenkjenner risikoen. Derfor reduserer det betydelig at store programvareprosjekter mislykkes, siden de gjentatte ganger evaluerer risikoen og verifiserer utviklingsproduktet hver gang.
Denne datamodellen inneholder komponenter i nesten hvilken som helst annen programvaresyklusmodell, for eksempel fossefallsmodellen, prototypeopprettelsesmodellen, den iterative modellen, evolusjonsmodellen, etc.
Det kan tjene deg: IKT (informasjons- og kommunikasjonsteknologier)På grunn av dette er det i stand til å håndtere nesten alle slags risikoer som de andre modellene vanligvis ikke håndterer. På grunn av å ha så mange komponenter, er denne modellen imidlertid mye mer sammensatt enn de andre programvareutviklingsmodellene.
Beskrivelse av spiralen
Hver spiralvending representerer en komplett syklus, der de fire kvadrantene alltid passerer, som representerer de fire stadiene av modellen.
Når spiralstørrelsen øker, gjør også fremdriften utført. Derfor utføres ikke stadiene bare en gang, men flere ganger, spiralt.
Selv om denne sykliske repetisjonen fører til at prosjektet sakte nærmer seg de etablerte målene, er risikoen for utviklingsprosessen mislykkes sterkt.
Generisk
De fire stadiene implanterer bare de grunnleggende målene i en syklus, men de trenger ikke å manifestere seg i hver syklus.
Rekkefølgen på hver syklus er heller ikke strengt bestemt. Derfor kan modellen kombineres når som helst med andre modeller.
Fleksibel
Det er ganske fleksibelt, når du utfører separat for hver fase av prosjektet, er prosessene for definisjon av mål, risikoanalyse, utvikling og planlegging.
Metamodel
Metamodel anses å inkludere andre modeller. For eksempel, hvis spiralen utenfor en enkelt syklus ville representere fossefallsmodellen, siden den inkluderer den gradvise tilnærmingen til denne klassiske modellen.
Den bruker også prototypeopprettelsesmodelltilnærmingen, siden i begynnelsen av hver syklus en prototype for å håndtere risiko.
I tillegg er den kompatibel med evolusjonsmodellen, fordi spiral iterasjoner kan betraktes som evolusjonsnivåer, gjennom hvilke det endelige systemet er bygget.
Stadier
Bestemme mål, alternativer og begrensninger
Systemkrav er definert med størst mulig detalj, inkludert ytelse, maskinvare/programvaregrensesnitt, viktige suksessindikatorer, etc. og de blir vurdert hvilke mål som må være assosiert med den nåværende utviklingssyklusen.
I tillegg blir forskjellige alternativer undersøkt for implementering, for eksempel Building Vs. Kjøp, gjenbruk eksisterende komponenter eller underleverandør, etc.
På samme måte begrensninger som kostnad, plan og grensesnitt, tidsforbruk osv.
Risikovurdering
Alle foreslåtte alternativer blir evaluert. Målene og begrensningene fungerer som avgjørende referanser for å velge den beste løsningen.
I tillegg risikoen som kan hindre suksessen til prosjektet, som manglende erfaring, nye teknologier, trange tidsplaner, mangelfulle prosesser, etc., Implementering av de mest lønnsomme og lavere risikostrategier.
Kan tjene deg: hva er periskopet og hva er det for?Til slutt brukes metoder som oppretting av prototyper, simuleringer, analytiske modeller og brukerundersøkelser.
Utvikling og test
All nødvendig utvikling gjøres, ved bruk av den valgte teknologien og løsningen. Med hver iterasjon opprettes en bedre versjon av applikasjonen.
Den virkelige koden er skrevet og testet flere ganger til ønsket resultat er nådd, som deretter vil tjene som grunnlag for fremtidige utviklingstrinn.
Planlegging av neste syklus
Når du fullfører en syklus, begynner følgende planlegging. Denne planleggingen kan normalt være med prosjektet hvis målet med syklusen ble oppnådd, og øke definisjonen av neste mål.
Det kan også være å finne andre løsninger, hvis det forrige utviklingsstadiet var mangelfull. Den eksisterende strategien kan erstattes av et av de tidligere definerte alternativene eller en ny. Med dette ville et nytt forsøk begynne å oppnå målet.
Eksempel
USAs hær vedtok spiralmodellen for utvikling og oppdatering av moderniseringsprogrammet for Future Combat Systems (SCF).
Offisielt ble utgitt i 2003, var det forventet at SCF likestiller troppene med sanntid tilkoblede kjøretøyer til et nettverk av ekstraordinært raske og fleksible slagmarker.
Prosjektet ble delt inn i fire utviklingsspiraler på omtrent to år hver. Spiral 1 var planlagt å begynne i 2008 og levere prototyper for bruk og evaluering.
Etter å ha avsluttet spiral 1, var det planlagt å starte spiral 2 for 2010. Den endelige utviklingen av produktet var planlagt å levere for 2015.
I august 2005 kunngjorde Boeing gjennomføringen av den første viktige milepælen i prosjektet, som var den funksjonelle gjennomgangen av systemene. Boeing and Science Applications International Corporation var prosjektkollegene.
I oktober 2005 anbefalte Pentagon imidlertid å utsette prosjektet på grunn av høy innvirkning på kostnadene for Irak -krigen og orkanen Katrina Aid.
Prosjektet ble kansellert i 2009 etter at budsjettkutt oppsto, uten å kunne bevise fordelene med spiralmodellen i dette oppdraget
Fordeler
Syklisk struktur
På grunn av denne typen strukturer blir problemene mellom utformingen og de tekniske kravene til programvaren stilltiende eliminert, takket være de periodiske kontrollene.
Risikostyring
Risikoen blir analysert i hvert av produktstadiene før de går fremover. Dette hjelper til med å overvinne eller dempe mulige risikoer.
Alle samarbeidspartnere drar nytte av den veldig store viktigheten av risikoanalyse i denne modellen, noe som muligens representerer deres største fordel i forhold til andre prosessmodeller.
Kan tjene deg: Parallell port: Kjennetegn, typer og funksjonerDen periodiske vurderingen av risikoer blir verdi når innovative tekniske miljøer, som generelt er assosiert med et bestemt risikopotensial på grunn av fraværet av empiriske verdier.
Klientdeltakelse og tilbakemelding
På hvert trinn i prosjektet er kundene involvert, inntil prosjektet er fullført. Derfor kan forskjellige tilbakemeldinger samles for å forbedre neste versjon av prosjektet.
I tillegg kan tilbakemelding oppnås når som helst på grunn av spiralform. Dermed kan kunder og brukere integreres fra begynnelsen i utviklingsprosessen.
Ideell for store prosjekter
Det er spesielt populært og fremtredende for store og komplekse prosjekter, der budsjettkontroll er en prioritet for kunder og utviklere. Det er en maksimal kontroll over kostnadene, ressursene og kvaliteten på programvareprosjektet.
Ulemper
Dyrt
Det kan være ganske dyrt, siden det krever et høyt erfaringsnivå for risikoanalyse. I tillegg trenger prosjekter mye tid til å utvikle seg, noe som kan øke generelle utgifter.
Ganske kompleks
Det kreves en veldig aktiv og kompleks tidligere styring av prosjektet, der hver syklus er kontrollert og nøye.
Det er relativt mer sammensatt enn andre modeller, fordi det er mange sykluser, og hver som går gjennom de forskjellige stadiene, og dermed øker innsatsen til dokumentasjonsprosessen.
Det er viktig å ha kunnskap innen risikoanalyse og styring, som ofte ikke er tilgjengelige.
Tidsfordriv
Det er vanskelig å administrere tid, siden antallet sykluser er ukjent. I tillegg kan utviklingsprosessen når som helst bli forsinket hvis viktige beslutninger eller ytterligere handlinger må gjøres når du planlegger følgende syklus i en syklus.
Mange trinn
Det er ikke alltid gunstig å ta mange skritt i utviklingen av programvare på grunn av at de til tross for allsidigheten til testene kan nå det uendelige systemet uten å fullføre programmet.
Som en konsekvens er det alltid fare for at ethvert konsept eller konseptuell inkonsekvens påvirker sluttproduktet.
Referanser
- Victor Font Jr (2019). Spiralmodellen. Den ultimate guiden til SDLC. Hentet fra: ultimatesdlc.com.
- Ionos (2019). Spiralmodell: Risikodrevet programvareutviklingsprosessmodell. Hentet fra: ionos.com.
- Techuz (2018). Hva er spiralmodell? Til enkel forklaring av spiralprogramvareutvikling Livssyklus (SDLC). Hentet fra: techuz.com.
- One Stop Testing (2020). Spiralmodell. Hentet fra: oonetoptesting.com.
- Geeks for nørder (2020). Ingeniørprogramvare - Spiralmodell. Hentet fra: geeksforgeeks.org.
- Chandu (2019). Spiralmodell i programvareteknikk. Hentet fra: medium.com.