Gestion du personnel
[30 minutes]
Le service de gestion du personnel d'une entreprise désire s'équiper d'un outil lui permettant de gérer informatiquement ses employés, leurs salaires et leurs congés. Les spécifications suivantes ont pu être mises en exergue par une analyse des besoins réalisée auprès des utilisateurs du service du personnel.
Généralités :
tout employé est identifié par un nom, un prénom et une date de naissance ;
tout employé remplit une fonction et appartient à un service ;
pour chaque employé on gère la date d'embauche et la quotité (c'est à dire le pourcentage de temps travaillé par rapport au temps plein, en cas de travail à temps partiel).
Gestion des salaires :
pour chaque employé on gère l'historique de ses salaires dans l'entreprise, chaque salaire étant affecté à une période de temps ;
un salaire est composé d'un salaire brut, de charges patronales et de charges salariales ;
on cherchera à partir des ces données à obtenir également le salaire chargé (brut + charges patronales), et le salaire net (brut - charges salariales), et ce en particulier pour le salaire en cours (celui que touche actuellement le salarié).
Gestion des congés :
pour chaque employé, on mémorise chaque congé pris (posant qu'un congé concerne toujours une ou plusieurs journées entières) ;
chaque employé a le droit aux jours de congés suivants :
25 jours (pour une quotité de 1) et 25 x quotité sinon,
chaque fonction ouvre les droits à un certain nombre de jours de RTT,
chaque service ouvre les droits à un certain nombre de jours de RTT,
chaque tranche de 5 ans passés dans l'entreprise donne droit à 1 jour supplémentaire,
les employés de plus de 40 ans ont un jour supplémentaire, et ceux de plus de 50 ans deux.
pour chaque employé on cherchera à connaître le nombre total de jours de congés autorisés, le nombre de jours pris et le nombre de jours restants sur l'année en cours.
Question
Réaliser le diagramme de classes permettant de modéliser ce problème.
Solution
Exemple :
On remarquera les méthodes prendreConges et changerSalaire qui modélisent des opérations courantes dont la complexité (elles concernent plusieurs tables) justifient une mise en exergue.
Bien entendu, il n'existe pas de solution unique à ce problème. Par exemple si seul le salaire en cours est réellement intéressant, on pourra affecter les méthodes salaireCharge et salaireNet à la classe Employe plutôt que Salaire. Autre exemple, certaines méthodes auraient pu être représentées comme des attributs dérivés.