Vad är mjukvaruutveckling?

Programvaruutveckling är en iterativ logisk process för att utveckla individuell programvara med hjälp av ett specifikt programmeringsspråk. Denna process kan delas upp till att bli utformad, specificera, designa, programmera, dokumentera, testa, fixa fel.

Detta kan också omfatta forskning, prototyper, modifiering, re-engineering och återanvändning. Utveckling av en serie koder med sammanhängande funktionaliteter används för att utveckla programvara.

Synonyma ord för mjukvaruutveckling är programvarudesign, applikationsutveckling.

Programvaruutvecklingens livscykel SDLC är ett ramverk som innehåller vissa steg (som visas i bilden nedan):

Figur 1

En typisk livscykel för mjukvaruutveckling består av följande steg -

  1. Planering: Planering och kravanalys är det inledande, viktiga och grundläggande steget i SDLC, som utförs av de ledande medlemmarna i teamet med insatser från kunder, försäljningsavdelning, domänexperter, marknadsundersökningar i branschen. Denna all information samlas sedan in och används för att planera det grundläggande projektmetoden, genomföra en produktundersökning på alla sätt från ekonomiska, operativa till tekniska områden. Förstudien öppnar många dörrar för att genomföra projektet, men metoden beslutas baserat på den högsta kvalitetsfaktorn med minimal risk.
  2. Definition: Analys av efterfrågan, definition och dokumentation av kraven på ett klockt sätt är mycket viktigt. När detta är gjort måste dessa dokumenterade krav godkännas av antingen kunder / marknadsanalytiker. SRS (Software Requirement Specification) kommer in i bilden för att göra detta, som innehåller alla produktkrav som ska utformas och utvecklas under projektets livscykel.
  3. Designing: SRS anses vara referensen för produktarkitekter för att hitta den bästa arkitekturen för produkten som ska utvecklas. Baserat på uppfyllda krav föreslås mer än en metod för produktarkitektur. Allt detta är dokumenterat i DDS (designdokumentspecifikation). Då får DDS granskas och analyseras av viktiga medlemmar / intressenter baserat på olika faktorer såsom marknadsrisker, designmodularitet, budgetbegränsningar, tidsbegränsningar, produkt robusthet, bästa designmetod etc. Designmetod innehåller all information. Om arkitektonisk modul för produkten i form av ett dataflödesdiagram. Internt eller externt, varje minsta detalj bör finnas i ett designdokument.
  4. Byggnad: Detta är stadiet där den faktiska utvecklingen av produkten startar och produkten byggs. Med referens till dataflödesschemat i designdokumentet genereras programmeringskoden. Ju tydligare är utformad för att dokumentera, desto mer problemfri är kodgenerering. Kodare / utvecklare bör följa kodningsriktlinjerna som definieras av deras organisations- och programmeringsverktyg som tolkar, kompilatorer, felsökare etc. för att göra koden mer läsbar och klar.
  5. Testning: Testning är en del av de flesta av alla steg i SDLC, därför kan vi säga att testning är en delmängd av alla steg. Testning är ett steg där defekter på produkterna rapporteras, spåras, fixas och testas igen tills produkten når de definierade kvalitetsstandarderna enligt SRS.
  6. Distribution: När en produkt testas fullständigt och redo att observeras av marknaden görs en formell release på lämplig marknad av den organisationen. Distribution av en produkt kan också ske i slots, genom att släppa den för begränsade användare i realtidsmiljön och testa svaret till slut för den produkten (UAT dvs. användaracceptationstest). Baserat på produktåterkoppling från användare implementeras och släpps de nödvändiga funktionerna som den nyare versionen. Ytterligare underhåll görs för befintliga användare.

Programvaruutvecklingsmodeller

Nedan nämns de programvaruutvecklingens livscykelmodeller som är mest populära bland branscher:

  • Vattenfallsmodell
  • RAD-modell
  • Iterativ modell
  • Smidig modell
  • Spiralmodell
  • V-Modell
  • Big Bang-modell

Vattenfallsmodell:

En av de enklaste programvaruutvecklingsmodellerna. Per detta fungerar alla faser av SDLC efter varandra på ett linjärt sätt.

Fig. 2

https://www.tutorialspoint.com/

Denna modell passar när utvecklare redan är medvetna om designen och tidigare har utvecklat liknande programvara.

RAD-modell:

Snabb applikationsutveckling är en inkrementell modell där funktioner och komponenter utvecklas parallellt.

Figuren nedan visar faserna för denna modell.

Fig 3

https://www.researchgate.net/figure/

Iterativ modell:

Den iterativa modellen projicerar projektutförandet på ett cykliskt sätt.

Fig 4

https://www.tutorialspoint.com/

Programvaran är först byggd i liten skala med grundläggande funktioner. Sedan följs alla steg igen genom att lägga till fler och fler funktioner. Varje iteration kan analyseras av ledningsgruppen om riskfaktor och sedan flyttas till nästa iteration.

Spiralmodell:

Denna modell är sammansmältningen av två modeller - SDLC och Iterativ modell.

Fig 5

https://www.tutorialspoint.com/

All objektiv, begränsning och risk beaktas redan i den första fasen av denna modell, och sedan kommer prototypning av programvaran.

V-modell:

Denna modell övervinner nackdelen med vattenfallsmodellen. Enligt vattenfallsmodellen behandlas nästa steg endast när det nuvarande steget körs och det inte finns något sätt att korrigera misstaget i det sista steget. V-modellen tar hänsyn till denna punkt och ger ett sätt att testa programvara i varje steg på ett omvänd sätt.

Fig 6

https://www.tutorialspoint.com/

Alla testplaner och strategier verifieras i varje steg. Därför är denna modell också känd som ”verifierings- och valideringsmodellen”.

Big Bang-modell:

Detta är en enkel modell som kräver mycket finansiering och planering. Detta har konceptualiserats kring big bang-teorin om universum. Som som big bang innehåller massor av galaxer, planeter, stjärnor. På samma sätt sätter man ihop massor av fond och programmering säkerställer bästa programvaruprodukt.

Fokus hålls alltid på att programmera och leverera den bästa produkten, mycket mindre fokus på planering och riskanalys.

Fig 7

https://www.tutorialride.com/

Kort sagt, mjukvaruutveckling används av alla organisationer för att utföra varianter av uppgiften som kan hantera och underlätta arbetet för människor / uppfyller kundens krav.

Rekommenderade artiklar

Detta har varit en guide till vad som är programvaruutveckling. Här diskuterade vi livscykeln för mjukvaruutveckling och det är olika faser och även med det diskuterar vi olika modeller. Du kan också gå igenom våra andra föreslagna artiklar-

  1. Jämförelse mellan programvara och webbutveckling
  2. Software Engineer and Software Developer
  3. Guide till karriärer som programvaruingenjör
  4. Karriärer inom programutvecklare

Kategori: