Domain Model
<Provide a diagram showing important real-situation conceptual classes in the application domain. Do NOT include software classes. Describe each of the conceptual classes in a glossary.>
Hieronder de initiële versie van het domein model:
Voor het HR-portaal is er een domein model opgesteld om het domein waarin we werken in kaart te brengen, deze ziet er uit als volgt:
Glossary
In deze glossary volgt een beschrijving van alle concepten in bovenstaand model.
...
Een werkplek is een plek binnen JDI waar werknemers hun werk kunnen doen. Een werkplek heeft een code ter identificatie. Ook heeft de werkplek een grootte, dit geeft aan hoeveel werknemers er in de plek passen. Ten slotte is de globale inrichting bekend van een werkplek, dit geeft werknemers van tevoren de mogelijkheid om te checken of de plek tools zoals een beamer heeft.
De werkplek heeft een locatie, waarmee aangegeven wordt waar de werkplek zich bevindt.
...
Zoals de naam al zegt, is een locatie een locatie. Een locatie heeft een naam en een locatie bevindt zich in een stad.
Route
Een route is een route tussen twee locaties. Van een route wordt een afstand bijgehouden, deze afstand wordt berekend door een API.
Werknemer
Een werknemer heeft een set van inloggegevens (bestaande uit een gebruikersnaam en een wachtwoord) waarmee hij/zij bij het HR portaal kan inloggen. Een werknemer heeft ook nog NAW (naam, adres, woonplaats) gegevens. Verder heeft een werknemer ook een aantal uren verlof tot zich. Ook heeft de werknemer 3 waardes om bij te houden of ze wel of niet een beheerder, lead link of product owner zijn.
Werktijden
Werktijden houdt bij op welke tijden een werknemer werkt en op welke dag dit is.
Werknemer op werkplek
Werknemer op werkplek houdt bij op welke werkplek een werknemer zich bevind op een datum.
Tokens
Tokens houden de tokens bij van een geslaagde inlog poging van een gebruiker. Hiervan wordt ook een expires bijgehouden.
Reiskosten declaratie
Reiskosten declaratie hoort bij een werknemer die een declaratie heeft aangemaakt. Hiervan word bijgehouden voor welke datum deze declaratie geld, voor welke afstand dit was, het bedrag dat vergode wordt, een eventuele opmerking en een optionele bijlage die geupload kan worden. De afstand van een declaratie wordt berekend door een API en het bedrag wordt berekend aan de hand van de afstand en het type declaratie dat is aangemaakt.
Tarief
Tarief houdt bij welk bedrag hoort bij welk type.
Afstand bereken systeem
Voor de reiskosten declaratie is een systeem beschikbaar om de afstand van een reis te berekenen. De reiskosten declaratie maakt gebruik van dit systeem om de afstand berekening door de externe API uit te laten voeren.
Afstand API
Het bovenstaande afstand bereken systeem is gekoppeld aan een externe API die de afstanden terug kan geven. Deze API heeft route informatie om op die manier de afstand te kunnen bepalenDe reiskosten declaratie heeft weet van het type vervoersmiddel. Dit wordt gebruikt om uit te rekenen wat de kosten zijn. Ook heeft iedere declaratie een 'van' en 'naar' locatie, om aan te geven van waar naar waar de reis heeft plaatsgevonden. Iedere declaratie hoort bij 1 JDI werknemer, die de declaratie heeft aangemaakt.
Verlof aanvraag
Een verlof aanvraag is een manier voor werknemers om verlof aan te vragen. Iedere aanvraag is door 1 werknemer ingediend. Bij een aanvraag hoort een aanvraag code, waarmee de aanvraag geïdentificeerd kan worden. De aanvraag zelf wordt opgenomen als 'aanvraag'. Na het indienen van de aanvraag gaat deze naar Slack, voor de beoordeling.
...