Wat is softwareontwikkeling?

Softwareontwikkeling is een iteratief logisch proces van het ontwikkelen van individuele software met behulp van een specifieke programmeertaal. Dit proces kan worden gesplitst in het bedenken, specificeren, ontwerpen, programmeren, documenteren, testen, repareren van bugs.

Dit kan ook onderzoek, prototyping, modificatie, re-engineering en hergebruik omvatten. Ontwikkeling van een reeks code met onderling samenhangende functionaliteiten wordt gebruikt om software te ontwikkelen.

Synonieme woorden voor softwareontwikkeling zijn Softwareontwerp, Applicatieontwikkeling.

Software-ontwikkeling levenscyclus SDLC is een raamwerk dat bepaalde stappen omvat (zoals de onderstaande afbeelding):

Figuur 1

Een typische levenscyclus van softwareontwikkeling bestaat uit de volgende fasen:

  1. Planning: analyse van planning en behoeften is de eerste, vitale en fundamentele fase in SDLC, die wordt uitgevoerd door de senior leden van het team met input van klanten, verkoopafdeling, domeinexperts, marktonderzoeken in de industrie. Deze informatie wordt vervolgens verzameld en gebruikt om de basisaanpak van het project te plannen, een haalbaarheidsstudie van producten uit te voeren op alle manieren, van economische, operationele tot technische gebieden. De haalbaarheidsstudie opent veel deuren om het project te implementeren, maar de aanpak wordt besloten op basis van de hoogste kwaliteitsfactor met minimaal risico.
  2. Definiëren: postbehoefteanalyse, het definiëren en documenteren van de eisen op een heldere manier is erg belangrijk. Zodra dat is gebeurd, moeten die gedocumenteerde vereisten worden goedgekeurd door klanten / marktanalisten. SRS (Software Requirement Specification) komt hiervoor in beeld, die alle productvereisten bevat die tijdens de levenscyclus van het project moeten worden ontworpen en ontwikkeld.
  3. Ontwerpen: SRS wordt beschouwd als de referentie voor productarchitecten, om te komen met de beste architectuur voor het te ontwikkelen product. Op basis van de vastgelegde vereisten wordt meer dan één benadering voorgesteld voor productarchitectuur. Dit alles is gedocumenteerd in DDS (Design Document Specification). Vervolgens wordt DDS beoordeeld en geanalyseerd door belangrijke leden / belanghebbenden op basis van verschillende factoren, zoals marktrisico's, modulariteit van het ontwerp, budgetbeperkingen, tijdsdruk, robuustheid van producten, beste ontwerpbenadering, enz. Ontwerpbenadering bevat alle informatie. Over de architecturale module van het product in de vorm van een gegevensstroomdiagram. Intern of extern, elk detail moet in een ontwerpdocument aanwezig zijn.
  4. Bouwen: dit is het stadium waarin de daadwerkelijke ontwikkeling van het product begint en het product wordt gebouwd. Verwijzend naar het gegevensstroomdiagram in het ontwerpdocument, wordt de programmeercode gegenereerd. Hoe duidelijker is ontworpen om te documenteren, des te probleemloos is de codegeneratie. Codeerders / ontwikkelaars moeten de coderingsrichtlijnen volgen die zijn gedefinieerd door hun organisatie en programmeertools zoals tolken, compilers, debuggers, enz. Om de code leesbaarder en helderder te maken.
  5. Testen: testen is onderdeel van de meeste fasen in SDLC, daarom kunnen we zeggen dat testen een subset is van alle fasen. Testen is een fase waarin defecten van de producten worden gemeld, bijgehouden, gerepareerd en opnieuw getest totdat het product de gedefinieerde kwaliteitsnormen volgens SRS bereikt.
  6. Implementatie: wanneer een product volledig is getest en klaar is om door de markt te worden geobserveerd, wordt door die organisatie een formele release op de juiste markt uitgevoerd. Implementatie van een product kan ook plaatsvinden in slots, door het voor beperkte gebruikers in de realtime zakelijke omgeving vrij te geven en de respons end-to-end voor dat product te testen (UAT, dwz gebruikersacceptatietests). Op basis van productfeedback van gebruikers worden de vereiste functies geïmplementeerd en vrijgegeven als de nieuwere versie. Verder onderhoud wordt gedaan voor bestaande gebruikers.

