Laatst bewerkt: 26 september 2003

AANPAK


Probleem definiëren

Probleem analyseren

Oplossing schematiseren

Programma-instructies coderen

Testen

Documenteren

 


Programmeren betekent: oplossingen bedenken voor problemen. Die oplossingen kunnen daarna door de computer worden uitgevoerd.

Om te voorkomen dat je wegzakt in een moeras van programmeercodes, is er een logische volgorde bedacht voor het werk dat uitgevoerd moet worden. We onderscheiden in het programmeerproces zes fasen. In je procesverslag moeten die zes fasen zichtbaar aanwezig zijn.

Maar voordat je hiermee aan de slag kan, moet je een Plan van Aanpak maken, waaruit duidelijk wordt wat de deelactiviteiten zijn. Je tijdsplanning moet natuurlijk realistisch zijn. Maak je Plan van Aanpak zoals dat bij de eerste Praktische Opdracht Websitebouw beschreven is.

Naar boven


1. Probleem definiëren

Om een juiste en volledige oplossingsmethode voor een probleem te kunnen vinden, moeten we allereerst het probleem precies kennen. We moeten ons de vraag stellen: wat is de informatiebehoefte? Waarbij kan de computer voor ons belangrijke hulp bieden? Of met andere woorden: welke resultaten moet de oplossingsmethode produceren? Een belangrijk en verplicht hulpmiddel hierbij is het maken van schermformulieren (de interface) waarin je aangeeft hoe je je informatiebehoefte aan de computer kenbaar maakt (de invoer) en hoe het resultaat van het programma op de monitor moet verschijnen (de uitvoer). Houd hierbij rekening met de omvang van het scherm en de plaatsen waar de invoer, de uitvoer en de knoppen moeten komen.

Andere hulpmiddelen die je kunt gebruiken om inzicht te krijgen in het probleem zijn het contextdiagram, bijvoorbeeld:

Voorbeeld contextdiagram

en het dataflowdiagram (DFD):

Voorbeeld dataflowdiagram

Ook moet je de randvoorwaarden in de definitie opnemen: deze voorwaarden geven aan welke bijzondere eisen en omstandigheden gelden voor de ontwikkeling.

Naar boven


2. Probleem analyseren

De tweede stap is: vaststellen hoe je de gewenste resultaten krijgt. Je moet nu de oplossingsmethode (het algoritme) bedenken (ontwerpen). Dat doe je door in stappen proberen uit te vinden hoe de gewenste informatie (de uitvoer) geproduceerd kan worden. Je moet dus een stappenschema maken.

De stapsgewijze verfijning kan hierbij veel hulp bieden. Je splitst het probleem op in deelproblemen en kijkt daarbij welke gegevens nodig zijn. Is een deelprobleem toch nog te groot, dan splits je ook dat weer op.

Daarna kijk je welke verwerkingsopdrachten er nodig zijn en in welke volgorde deze opdrachten geplaatst moeten worden.

Naar boven


3. Oplossing schematiseren

Als we aan het slot van de analyse (fase 2) zijn terechtgekomen op het niveau waarop de deelproblemen te coderen zijn in de programmeertaal, moeten we (vooral bij grotere programma’s) de oplossing in de vorm van een schema samenvatten. In deze fase gebruik je de PSD´s: de programmastructuurdiagrammen of structogrammen.

Wordt een PSD te groot, maak dan deel-PSD's.

Naar boven


4. Programma-instructies coderen

Nu pas zijn we in de fase terechtgekomen waarin je aan het werkelijke programmeren in Java kunt beginnen. Heb je de eerste drie fasen perfect doorlopen, dan is de codering in Java of in willekeurig welke andere taal (afhankelijk van je kennis en ervaring) relatief eenvoudig.

Je zult begrijpen dat de eerste drie fasen onafhankelijk zijn van computertype en programmeertaal. Van de ontwikkelingstijd gaat meestal méér dan 80% in de eerste drie fasen zitten. Dit onderstreept het belang nog eens van die eerste drie fasen. Vlieg daar dus niet doorheen, want je komt jezelf later tien keer vaker tegen dan nodig is!

In je verslag moet de programmacode in een bijlage opgenomen worden.

Naar boven


5. Testen

Omdat het in de voorgaande fasen allemaal mensenwerk betreft, worden daarin, zelfs door jou, fouten gemaakt. Daarom is een uitgebreide testprocedure noodzakelijk om ervoor te zorgen dat een programma correct en bruikbaar is. Bij het testen is een indeling van fouten in soorten van belang. Er zijn fouten in de logica (dat wil zeggen: in je oplossingsmethode: dit zijn de semantische fouten) en er zijn fouten in de codering van de opdrachten (syntaxisfouten). Beide moeten opgespoord en opgelost worden.

De syntaxisfouten hoef je niet gedetailleerd te beschrijven; de semantische fouten wel: deze zorgen er immers voor dat je terug moet naar fase 2, 3 en 4 om de doelstelling uit fase 1 alsnog te kunnen realiseren. 

Is je programma bedoeld om invoer te verwerken (denk bijvoorbeeld aan een Dollar-Eurocalculator), dan moet  je een methode bedenken om de uitvoer van het programma te testen. Bedenk  moeilijke gevallen, geef aan wat je als uitvoer verwacht en beschrijf dat je die uitvoer inderdaad krijgt.

Naar boven


6. Documenteren

Dit moet vanaf het allereerste begin in iedere fase gelijktijdig plaatsvinden met de andere activiteiten. De bruikbaarheid van een programma hangt vooral af van de kwaliteit en kwantiteit van de documentatie. Veel, vooral beginnende, programmeurs kunnen de verleiding van het direct programmeren niet weerstaan met als gevolg dat zij een jaar later hun eigen programma’s niet meer kunnen lezen en aanpassen. Zorg voor een beschrijving van het programma (zeker in PSD´s) en voor commentaartekst in de broncode (de regels met //).

Verder moet je eraan denken dat je een eindgebruikerhandleiding voor het programma maakt. Hoe start je het programma, wat zijn de mogelijkheden als het programma draait en heb je gedacht aan online-hulp? 

Naar boven


TerugDeadline