# K1 W3 Realisatie

Werkproces 3 van kerntaak 1 gaat over de realisatie, het coderen.

Je ontvangt de opdracht. Zorg ervoor dat als je de opdracht buiten school maakt dat de opdrachtbeschrijving duidelijk op papier staat. Voeg dit toe aan je portfolio.

Je moet aantonen dat je het volgende beheerst.

### Eisen

1. Je hebt **voldoende** functionaliteiten gemaakt.  
    Dit is natuurlijk afhankelijk van de vorm en de tijd. Maar je moet denken aan 16 tot 40 uur 'puur' programmeerwerk (dus *zonder* inrichten computer, overleg, ontwerp en dergelijke). Hoe meer hoe beter want dan kunnen we beter de kwaliteit beoordelen.
2. De **kwaliteit** van de **functionaliteit** is goed en voldoet aan de vastgestelde eisen.
3. De **kwaliteit** van de code is goed.  
    De structuur klopt (bijv. MVC), de foutafhandeling is goed en je hebt rekening gehouden met security. De code werkt efficiënt (is dus niet onnodig langzaam).
4. De code is opgesteld volgens de **code conventions**.  
    Dit zijn afspraken die je onderling maakt over de vorm van de code.
5. De code ziet er **verzorgd** uit.  
    Dit heeft raakvlakken met de kwaliteit van de code. Het gaat erom of de code goed leesbaar is. DIt heeft ook te maken met structuur, naamgeving en commentaar.
6. **Versiebeheer** is toegepast.  
    Je kan de ontwikkeling van het product laten zien aan de hand van versiebeheer. Je kunt dus terugkijken in oude versies.

### Bewijsmateriaal

Wat kun je als bewijsmateriaal aanleveren in je portfolio?

1. De **opdrachtbeschrijving** als de opdracht buiten school is gemaakt.
2. De delen van het **ontwerp** (user stories) die jij hebt gecodeerd.
3. **Logboek** waarin je per dag bijhoud wat je hebt gedaan. Beschrijf ook kort waar je tegenaan liep en hoe je dat hebt opgelost.
4. De **code** in een vorm dat die door een ander kan worden geïnstalleerd. De code is dus **compleet** met database en korte **installatie handleiding**.
5. De **code conventions** en een checklist waaruit blijkt dat je code is gecontroleerd.
6. **Documentatie** waarin je de **structuur** en **opbouw** van je code uitlegt en eventueel onderbouwt.
7. **Documentatie** waarin je uitlegt hoe en wat je hebt gedaan om je applicatie **secure/veilig** te maken.
8. Je hebt een **repository** (bijvoorbeeld in SVN of GIT) en laat bijvoorbeeld in een filmpje zien hoe je daar mee werkt.
9. **Documentatie** waarin je uitlegt hoe jij **versiebeheer** gebruikt.

### Beoordelingsrichtlijnen  


1. Er is minimaal 40 uur besteed aan het implementeren van User story's.
2. De opgeleverde functionaliteiten werken en voldoen in minimaal 80% van de scenario aan de user story. Dit betekent dat foutieve, ongewenste of missende functionaliteit alleen in uitzonderlijke gevallen mag optreden.
3. Er kan worden aangetoond dat er rekening is gehouden met: efficiëntie van de code, goede performance, foutafhandeling, invoercontrole, security, beveiliging.
4. De code is op een uniforme manier gemaakt waarbij bijvoorbeeld gebruik gemaakt is van een code conventie.
5. De code is voor een buitenstaander goed leesbaar door het gebruik van goede variabele namen en functies en commentaar in de code. Deze naamgeving is Engels of Nederlands.
6. Er is gebruik gemaakt van versiebeheer. Vanuit het versiebeheer kunnen tenminste 5 oude versies van de code worden getoond.

(Punt 1 en 3 zijn *cruciaal*)

*Deze beoordelingsrichtlijnen zijn gebaseerd op de SPL "Beoordelingsformulier praktijkexamen" (examencode SD\_SD20\_B1-K1-2\_1V1, crebo 25604).*

\--