Programmeren, de basis/Spiraalmodel

Uit Wikibooks
  1. Probleemstelling. Wat wordt er gevraagd? Wat is de bedoeling?
  2. Probleemoplossing / ontwerpen. Welke methodes en technieken? Welke stappen? Welk algoritme?
  3. Implementeren. Het algoritme als programmacode ingeven.
  4. Controle / evaluatie.

Als het programmeren je wat zegt dan heb je waarschijnlijk nú al wilde plannen over een programma dat je zou willen schrijven. Later zal het dan zo zijn dat jouw klant een wild idee heeft en vraagt of jij zijn idee kan omzetten in een programma. Vaak is het echter zo dat het niet onmiddellijk werkt zoals jij of jouw klant in gedachten had. Het werk van een programmeur komt heel goed overeen met dat van een architect:

  1. Het eerste wat de architect zal moeten doen, is luisteren naar de bouwheer: wil hij één of twee garages, zijn het liefhebbers van een tuin, welke stijl wensen ze,...? Je begrijpt best dat dit een heel belangrijke eerste stap is, want als architect en bouwheer elkaar verkeerd begrijpen, kan dit ernstige gevolgen hebben voor het gebouw.
  2. Vervolgens zal de architect zich terugtrekken en nadenken over hoe hij de wensen van de klant kan realiseren. Hij tekent een plan en maakt eventueel een schaalmodel van het huis.
  3. De architect trekt met zijn plan en/of schaalmodel van het huis naar de bouwheer. Ze overlopen alles nog eens en als blijkt dat de klant dit of dat anders wil, gaat hij terug aan de tekentafel zitten (dus terug naar de vorige stap). Komen ze echter tot een akkoord, dan kan de bouwfase starten (de volgende stap). Merk dus op dat er soms - ook bij programmeren - moet worden teruggekeerd naar een vorige stap.
  4. De bouwwerken worden niet uitgevoerd door de architect zelf, maar door een aannemer. Het is echter wel de taak van de architect om te controleren of alles wel gebouwd wordt zoals op het plan wordt aangegeven. Als de metselaar de ruimte voor het raam te klein maakt, dan zal het raam er gewoon niet in passen.
  5. Soms gebeurt het dat de bouwheer toch niet helemaal tevreden is en wil bijsturen (bv. een extra veranda of een bijkomende badkamer) en dan begint het proces helemaal opnieuw.

Het grote verschil tussen programmeren en bouwen is dat je programmacode makkelijker kan uitbreiden en veranderen dan bij een bouwwerk. Stel je voor dat als het huis helemaal klaar is, blijkt dat ze de fundamenten vergeten zijn... Makkelijker betekent echter niet 'gemakkelijk', dus ook bij programmeren is die eerste stap van lezen en begrijpen héél belangrijk! Hoe beter uitgedacht, des te makkelijker je later je programma kan uitbreiden en veranderen.

We merken bij programma's dat een uitbreiding heel vaak gebeurt. Zo werd voor Microsoft Windows 7 niet vanaf nul helemaal opnieuw begonnen met programmeren. Neen, men maakt gebruik van de nog bruikbare stukken code bij Windows Vista en men verandert en bouwt bij waar nodig.

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.