Incrementeel model in SDLC: gebruik, voordeel en nadeel
Wat is een incrementeel model?
Incrementeel model is een proces van softwareontwikkeling waarbij vereisten worden opgesplitst in meerdere op zichzelf staande modules van de softwareontwikkelingscyclus. Incrementele ontwikkeling gebeurt in stappen: van analyseontwerp, implementatie, testen/verificatie tot onderhoud.
Elke iteratie passeert de vereisten, ontwerp-, coderings- en testfasen. En elke volgende release van het systeem voegt functionaliteit toe aan de vorige release totdat alle ontworpen functionaliteit is geïmplementeerd.
Het systeem wordt in productie genomen wanneer de eerste increment wordt geleverd. De eerste stap is vaak een kernproduct waarbij aan de basisvereisten wordt voldaan en in de volgende stappen aanvullende functies worden toegevoegd. Zodra het kernproduct door de klant is geanalyseerd, wordt er een plan ontwikkeld voor de volgende stap.
Kenmerken van een incrementele module omvatten:
- Systeemontwikkeling is opgesplitst in vele mini-ontwikkelingsprojecten
- Deelsystemen worden achtereenvolgens gebouwd om tot een uiteindelijk totaalsysteem te komen
- Het vereiste met de hoogste prioriteit wordt als eerste aangepakt
- Zodra de vereiste is ontwikkeld, worden de vereisten voor die verhoging bevroren
Incrementele fasen | Activiteiten die in oplopende fasen worden uitgevoerd |
---|---|
Vereiste analyse |
|
Design |
|
Code |
|
Test |
|
Wanneer gebruik je incrementele modellen?
- De vereisten van het systeem zijn duidelijk begrepen
- Wanneer er vraag ontstaat naar een vroege release van een product
- . software engineering team is niet erg goed geschoold of opgeleid
- Wanneer er sprake is van risicovolle kenmerken en doelen
- Een dergelijke methodologie wordt meer gebruikt door webapplicaties en productgebaseerde bedrijven
Voor- en nadelen van het incrementele model
Voordelen | Nadelen |
---|---|
De software wordt snel gegenereerd tijdens de softwarelevenscyclus | Het vereist een goede planning |
Het is flexibel en goedkoper om vereisten en reikwijdte te wijzigen | Problemen kunnen ontstaan door de systeemarchitectuur, omdat niet alle vereisten vooraf zijn verzameld voor de gehele softwarelevenscyclus. |
Gedurende de ontwikkelingsfasen kunnen veranderingen worden doorgevoerd | Elke iteratiefase is rigide en overlapt elkaar niet |
Dit model is goedkoper dan andere | Het verhelpen van een probleem in één eenheid vereist correctie in alle eenheden en kost veel tijd |
Op elk gebouw kan een klant reageren | |
Fouten zijn gemakkelijk te identificeren |