Een personeelsinformatiesysteem, afhankelijk van de ideeën rond personeelsmanagement ook wel humanresourcemanagement-informatiesysteem of HRM-systeem genoemd, is een systeem dat gegevens over personeel beheert. In veel gevallen is een dergelijk systeem geautomatiseerd en omvat het computerprogrammatuur voor personeelsgegevens, vaak met het oog op personeelsmanagement.
Het HRM-systeem houdt gegevens van de medewerkers van een onderneming bij. Naast de volledige salarisadministratie houdt een HRM-systeem ook beoordelingsgegevens, autorisatiegegevens, tekenbevoegdheden, opleidingsgegevens, digitale pasfoto, functiegegevens (functiebenaming, functieniveau, afdeling), enz. bij.
Kortom, met HRM-systemen valt geld te verdienen: je ontwikkelt een HRM-systeem voor bedrijf A en verkoopt het daarna aan alle sectorgenoten van bedrijf A. Een lucratieve handel in complexe software-systemen waarvan jij het prille begin programmeert.
In deze oefening programmeren we de klasse ProjectLeider
, een subklasse van de klasse Werknemer
.
Je maakt in BlueJ het project HR met volgende klassen:
Werknemer
: de code van Werknemer
kan je hier1 downloaden.ProjectLeider
: je krijgt geen code cadeau.Alvorens je aan de opgave begint, loont het de moeite om de werking van de klasse Werknemer
te bestuderen.
De klasse ProjectLeider
is een subklasse van Werknemer
.
Programmeer het veld aantalTeamLeden
. Dit veld houdt bij aan hoeveel collega’s de projectleider leiding geeft.
De constructor van de klasse ProjectLeider
vraagt naam en het aantal medewerkers van de projectleider.
Programmeer een accessor- en mutatormethode bij het veld aantalTeamLeden
.
Overschrijf de methode int berekenAantalVerlofDagen()
. Een projectleider heeft, ongeacht zijn of haar anciënniteit,
steeds 3 dagen meer verlof dan een werknemer.
Overschrijf de methode double berekenMaandloon()
. Een projectleider verdient per teamlid € 100 bovenop
het loon van een werknemer.
Programmeer de methode void print()
. Deze methode toont informatie over de projectleider in het
Terminalvenster van BlueJ.