OOP2

ontwerpkeuzes.txt

1
Maarten Vangeneugden - 1438256
2
3
Er werd gevraagd om contractueel te programmeren. Dit houdt in dat pre- en postcondities worden gegeven, parameters beschreven, ... Ik heb deze bij de get- en setfuncties desondanks achterwege gelaten, omdat het contract bij deze functies te triviaal is, de tijd beperkt was, en omdat ik verwacht dat andere programmeurs zodanig veel verstand hebben dat ze het contract kunnen afleiden uit de context.
4
5
Voor de opleidingsonderdelen heb ik besloten om een abstracte basisklasse te maken (Course) waarvan de verplichte vakken (MandatoryCourse) en keuzevakken (ChoiceCourse) zijn afgeleid. Ik tracht hiermee tegemoet te komen aan het open/closed-principe, zodat de code uitbreidbaar en overzichtelijk blijft.
6
7
Ik heb slechts een GUI-implementatie gemaakt van een gedetailleerde weergave van een opleidingsonderdeel (DetailedCourseView), en een class dat als framework dient voor alle schermen van dit programma (MainWindow). Ik heb besloten om (wegens tijdnood) het Model zo veel mogelijk te implementeren, en een minimale basis voor de View te geven.
8
9
Planner dient als een aanroepklasse.
10
11
De code zelf is volledig in het Engels. De GUI en (de inhoud van) opleidingsvakken zijn Nederlands.
12