Het waterval model is een lineaire, sequentiële benadering van de software development life cycle (SDLC) die populair is in software engineering en productontwikkeling. Het watervalmodel benadrukt de voortgang van de stappen. Vergelijkbaar met de richting water stroomt over de rand van een klif, verschillende eindpunten of doelen worden vastgesteld voor elke fase van de ontwikkeling en kan niet worden herzien na voltooiing. De term werd voor het eerst geïntroduceerd in een paper gepubliceerd in 1970 door Dr. Winston W., Royce en wordt nog steeds gebruikt in toepassingen van industrieel ontwerp.
De watervalmethodologie bestaat uit zeven niet-overlappende fasen:
- eisen: potentiële eisen, deadlines richtlijnen voor het project worden geanalyseerd en in een functionele specificatie opgenomen. Deze fase behandelt het definiëren en plannen van het project zonder specifieke processen te noemen.
- analyse: de systeemspecificaties worden geanalyseerd om productmodellen te genereren en het bedrijfsleven zal de productie begeleiden. Dit is ook wanneer financiële en technische middelen worden gecontroleerd op haalbaarheid.,
- ontwerp: een ontwerpspecificatiedocument wordt opgesteld om technische ontwerpvereisten zoals programmeertaal, hardware, gegevensbronnen, architectuur en diensten te schetsen.
- codering / implementatie: de bron die is ontwikkeld met behulp van de modellen, logische vereisten die in de voorafgaande fasen zijn aangewezen. Meestal is het systeem ontworpen in kleinere componenten, of eenheden, voordat het samen wordt geïmplementeerd.
- testen: dit is wanneer quality assurance, unit, beta tests plaatsvinden om problemen te melden die mogelijk moeten worden opgelost. Dit kan een geforceerde herhaling van de coderingsfase voor het debuggen veroorzaken., Als het systeem de tests doorstaat, gaat de waterval verder.
- operatie / implementatie: het product of de toepassing wordt geacht volledig functioneel te zijn en wordt geïmplementeerd in een live-omgeving.
- onderhoud: correctief, adaptief en perfectief onderhoud wordt voor onbepaalde tijd uitgevoerd om het eindproduct te verbeteren, bij te werken en te verbeteren. Dit kan onder meer het vrijgeven of het vrijgeven van nieuwe versies.,
alvorens naar de volgende fase te gaan, is er meestal een herziening en ondertekening om ervoor te zorgen dat alle gedefinieerde doelen zijn bereikt.
De watervalbenadering is ideaal voor projecten met specifieke documentatie, vaste vereisten, voldoende middelen, een vaste tijdlijn en goed begrepen technologie. Alternatieven voor het watervalmodel zijn joint application development (JAD), rapid application development (RAD), sync-and-stabilize, Agile project management (APM) en het spiral model.,
voordelen van het watervalmodel
hoewel agile of dynamische methoden vaak het watervalmodel vervangen, zijn er enkele voordelen:
- vooraf te documenteren en planningsfasen zorgen ervoor dat grote of verschuivende teams op de hoogte blijven en naar een gemeenschappelijk doel toe bewegen.
- krachten, gedisciplineerde organisatie.
- Is eenvoudig om taken te begrijpen, te volgen en te rangschikken.
- vergemakkelijkt departmentalisatie en bestuurlijke controle op basis van planning of deadlines.
- versterkt goede coderingsgewoonten om te definiëren voor ontwerp en vervolgens code.,
- maakt vroege ontwerp-of specificatiewijzigingen gemakkelijk mogelijk.
- definieert duidelijk mijlpalen en deadlines.
nadelen van het watervalmodel
de nadelen van het watervalmodel surround risico geassocieerd met een gebrek aan revisie, waaronder:
- is niet adaptief; vaak wanneer een fout wordt gevonden, moet het hele proces opnieuw beginnen.
- negeert de mogelijkheid om feedback van gebruikers of clients te ontvangen tijdens het proces en wijzigingen aan te brengen op basis van resultaten.
- vertraagt het testen tot het einde van de ontwikkelingscyclus.,
- houdt geen rekening met foutcorrectie.
- kan aanvragen voor wijzigingen, scope aanpassingen of updates niet goed verwerken.
- vermindert de efficiëntie door overlapping van processen niet toe te staan.
- geen werkzaam product is beschikbaar tot de latere stadia van de levenscyclus.
- niet ideaal voor complexe, risicovolle, lopende of objectgeoriënteerde projecten.