Une formation universitaire est organisée de la manière suivante: un diplome se compose de plusieurs certificats. Un certificat se compose de plusieurs UE. Chaque diplome, certificat ou UE est identifié par un intitulé et est géré par un enseignant responsable. Les étudiants s’inscrivent à un diplome, certificat ou UE. l’inscription à un diplome (respec. un certificat) implique l’inscription à l’ensemble des certificats du diplome (respec. UEs du certificats) non encore validés par l’´etudiant. Un diplome est validé par un étudiant, si celui-ci a validé tous ses certifiats. Un certificat est validé par un étudiant si celui-ci a validé toutes ses UEs. Une UE est validée si la note obtenue à l'UE est supérieure ou égale à la moyenne ou si la note de l'UE est supérieure ou égale à une note éliminatoire associée à l'UE et que la note du certificat est supérieure ou égale à la note moyenne du certificat.
La note moyenne d'une UE (respect. certificat ou Diplome) est égale à la moitié de la note maximale que l'on peut obtenir à une UE (respect. certificat ou diplome).
Un étudiant est identifié par un nom (String), un prénom (String) et un numéro d'étudiant (String). On associe à un étudiant le diplome auquel il est inscrit et la note obtenue au diplome, la liste des certicats et leurs notes respectives, la liste des UEs et leurs notes respectives.
Un enseignant est identifié par un nom (String), un prénom (String). On associe à un enseignant la liste des UEs, certificats et diplomes dont il est responsable.
Programmer en Java l'application qui permet de
* créer une formation avec 2 diplomes (Licence, Master) ou chaque diplome est formé de 2 certificats, avec 2 UE dans chaque certificat.
* gérer l'inscription d'un étudiant à un diplome. La procédure d'inscription doit verifier que l'etudiant n'est pas déjà inscrit ou n'a pas encore validé le diplome (respect. les certificats ou UEs) auquel(s) on l'inscrit.
* attribuer des notes obtenues par un etudiant aux UEs auquels il est inscrit et calculer les notes obtenues aux certificats et au diplome auquel il est inscrit.
* lister les étudiants et leurs notes obtenues aux différentes UEs, différents certificats et diplome. sous la forme :
UE1 UE2 Certificat1 UE3 UE4 Certificat2 Diplome
numero_etudiant nom et prénom note1 note2 note3 note4 note5 note6 note7
Les etudiants, enseignants , UEs, certificat, diplomes sont stockés dans des fichiers.
L'ajout d'un nouvel élément (étudiant, enseignant, diplome) se fait via la saisie des informations au clavier et leur stockage dans le fichier associé.
Indication
* On suppose que la note maximale que l'on peut obtenir à une UE est 20 et la note éliminatoire est 08.
* Pour chaque entité (UE, Certificat, Diplome) on définit un objet entité notée (UE_noté, Certificat_noté, Diplome_noté) qui est composée de l'entité et de la note obtenue par l'étudiant.
* On définit la classe Entité qui hérite des attributs : intitulé, responsable et qui est composé d'une liste d'objets génériques (LinkedList). Cette classe générique sera dérivée en la classe Certificat qui est composé d'un LinkedList et en la classe Diplome qui est composé d'un LinkedList, etc.