Labo
SchoolAdmin project: alle cursussen opvolgen
Functionele analyse
We willen een lijst bijhouden met alle objecten van de klasse Cursus
. Zorg dat deze lijst automatisch wordt ingevuld.
Technische analyse
Voorzie op klasseniveau een array met plaats voor 10 Cursus
objecten en noem hem AlleCursussen
. Zorg ervoor dat een cursus bij aanmaak in de eerste vrije positie in deze array wordt geplaatst. Schrijf hiervoor een private hulpmethode registreerCursus(Cursus cursus)
. Deze kan je uitvoeren zonder bestaand Cursus
object. Ze gaat op zoek naar de eerste vrije positie in de array en slaat cursus
op op deze positie.
Je kan registreerCursus
als volgt implementeren:
start met een variabele
vrijePositie
van typeint?
met waardenull
controleer één voor één de posities in de array
onthoud de eerste positie waarop je
null
tegenkomt
controleer nadat de array doorlopen is of er nog een vrije positie is
zo ja, sla de cursus daar op
zo nee, print
"Er zijn geen vrije posities meer"
Commit je aanpassingen.
SchoolAdmin project: cursussen opzoeken op Id
Functionele analyse
We willen cursussen makkelijk kunnen opvragen via Id. Schrijf een methode ZoekCursusOpId
die dit doet.
Technische analyse
Deze methode werkt op klasseniveau, want je hebt geen cursus nodig om een andere cursus te vinden. Ze heeft één parameter, id
. Het return type is Cursus
, maar het kan zijn dat je geen cursus met het gevraagde Id kan terugvinden.
De methode werkt door AlleCursussen
element per element te doorlopen en de waarde van het attribuut Id
van elk element te vergelijken met het meegegeven argument. Als de gevraagde cursus niet bestaat, mag je programma niet crashen, maar krijg je null
terug.
Commit je aanpassingen.
SchoolAdmin project: gelinkte objecten
Functionele analyse
Het is niet handig dat onze klasse VakInschrijving
een cursus voorstelt als string. Dat maakt dat we de functionaliteit van Cursus
niet kunnen gebruiken. Pas daarom VakInschrijving aan zodat de klasse echt gelinkt is aan Cursus
. Dit vereist aanpassingen op een aantal plaatsen.
Technische analyse
Voor de aanpassing heb je dit:
Erna heb je dit:
Controleer ook dat al je testmethodes nog dezelfde resultaten leveren als eerder.
Commit je aanpassingen.
SchoolAdmin project: Studieprogramma (stap 1)
We wensen cursussen te groeperen in studieprogramma's.
Functionele analyse
Schrijf een klasse StudieProgramma
. Deze heeft een naam, bevat een aantal cursussen en kan getoond worden op het scherm.
Technische analyse
Implementeer als volgt:
Gebruik volgende code voor de demonstratiemethode:
Hier loopt iets mis. Benoem zelf de oorzaak en corrigeer de fout.
Commit je aanpassing.
Schooladmin project: Studieprogramma (stap 2)
Zoals boven, maar gebruik nu volgende code voor de demonstratiemethode:
Opnieuw loopt het fout. Benoem zelf de oorzaak en corrigeer de fout.
Commit je aanpassing.
Last updated