Formation UML P. Divoux
Dans une entreprise, un employé est identifié par son matricule (un nombre), on veut pouvoir afficher son nom, son adresse, son ancienneté, son service d’affectation (ex : "Comptabilité") et le montant de sa prime ; La prime d’un employé est calculée en multipliant le nombre d’années d’ancienneté par un coefficient identique pour tous les employés : "coeffPrime" (qui vaut actuellement 120) ; pour les commerciaux, cette prime est augmentée d'un intéressement proportionnel au chiffre d’affaire qu’ils ont réalisé (la valeur de "pourcentInteressement" est actuellement de 15%).
Représentez la structure de classes (DCA) et placez les attributs et les accesseurs nécessaires ainsi que les méthodes suivantes :
getAdresse() ; retourne l'adresse de l'employé concerné
getEmp(matricule) ; retourne l'employé dont le matricule est passé en paramètre
anciennete() ; retourne l'ancienneté de l'employé
getService() ; retourne le libellé du service de l'employé courant
changerService(nouveauService:String) ; change le service de l'employé avec celui passé en paramètre
getPrimes(); calcule le montant de la prime (intéressement compris dans le cas des commerciaux)
getPlusAncien(); retourne l'employé qui a la plus grande ancienneté
getType() ; retourne le type d’employé : « simple employé » ou « commercial »
NouvelEmploye (nom,adresse,anneeEmbauche,service)
NouveauCommercial(nom,adresse, anneeEmbauche,service)
Modifier le CA d’un commercial (nouvelle_valeur)
RQ : Le matricule est auto-incrémenté à chaque nouvel employé (il ne figure pas comme paramètre de « NouvelEmploye(n,a,ae,s) » il faut en tenir compte dans le modèle
Pensez aux précisions suivantes :
Typez les attributs, les paramètres, les valeurs de retour des opérations
Préfixez correctement les attributs et méthodes selon leur nature : individuel, collectif ou commun
Pensez aussi aux éléments abstraits (classes et méthodes)
Documentez en quelques mots les classes, attributs et opérations dans l'onglet "Documentation" (voir l'exemple des méthodes ci-dessus)
Vérifiez que les opérations suivantes sont réalisables :
Obtenir les caractéristiques (nom, adresse, service, ancienneté et, éventuellement, chiffre d’affaire) de l’employé de matricule X
Obtenir le nom et la prime de l’employé le plus ancien
Afficher la liste de tous les employés avec nom et service
Lister les employés du service « Comptabilité »
Lister tous les services avec leur nom et leur nombre d'employés
Code Java
Saisissez le modèle avec un AGL
Codez le corps des méthodes dans l’onglet approprié
Ajoutez les constructeurs et une methode toString() dans chaque classe qui affiche les informations essentielles : nom, ancienneté, prime …
Paramétrez correctement les options de génération et de compilation
Générez, complétez et compilez le code java
Générez la javadoc
Testez en ajoutant une classe « Main » qui crée un petit jeu d’essai de 5 employés dont 2 commerciaux et qui liste les caractéristiques des 5 employés