OOP2

nextChallenge.md

1
Hostelbeheer
2
============
3
4
Maak een programma om een jeugdherberg te beheren.
5
6
Kamers
7
------
8
- Kamers hebben een bepaald aantal bedden
9
- Kamers kunnen faciliteiten hebben (bv. Airco, douche, bad, ...)
10
- Kamers zijn van een bepaald type: Mannen, Vrouwen, of gemengd.
11
12
Reserveringen
13
-------------
14
- Reserveringen bestaan uit:
15
	- Groepsnaam
16
	- # personen
17
	- Gewenste faciliteiten
18
	- Gewenste type
19
	- Ontbijt (optioneel, op alle dagen, of op bepaalde dagen)
20
	- Datum van aankomst
21
	- Verblijfsduur (== datum van vertrek)
22
- Reserveringen gebeuren op basis van bedden, niet per sé op kamer
23
- Reserveringen moeten kunnen worden aangepast en geannuleerd (zie "Zoeken")
24
- Reserveringen krijgen een unieke ID
25
26
Prijsberekening
27
---------------
28
- Alle bedden kosten hetzelfde, maar onderhevig aan hoog-, midden- en
29
  laagseizoen
30
- Elk ontbijt kost een supplement (--> ontbijt voor 4 man = 4 ontbijten)
31
- Als een groep een hele kamer zelf afhuurt, 10% korting op totaalprijs
32
33
Wijze van plaatsing
34
-------------------
35
- Bij reservatie: controleren of groep niet bij een deels bezette kamer gezet
36
  kan worden.
37
- Indien niet mogelijk: Dan pas in nieuwe kamer plaatsen
38
39
Zoeken
40
------
41
Op basis van een gegeven tijdspanne:
42
- Kunnen opzoeken hoeveel ontbijtjes gevraagd zijn op bepaalde dagen
43
- Reserveringen kunnen opzoeken (ook op basis van groepsnaam en ID)
44
- Kunnen opzoeken welke bedden in de gegeven tijdspanne gereserveed zijn
45
46
Overig
47
------
48
- Contractueel programmeren ("In Engels")
49
- Alles in Java, en dus ook OOP =(
50
- "Schrijf duidelijke, uitbreidbare, robuuste code"
51
- Bij elke class @author vermelden
52
- Ontwerpkeuzes; uitleggen hoe dat ge bovenstaande vereisten tegemoet komt
53
- Documenteer code waar nodig
54