Modellen voor softwareontwikkeling

Hieronder worden de levenscyclusmodellen voor softwareontwikkeling genoemd die het populairst zijn in de industrie:

  • Waterval Model
  • RAD Model
  • Iteratief model
  • Agile Model
  • Spiraal Model
  • V-model
  • Big Bang-model

Waterval model:

Een van de eenvoudigste software-ontwikkelingsmodellen. Op basis hiervan werken alle fasen van SDLC na elkaar, op een lineaire manier.

Figuur 2

https://www.tutorialspoint.com/

Dit model is geschikt wanneer ontwikkelaars zich al bewust zijn van het ontwerp en in het verleden soortgelijke software hebben ontwikkeld.

RAD Model:

Snelle applicatie-ontwikkeling is een incrementeel model, waarbij functies en componenten parallel worden ontwikkeld.

De onderstaande afbeelding toont de fasen van dit model.

Fig 3

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

Iteratief model:

Het iteratieve model projecteert de projectuitvoering op een cyclische manier.

Fig 4

https://www.tutorialspoint.com/

De software is eerst op kleine schaal gebouwd met basisfuncties. Daarna worden alle stappen opnieuw gevolgd door steeds meer functies toe te voegen. Elke iteratie kan door het managementteam worden geanalyseerd op risicofactor en vervolgens worden verplaatst naar de volgende iteratie.

Spiraal model:

Dit model is de fusie van twee modellen - SDLC en Iteratief model.

Fig 5

https://www.tutorialspoint.com/

Alle doelstellingen, beperkingen en risico's worden in de allereerste fase van dit model overwogen, en dan komt prototyping van de software.

V-model:

Dit model overwint het nadeel van het watervalmodel. Volgens het watervalmodel wordt de volgende stap alleen verwerkt wanneer de huidige stap wordt uitgevoerd en er geen manier is om de fout van de laatste stap te corrigeren. V-model houdt rekening met dit punt en biedt een manier om software in elke fase op een omgekeerde manier te testen.

Fig 6

https://www.tutorialspoint.com/

Alle testplannen en strategieën worden in elke fase geverifieerd. Daarom wordt dit model ook wel het 'verificatie- en validatiemodel' genoemd.

Big Bang-model:

Dit is een eenvoudig model, dat veel geld en planning vereist. Dit is geconceptualiseerd rond de oerknaltheorie van het universum. Zoals big bang veel sterrenstelsels, planeten, sterren bevat. Op dezelfde manier zorgen veel fondsen en programmering voor het beste softwareproduct.

De focus blijft altijd liggen op het programmeren en leveren van het beste product, nog minder op planning en risicoanalyse.

Fig 7

https://www.tutorialride.com/

Kortom, softwareontwikkeling wordt door alle organisaties gebruikt om verschillende taken uit te voeren die het werk voor mensen kunnen aanpakken en vergemakkelijken / voldoen aan de eisen van de klant.

Aanbevolen artikelen

Dit is een gids geweest voor wat Software-ontwikkeling is. Hier hebben we de levenscyclus van Software-ontwikkeling en de verschillende fasen ervan besproken en daarmee ook verschillende modellen. U kunt ook onze andere voorgestelde artikelen doornemen-

  1. Vergelijking tussen software en webontwikkeling
  2. Software-ingenieur en software-ontwikkelaar
  3. Gids voor carrières als software-ingenieur
  4. Carrières bij softwareontwikkelaars