SDLC – Iteratief Model

Advertenties

In het Iteratieve model begint het iteratieve proces met een eenvoudige implementatie van een kleine set van de software-eisen en worden de evoluerende versies iteratief verbeterd totdat het complete systeem is geïmplementeerd en klaar is om te worden uitgerold.

Een iteratief levenscyclusmodel probeert niet om met een volledige specificatie van vereisten te beginnen. In plaats daarvan, de ontwikkeling begint met het specificeren en implementeren van slechts een deel van de software, die vervolgens wordt herzien om verdere eisen te identificeren. Dit proces wordt dan herhaald, producerend een nieuwe versie van de software aan het eind van elke iteratie van het model.

Iteratief Model – Ontwerp

Iteratief proces begint met een eenvoudige implementatie van een deelverzameling van de softwarevereisten en verbetert iteratief de evoluerende versies tot het volledige systeem wordt geïmplementeerd. Bij elke iteratie, worden de ontwerpwijzigingen gemaakt en de nieuwe functionele mogelijkheden worden toegevoegd. Het basisidee achter deze methode is om een systeem te ontwikkelen door middel van herhaalde cycli (iteratief) en in kleinere porties tegelijk (incrementeel).

De volgende illustratie is een weergave van het Iteratieve en Incrementele model –

Iteratieve en Incrementele ontwikkeling is een combinatie van zowel iteratief ontwerp of iteratieve methode en incrementeel bouwmodel voor ontwikkeling. “Tijdens softwareontwikkeling kan meer dan één iteratie van de softwareontwikkelingscyclus tegelijkertijd aan de gang zijn.” Dit proces kan worden omschreven als een “evolutionaire acquisitie” of “incrementele build” benadering.”

In dit incrementele model wordt de gehele eis verdeeld in verschillende builds. Tijdens elke iteratie doorloopt de ontwikkelingsmodule de eisen-, ontwerp-, implementatie- en testfasen. Elke volgende release van de module voegt functie toe aan de vorige release. Het proces gaat door totdat het complete systeem gereed is volgens de eis.

De sleutel tot een succesvol gebruik van een iteratieve software ontwikkelingscyclus is rigoureuze validatie van eisen, en verificatie & het testen van elke versie van de software tegen die eisen binnen elke cyclus van het model. Naarmate de software zich door opeenvolgende cycli ontwikkelt, moeten tests worden herhaald en uitgebreid om elke versie van de software te verifiëren.

Iteratief Model – Toepassing

Net als andere SDLC-modellen, heeft Iteratieve en incrementele ontwikkeling enkele specifieke toepassingen in de software-industrie. Dit model wordt het meest gebruikt in de volgende scenario’s –

  • De vereisten van het volledige systeem zijn duidelijk gedefinieerd en begrepen.

  • De belangrijkste vereisten moeten worden gedefinieerd; sommige functionaliteiten of gevraagde verbeteringen kunnen echter in de loop van de tijd evolueren.

  • Er is een time-to-market-beperking.

  • Er wordt een nieuwe technologie gebruikt die door het ontwikkelingsteam tijdens de werkzaamheden aan het project wordt aangeleerd.

  • Bronnen met de vereiste vaardigheden zijn niet beschikbaar en zullen volgens plan op contractbasis worden gebruikt voor specifieke iteraties.

  • Er zijn enkele functies en doelstellingen met een hoog risico die in de toekomst kunnen veranderen.

Iteratief model – Voor- en nadelen

Het voordeel van dit model is dat er in een zeer vroeg stadium van de ontwikkeling een werkend model van het systeem is, waardoor het gemakkelijker is om functionele of ontwerpfouten te vinden. Het vinden van problemen in een vroeg stadium van de ontwikkeling maakt het mogelijk om corrigerende maatregelen te nemen in een beperkt budget.

Het nadeel met dit SDLC-model is dat het alleen toepasbaar is op grote en omvangrijke software-ontwikkelingsprojecten. Dit komt omdat het moeilijk is om een klein softwaresysteem op te splitsen in verdere kleine bruikbare incrementen/modules.

De voordelen van het Iteratieve en Incrementele SDLC-model zijn als volgt –

  • Een aantal werkende functionaliteiten kan snel en vroeg in de levenscyclus worden ontwikkeld.

  • Resultaten worden vroeg en periodiek verkregen.

  • Parallelle ontwikkeling kan worden gepland.

  • Voortgang kan worden gemeten.

  • Minder kostbaar om de scope/eisen te wijzigen.

  • Testen en debuggen tijdens kleinere iteraties is eenvoudig.

  • Risico’s worden tijdens iteraties geïdentificeerd en opgelost; en elke iteratie is een eenvoudig te beheren mijlpaal.

  • Het is eenvoudiger om risico’s te beheren – delen met een hoog risico worden als eerste gedaan.

  • Met elk increment wordt een operationeel product afgeleverd.

  • De problemen, uitdagingen en risico’s die uit elk increment naar voren komen, kunnen worden gebruikt/toegepast op het volgende increment.

  • De risicoanalyse is beter.

  • Het ondersteunt veranderende vereisten.

  • De initiële bedrijfstijd is korter.

  • Beter geschikt voor grote en missiekritische projecten.

  • Tijdens de levenscyclus wordt software vroegtijdig geproduceerd, wat evaluatie en feedback van de klant vergemakkelijkt.

De nadelen van het Iteratieve en Incrementele SDLC-model zijn als volgt –

  • Er kunnen meer resources nodig zijn.

  • Hoewel de kosten van verandering lager zijn, maar het is niet erg geschikt voor veranderende eisen.

  • Er is meer aandacht van het management nodig.

  • Er kunnen problemen met systeemarchitectuur of -ontwerp ontstaan omdat niet alle vereisten in het begin van de gehele levenscyclus worden verzameld.

  • Het definiëren van incrementen kan vereisen dat het volledige systeem wordt gedefinieerd.

  • Niet geschikt voor kleinere projecten.

  • De complexiteit van het beheer is groter.

  • Einde van project is mogelijk niet bekend, wat een risico is.

  • Voor risicoanalyse zijn hooggekwalificeerde resources nodig.

  • De voortgang van projecten is sterk afhankelijk van de risicoanalysefase.

Aanbevelingen

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.