Hva er programvareutvikling?

Programvareutvikling er en iterativ logisk prosess for å utvikle individuell programvare ved å bruke et spesifikt programmeringsspråk. Denne prosessen kan deles opp til å bli gravid, spesifisere, designe, programmere, dokumentere, teste, bug fixing.

Dette kan også omfatte forskning, prototyping, modifisering, re-engineering og gjenbruk. Utvikling av en serie med koder med sammenhengende funksjonalitet brukes til å utvikle programvare.

Synonyme ord for programvareutvikling er programvaredesign, applikasjonsutvikling.

Programvareutvikling livssyklus SDLC er et rammeverk som inkluderer visse trinn (som vist nedenfor):

Figur 1

En typisk livssyklus for programvareutvikling består av følgende stadier -

  1. Planlegging: Planlegging og kravanalyse er den innledende, vitale og grunnleggende fasen i SDLC, som utføres av seniormedlemmer i teamet med innspill hentet fra kunder, salgsavdeling, domenekspert, markedsundersøkelser i bransjen. Denne all informasjonen blir deretter samlet og brukt til å planlegge den grunnleggende prosjekttilnærmingen, gjennomføre en produktundersøkbarhet på alle måter fra økonomiske, operasjonelle til tekniske områder. Mulighetsstudien åpner mange dører for å implementere prosjektet, men tilnærmingen er bestemt basert på den høyeste kvalitetsfaktoren med minimal risiko.
  2. Definisjon: Post Krav analyse, definere og dokumentere kravene på en klar måte er veldig viktig. Når dette er gjort, må de dokumenterte kravene godkjennes av enten kunder / markedsanalytikere. SRS (Software Requirement Specification) kommer inn i bildet for å gjøre dette, som inneholder alle produktkravene som skal designes og utvikles i løpet av prosjektets livssyklus.
  3. Designing: SRS anses som referansen for produktarkitekter for å komme med den beste arkitekturen for produktet som skal utvikles. Basert på de oppfylte kravene foreslås mer enn én tilnærming for produktarkitektur. Alt dette er dokumentert i DDS (Design Document Specification). Deretter blir DDS gjennomgått og analysert av viktige medlemmer / interessenter basert på ulike faktorer som markedsrisiko, designmodularitet, budsjettbegrensninger, tidsbegrensninger, produkt robusthet, beste designtilnærming osv. Designtilnærming bærer all informasjon. Om arkitektonisk modul for produktet i form av et dataflytningsskjema. Internt eller eksternt, hver minste detalj skal være til stede i et designdokument.
  4. Bygning: Dette er stadiet hvor den faktiske utviklingen av produktet starter, og produktet bygges. Med referanse til dataflytningsskjemaet i designdokumentet genereres programmeringskoden. Jo tydeligere er designet for å dokumentere, jo mer problemfri er kodegenerering. Kodere / utviklere bør følge kodingsretningslinjene definert av deres organisasjon og programmeringsverktøy som tolker, kompilatorer, feilsøkere osv. For å gjøre koden mer lesbar og klar.
  5. Testing: Testing er en del av de fleste av alle trinnene i SDLC, og derfor kan vi si at testing er en delmengde av alle stadiene. Testing er et stadium, der defekter av produktene rapporteres, spores, fikses og testes på nytt til produktet når de definerte kvalitetsstandardene i henhold til SRS.
  6. Distribusjon: Når et produkt testes fullstendig og klart til å bli observert av markedet, gjøres en formell utgivelse i det aktuelle markedet av den organisasjonen. Distribusjon av et produkt kan også skje i spor, ved å frigjøre det for begrensede brukere i sanntids forretningsmiljø og teste responsen fra ende til slutt for det produktet (UAT dvs. brukernes akseptstesting). Basert på produktfeedback fra brukere, blir de nødvendige funksjonene implementert og utgitt som den nyere versjonen. Ytterligere vedlikehold gjøres for eksisterende brukere.

Programvareutviklingsmodeller

Nedenfor nevnt er programvareutviklingen livssyklusmodeller som er mest populære blant bransjer:

  • Fossemodell
  • RAD-modell
  • Iterativ modell
  • Smidig modell
  • Spiralmodell
  • V-modell
  • Big Bang-modell

Fossemodell:

En av de enkleste programvareutviklingsmodellene. Per dette fungerer alle faser av SDLC etter hverandre på en lineær måte.

Fig. 2

https://www.tutorialspoint.com/

Denne modellen passer når utviklere allerede er klar over designet og tidligere har utviklet en lignende type programvare.

RAD-modell:

Rask applikasjonsutvikling er en inkrementell modell, der funksjoner og komponenter utvikles parallelt.

Figuren nedenfor viser fasene til denne modellen.

Fig. 3

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

Iterativ modell:

Den iterative modellen projiserer prosjektgjennomføringen på en syklisk måte.

Fig. 4

https://www.tutorialspoint.com/

Programvaren er først bygd i liten skala med grunnleggende funksjoner. Deretter følges alle trinn igjen, ved å legge til flere og flere funksjoner. Hver iterasjon kan analyseres av ledergruppen på risikofaktor, og kan deretter flyttes til neste iterasjon.

Spiralmodell:

Denne modellen er sammensmeltningen av to modeller - SDLC og Iterativ modell.

Fig. 5

https://www.tutorialspoint.com/

All objektiv, begrensning og risiko blir vurdert på første fase av denne modellen, og deretter kommer prototyping av programvaren.

V-modell:

Denne modellen overvinner ulempen med fossefallmodellen. I henhold til fossefallmodellen behandles neste trinn bare når det nåværende trinnet blir utført og det ikke er noen måte å rette opp feilen i det siste trinnet. V-modellen tar dette poenget i betraktning og gir en måte å teste programvare på hvert trinn på en omvendt måte.

Fig. 6

https://www.tutorialspoint.com/

Alle testplaner og strategier blir verifisert på hvert trinn. Derfor er denne modellen også kjent som "bekreftelses- og valideringsmodellen".

Big Bang-modell:

Dette er en enkel modell, som krever mye midler og planlegging. Dette er blitt konseptualisert rundt big bang-teorien om universet. Som som big bang inneholder masse galakser, planeter, stjerner. Samme måte å sette sammen mye fond og programmering sikrer det beste programvareproduktet.

Fokuset holdes alltid på programmering og levering av det beste produktet, veldig mindre fokus på planlegging og risikoanalyse.

Fig. 7

https://www.tutorialride.com/

Kort sagt, programvareutvikling brukes av alle organisasjoner for å utføre varianter av oppgaven som kan adressere og lette arbeidet for mennesker / oppfyller kundens krav.

Anbefalte artikler

Dette har vært en guide til hva som er programvareutvikling. Her diskuterte vi livssyklusen til programvareutvikling, og det er forskjellige faser, og også med det diskuterer vi ulike modeller. Du kan også gå gjennom våre andre foreslåtte artikler-

  1. Sammenligning mellom programvare og nettutvikling
  2. Programvareingeniør og programvareutvikler
  3. Veiledning for karrierer som programvareingeniør
  4. Karrierer innen programvareutviklere