Track 2 - Toetsopdracht - BSA Monitor: Vervolg¶
Codelab¶
Beschrijving¶
Dit is een vervolg op de BSA Monitor van Track 1. In deze versie gaan we een stap verder werken van wat je daar hebt gemaakt.
- Verbeter je klasse
Vakdoor encapsulation toe te passen en parameter namen identiek te maken aan attribuutnamen. - Pas de
index.tsaan zodat het programma werkt met een array van vakken. - Vraag de gebruiker om cijfers in te voeren voor alle vakken en toon de resultaten.
Hieronder een voorbeeld van input/output van deze applicatie. Input die de gebruiker invoert is onderstreept.
Voer behaalde cijfers in:
Fasten Your Seatbelts: 7.5
Programming: 8.9
User Interaction: 5.4
Personal Skills: 7
Databases: 5.5
OOP1: 8
Project Skills: 5
Vak/Project: Fasten Your Seatbelts Cijfer: 7.5 Behaalde punten: 12
Vak/Project: Programming Cijfer: 8.9 Behaalde punten: 3
Vak/Project: User Interaction Cijfer: 5.4 Behaalde punten: 0
Vak/Project: Personal Skills Cijfer: 7.0 Behaalde punten: 2
Vak/Project: Databases Cijfer: 5.5 Behaalde punten: 3
Vak/Project: OOP1 Cijfer: 8.0 Behaalde punten: 3
Vak/Project: Project Skills Cijfer: 5.0 Behaalde punten: 0
Totaal behaalde studiepunten: 23/28
PAS OP: je ligt op schema voor een negatief BSA!
Klassendiagram¶
Onderstaand diagram vat de structuur van de class samen, dit keer inclusief encapsulation:
classDiagram
class Vak {
-_naam: string
-_punten: number
-_cijfer: number
+constructor(naam: string, punten: number)
+getNaam() string
+getPunten() number
+getCijfer() number
+setCijfer(cijfer: number) void
+gehaaldePunten() number
}
Stappenplan¶
- Maak een kopie van je code van de BSA Monitor uit Track 1 en open deze voor bewerking.
-
Verbeter je klasse
Vakop twee manieren:- Door encapsulation toe te passen. Gebruik op de juiste plekken
publicenprivate. Maak de attributennaam,punten, encijferprivate met een underscore prefix (_naam,_punten,_cijfer). - Gebruik
thisop de juiste plekken.
- Door encapsulation toe te passen. Gebruik op de juiste plekken
-
Pas de
index.tsaan, zodat het programma precies doet wat BSA Monitor uit track 1 doet.- Maak een array van vakken aan, als volgt:
-
Maak per vak een object aan door de constructor van
Vakaan te roepen. Voorbeeld: -
Laat de gebruiker voor ieder vak zijn/haar behaalde cijfer invoeren en lees dat in.
- Toon de resultaten op het scherm. Druk bij ieder vak de gevraagde informatie af.
- Druk het aantal studiepunten af en of je een negatief BSA gaat krijgen.
-
Schrijf TSDoc voor de klasse
Vakals geheel en voor alle methodes van de klasse:- Beschrijf het doel van de klasse en van elke methode.
- Beschrijf voor elke methode de inputparameters en licht toe wat een methode teruggeeft.
- Gebruik in je TSDoc
@author,@paramen@return.
-
Maak eventueel de code in
index.tsmooier door middel van functies.
Tip: Je kunt voor stap 3c en 3d de foreach loop (for...of) gebruiken!
Richtlijnen bij coderen¶
- Zorg dat je naam en het doel van het programma bovenin staan.
- Gebruik de juiste inspringing (indentation) bij de lay-out.
- Let op juist gebruik hoofdletters en kleine letters.
- Gebruik goede namen.
- Voeg waar nodig commentaar toe dat inzicht geeft in je code.
- Vermijd magic numbers, gebruik constanten.
- Gebruik de TSDoc tags
@author,@paramen@return. - Denk aan encapsulation, gebruik
privatewaar mogelijk.