Skip to content

Ontwikkelingscyclus: van scenario tot implementatie

by Peter on juni 22nd, 2010

Voor onze ontwikkeling maken wij zoveel mogelijk gebruik van BDD, behaviour driven development. Deze techniek zorgt ervoor dat een bepaalde feature vooraf duidelijk gedefinieerd is en de ontwikkelaar gefocust blijft op het beoogde resultaat en op het einde van de rit ook de zekerheid heeft dat alles wat vooropgesteld was ook daadwerkelijk bereikt is.

De BDD cyclus start met het uitschrijven van scenario’s. Een scenario beschrijft de stappen die de gebruiker uitvoert om een bepaald doel te bereiken en verifieert of dit doel effectief bereikt is. In de ontwikkelomgeving die wij gebruiken zijn deze scenario’s zelfs voor een niet-programmeur perfect begrijpbaar.

Als een scenario af is, is de functionaliteit volledig omschreven. Als we op dit ogenblik het scenario laten uitvoeren, zal dit niet lukken, omdat er gewoon nog geen code achter zit die deze feature implementeert. Maar we weten alleszins al waar we naartoe willen en wat moet werken op het einde van de rit.

Het scenario maakt ons ook duidelijk welke modellen we gaan nodig hebben om de data te kunnen verwerken. Een model is een stuk code dat de logica bevat en de communicatie met de achterliggende database verzorgt. Voorbeelden van modellen zijn “Bedrijf”, “Persoon”, “Project”. Ook hier weer wordt vooraf omschreven hoe we verwachten dat dit model zich gedraagt. De code is al een stuk meer programmatorisch, maar de omschrijvingen tonen wel waar het om gaat.

Bij het uitvoeren van deze vereisten zal op dit moment nog steeds alles als “niet uitvoerbaar” aangeduid staan. Nu zijn we er echter wel zeker van dat in alles wat we omschreven hebben de volledige functionaliteit, zowel in het brede kader van de applicatie zelf als op het microvlak van het model, beschreven zijn zoals wij willen dat ze zich gedragen. Tijd om de effectieve code te schrijven dus.

Vanaf nu ligt zijn alle voorbereidingen getroffen om gefocust en met een gerust gemoed code te schrijven die naar de gebruiker toe iets zichtbaar zal maken. Telkens een stukje code geschreven is, kunnen we zowel deze model specificaties als de scenario’s laten lopen en als alles goed gaat zal specificatie na specificatie en scenario na scenario het groen licht krijgen. BDD is een iteratief proces, dit wil zeggen dat we niet alle tests en code in één keer schrijven. Een klein stukje functionaliteit wordt getest, geïmplementeerd en pas als dit werkt wordt het volgende stukje aangepakt op dezelfde manier.

Het uiteindelijke streefdoel is dat alle modelspecificaties en alle scenarios als voldaan aangeduid worden. Is dit het geval, dan is een feature af en wordt de ganse applicatie in z’n geheel nog even doorlopen. Het nut hiervan en hoe dit in z’n werk gaat, krijgt u te zien in de volgende post in de categorie “Technobabbel”.

From → Technobabbel

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS