Spiralmodellhistoria, egenskaper, stadier, exempel

Spiralmodellhistoria, egenskaper, stadier, exempel

han spiralmodell Det är en arketyp av applikationsutvecklingsprocessen. Det är baserat på hypotesen att mjukvaruutveckling är en iterativ cykel som upprepas tills de har uppnått de etablerade målen. Har förmågan att hantera den stora mängden risker som kan uppstå när man utvecklar någon programvara.

Det är en av de viktigaste modellerna för att stödja riskhantering. Som namnet antyder visas denna modell som spiralform, där de olika stadierna i modellen är fördelade i olika cykler. Antalet cykler i modellen är inte fixat och kan variera från ett projekt till ett annat.

Analys, utvärdering, planering och utveckling. Sippiral Development Software Source: Beao [Public Domain] Commons.Wikimedia.Org [TOC]

Historia

Skapande

Spiralmodellen definierades av matematikern och professor i amerikansk programvaruteknik Barry Boehm. Efter att ha presenterat sitt koncept 1986 för utveckling av komplexa applikationer publicerade han sin modell 1988 i en mer fullständig ram i sin artikel "En spiralmodell för utveckling och mjukvaruförbättring".

En del av denna publikation från 1988 representerade grafiskt spiralmodellen och visade i sin helhet hur mjukvaruutvecklingsprocessen ses i form av en spiral och stöds av cykler.

BOEHM är känd för sina många bidrag till mjukvaruteknik, till exempel den konstruktiva kostnadsmodellen (COCOMO), spiralmodellen för programvaruprocessen, tillvägagångssättet till teorin G (win-win) för att fastställa krav och hantering av programvaran.

Alternativ till vattenfallsmodellen

I sin publicering beskrev Boehm spiralmodellen som ett möjligt alternativ till den tidigare etablerade vattenfallsmodellen, som också fungerade som grund för dess praxis.

Spiralmodellen var inte den första som höjde cyklisk utveckling, men det var den första modellen som förklarade varför iterationen är viktig. Som ursprungligen planerades har det tilldelats stora och komplexa projekt vars iterationer vanligtvis är 6 månader till 2 år.

Denna modell antar inte att mjukvaruutvecklingsuppgifter är utformade linjärt, till skillnad från vattenfallsmodellen, utan att den ser dem som iterativa uppgifter.

Denna cykliska modell påverkade Models -Based Software Engineering Architecture (MBASE) och Extreme Programmering.

Spiralmodellegenskaper

Riskkontroll

Det som skiljer sig kraftigt från de andra programvaruprocessmodellerna är att den uttryckligen erkänner riskerna. Därför minskar det att stora programvaruprojekt avsevärt misslyckas, eftersom det upprepade gånger utvärderar riskerna och verifierar utvecklingsprodukten varje gång.

Denna datormodell innehåller komponenter i nästan alla andra livscykelmodell, såsom vattenfallsmodellen, prototypskapsmodellen, den iterativa modellen, den evolutionära modellen etc.

Det kan tjäna dig: IKT (Information and Communication Technologies)

På grund av detta kan den hantera nästan alla typer av risker som de andra modellerna vanligtvis inte hanterar. På grund av att ha så många komponenter är denna modell emellertid mycket mer komplex än de andra mjukvaruutvecklingsmodellerna.

Beskrivning av spiralen

Varje spiralvridning representerar en komplett cykel, där de fyra kvadranterna alltid passerar, som representerar de fyra stadierna i modellen.

När spiralstorleken ökar, gör det också framstegen. Därför körs inte stegen bara en gång, men flera gånger, spiralt.

Även om denna cykliska upprepning får projektet att sakta närma sig de etablerade målen, minimeras risken för utvecklingsprocessen starkt.

Generisk

De fyra stegen implanterar bara de grundläggande målen för en cykel, men de behöver inte manifestera sig i varje cykel.

Ordningen för varje cykel är inte heller strikt bestämd. Därför kan modellen kombineras när som helst med andra modeller.

Flexibel

Det är ganska flexibelt när du presterar separat för varje fas i projektet processerna för definition av mål, riskanalys, utveckling och planering.

Metamodell

Metamodel anses inkludera andra modeller. Till exempel, om spiralen utanför en enda cykel skulle representera vattenfallsmodellen, eftersom den innehåller den gradvisa tillvägagångssättet för denna klassiska modell.

Den använder också prototypen Creation Model -metoden, eftersom en prototyp i början av varje cykel för att hantera risker.

Dessutom är det kompatibelt med den evolutionära modellen, eftersom spiral iterationer kan betraktas som evolutionära nivåer, genom vilket det slutliga systemet är byggt.

Stadier

Bestämma mål, alternativ och begränsningar

Systemkrav definieras med största möjliga detalj, inklusive prestanda, hårdvaru/mjukvarugränssnitt, nyckelframgångsindikatorer etc. och de beaktas vilka mål som måste förknippas med den nuvarande utvecklingscykeln.

Dessutom undersöks olika alternativ för dess implementering, till exempel Building Vs. Köp, återanvända befintliga komponenter eller underleverantörer etc.

På samma sätt begränsningar som kostnad, schema och gränssnitt, tidsförbrukning etc.

riskbedömning

Alla föreslagna alternativ utvärderas. Målen och begränsningarna fungerar som att bestämma referenser för att välja den bästa lösningen.

Dessutom kan de risker som kan hindra projektets framgång, såsom brist på erfarenhet, ny teknik, snäva scheman, bristfälliga processer etc., implementera de mest lönsamma och lägre riskstrategierna.

