Hotel Be Heer

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Examen Object Georienteerd Programmeren 24/06/2017 vm

Naam: Groep:

De eerste 2 vragen beantwoord je zonder een computer. Je mag enkel gebruikmaken van je
handgeschreven samenvatting van maximum 4 bladzijden. Voor dit deel heb je maximaal 1u, na het
indienen van dit gedeelte krijg je de opgave van vraag 3 en kan je starten aan de computer. Het totale
examen duurt maximaal 4u.

1. Van probleemstelling naar klasse diagram (20% van totaal, teken je klasse
diagram op de daartoe voorziene plaats)
Genereer een gedetailleerd klasse diagram van volgende probleemstelling: bepaal de benodigde klassen, hun
attributen, de signature van de methoden en de relaties tussen de verschillende klassen.

Het management van een hotel zou graag een tool laten ontwikkelen waarmee ze gemakkelijk hun boekingen
kunnen beheren en de betaling hiervan.

Het hotel beschikt over standaard kamers en suites. Alle boekingen hebben natuurlijk een kamernummer, de naam
van de klant, het rijksregisternummer van wie de kamer betaalt, een startdatum en het aantal nachten dat de klant
wenst te boeken. In suites is er de mogelijkheid om extra accessoires toe te voegen. Een accessoire wordt gewoon
aangeduid door zijn naam. De prijzen per nacht van de verschillende kamers (en analoog voor suites) zitten
opgeslagen in een array waarbij op plaats 0 de prijs voor kamer 1 staat enzovoort. Vermijd onnodige kopies van deze
array. Indien het kamernummer of suitenummer niet bestaat voor de huidige hotelconfiguratie, is de prijs 0.0 en is
de boeking ongeldig. Naast de standaard getters en setters moet het ook mogelijk zijn om de totaal te betalen prijs
voor deze boeking te berekenen. Standaard kamers krijgen 15% korting vanaf boekingen die minstens 7 nachten lang
zijn. Suites krijgen 15% korting voor boekingen van minstens 3 nachten. Voor elk accessoire dat aan de suite voor
toegevoegd wordt een standaardprijs van 15€/nacht bijgerekend. Op dit bedrag wordt een analoge korting
toegekend.

Het moet natuurlijk mogelijk zijn om boekingen in te voeren in het systeem. Het is niet mogelijk om een ongeldige
boeking (met onbestaand kamernummer dus) in het systeem toe te voegen. Ook een boeking voor éénzelfde kamer
met éénzelfde startdatum als een reeds bestaande boeking in het systeem wordt geweigerd. Bij afrekening worden
alle boekingen van éénzelfde startdatum en éénzelfde betaler samengenomen en het totaal te betalen bedrag
teruggegeven. Aangezien dit meestal een situatie is bij boekingen van bedrijven e.d. wil het hotel dit promoten en
past het de kortingsregels toe op het totaal aantal nachten per betaler per startdatum i.p.v. per kamer. Na betaling
worden boekingen overgezet naar een lijst van betaalde boekingen. Het moet mogelijk zijn om het aantal
onbetaalde boekingen op te vragen en het aantal betaalde boekingen. Verder moet een klant ook een onbetaalde
boeking kunnen aanpassen (het wijzigen van het aantal nachten), de methode geeft een boolean terug met het
resultaat.

Voor de statistieken wil het beheer ook weten wat de langste boeking is in de huidig gekende onbetaalde boekingen.
En om het systeem op te starten moet het mogelijk zijn de bestaande onbetaalde boekingen die nu opgeslagen zijn
in een tekstbestand te verwerken en zo in te voeren in het systeem. Deze methode geeft het aantal geldig
toegevoegde boekingen terug.

You might also like