Kan tjäna dig: vad är periskopet och vad är det för?

Slutligen används metoder som skapande av prototyper, simuleringar, analytiska modeller och användarundersökningar.

Utveckling och test

All nödvändig utveckling görs med den valda tekniken och lösningen. Med varje iteration skapas en bättre version av applikationen.

Den verkliga koden är skriven och testad flera gånger tills det önskade resultatet har uppnåtts, som sedan kommer att fungera som grund för framtida utvecklingssteg.

Planering av nästa cykel

När du slutför en cykel börjar följande planering. Denna planering kan normalt vara med projektet om målet med cykeln uppnåddes, vilket höjer definitionen av nästa mål.

Det kan också vara att hitta andra lösningar, om det tidigare utvecklingssteget var defekt. Den befintliga strategin kan ersättas av ett av de tidigare definierade alternativen eller ett nytt. Med detta skulle ett nytt försök börja uppnå målet.

Exempel

USA: s armé antog spiralmodellen för utveckling och uppdatering av moderniseringsprogrammet för Future Combat Systems (SCF).

Officiellt släpptes 2003, förväntades SCF motsvara trupperna med Real -Time -anslutna fordon till ett nätverk av utomordentligt snabba och flexibla slagfält.

Projektet delades upp i fyra utvecklingsspiraler på cirka två år vardera. Spiral 1 var planerad att börja till 2008 och leverera prototyper för användning och utvärdering.

Efter att ha avslutat Spiral 1 var det planerat att starta Spiral 2 för 2010. Den slutliga utvecklingen av produkten planerades att leverera för 2015.

I augusti 2005 tillkännagav Boeing slutförandet av den första viktiga milstolpen i projektet, som var den funktionella granskningen av systemen. Boeing and Science Applications International Corporation var projektskollegorna.

Men i oktober 2005 rekommenderade Pentagon att försena projektet på grund av den höga påverkan på kostnaderna för Irak -kriget och orkanen Katrina -hjälpen.

Projektet avbröts 2009 efter att budgetnedskärningar uppstod, utan att kunna bevisa fördelarna med spiralmodellen i detta uppdrag

Fördelar

Cyklisk struktur

På grund av denna typ av struktur elimineras problemen mellan designen och de tekniska kraven i programvaran, tack vare de periodiska kontrollerna.

Riskhantering

Riskerna analyseras i vart och ett av produktstegen innan de går framåt. Detta hjälper till att övervinna eller mildra möjliga risker.

Alla kollaboratörer drar nytta av den mycket stora betydelsen av riskanalys i denna modell, vilket eventuellt representerar deras största fördel jämfört med andra processmodeller.

Kan tjäna dig: Parallellport: Egenskaper, typer och funktioner

Den periodiska bedömningen av risker blir värde när innovativa tekniska miljöer, som i allmänhet är förknippade med en viss riskpotential på grund av frånvaron av empiriska värden.

Klientens deltagande och feedback

I varje steg i projektet är kunderna involverade tills projektet är slutfört. Därför kan olika feedback samlas för att förbättra nästa version av projektet.

Dessutom kan feedback erhållas när som helst på grund av spiralform. Således kan kunder och användare integreras från början i utvecklingsprocessen.

Perfekt för stora projekt

Det är särskilt populärt och framträdande för stora och komplexa projekt, där budgetkontroll är en prioritering för kunder och utvecklare. Det finns en maximal kontroll över kostnaderna, resurserna och kvaliteten på programvaruprojektet.

Nackdelar

Dyr

Det kan vara ganska dyrt, eftersom det kräver en hög upplevelse för riskanalys. Dessutom behöver projekt mycket tid att utvecklas, vilket kan öka allmänna utgifter.

Ganska komplex

En mycket aktiv och komplex tidigare hantering av projektet krävs, där varje cykel kontrolleras och noggrant.

Det är jämförelsevis mer komplex än andra modeller, eftersom det finns många cykler, var och en passerar genom de olika stadierna, vilket ökar ansträngningen i dokumentationsprocessen.

Det är viktigt att ha kunskap i riskanalys och hantering, som ofta inte är tillgängliga.

Tidsplanering

Det är svårt att hantera tiden, eftersom antalet cykler är okänt. Dessutom kan utvecklingsprocessen när som helst försenas om det inom en cykel är viktiga beslut eller ytterligare åtgärder vid planering vid planering av följande cykel.

Många steg

Det är inte alltid gynnsamt att ta många steg i utvecklingen av programvara på grund av det faktum att de, trots mångsidigheten i testerna, kan nå det oändliga systemet utan att avsluta programmet.

Som en följd av detta finns det alltid fara för att alla koncept eller konceptuella inkonsekvens påverkar slutprodukten.

Referenser

  1. Victor Font Jr (2019). Spiralmodellen. Den ultimata guiden till SDLC. Taget från: UltimatesDLC.com.
  2. Ionos (2019). Spiralmodell: Den riskdrivna programvaruutvecklingsprocessmodellen. Taget från: jonos.com.
  3. Techuz (2018). Vad är spiralmodell? Till enkel förklaring av spiralprogramvaruutveckling livscykel (SDLC). Taget från: Techuz.com.
  4. One Stop Testing (2020). Spiralmodell. Taget från: oonetoptesting.com.
  5. Geeks for Geeks (2020). Ingenjörsprogramvara - spiralmodell. Taget från: GeeksForgeeks.org.
  6. Chandu (2019). Spiralmodell inom mjukvaruteknik. Taget från: medium.com.