Projet EvaluationsEleves/Professeurs



Documents pareils
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Chapitre 10. Les interfaces Comparable et Comparator 1

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

TD/TP PAC - Programmation n 3

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Programmation Objet - Cours II

TD/TP PAC - Programmation n 3

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Tp 1 correction. Structures de données (IF2)

Programmation par les Objets en Java

Chapitre V. Les classes : Object, Vector, etc.

Corrigés des premiers exercices sur les classes

Chapitre 2. Classes et objets

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Chapitre VI- La validation de la composition.

Application web de gestion de comptes en banques

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Génie Logiciel avec Ada. 4 février 2013

Premiers Pas en Programmation Objet : les Classes et les Objets

Programmation par composants (1/3) Programmation par composants (2/3)

TP1 : Initiation à Java et Eclipse

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Package Java.util Classe générique

Programmation avec des objets : Cours 7. Menu du jour

Traduction des Langages : Le Compilateur Micro Java

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Une introduction à Java

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Programmer en JAVA. par Tama

OCL - Object Constraint Language

Corrigé des exercices sur les références

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

TP, première séquence d exercices.

as Architecture des Systèmes d Information

Langage Java. Classe de première SI

Recherche dans un tableau

Création d objet imbriqué sous PowerShell.

Alfstore workflow framework Spécification technique

Projet de programmation (IK3) : TP n 1 Correction

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Héritage presque multiple en Java (1/2)

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Java Licence Professionnelle CISII,

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

Import des utilisateurs depuis Sconet et STSweb - mise à jour du 04/10/06

SOMMAIRE... 1 ESPACE DU CLUB...

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Plateforme PAYZEN. Définition de Web-services

Cours 1: Java et les objets

Approche Contract First

1 Recherche en table par balayage

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Création d un service web avec NetBeans 5.5 et SJAS 9

4. Groupement d objets

Définition des Webservices Ordre de paiement par . Version 1.0

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Le langage SQL Rappels

STAGE IREM 0- Premiers pas en Python

INITIATION AU LANGAGE JAVA

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Stockage du fichier dans une table mysql:

ODH. Mon Espace. Manuel d utilisation. MON ESPACE ODH Manuel d utilisation. Une question? Contactez le service client au

TD3: tableaux avancées, première classe et chaînes

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

OpenPaaS Le réseau social d'entreprise

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Projet de Veille Technologique

1. Base de données SQLite

Compte-rendu de projet de Système de gestion de base de données

BTS S.I.O PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

Programmation en Java IUT GEII (MC-II1) 1

1. Introduction Création d'une requête...2

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Programme Compte bancaire (code)

ACTIVITÉ DE PROGRAMMATION

Projet Active Object

Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication

Algorithmique et programmation : les bases (VBA) Corrigé

Arbres binaires de recherche

Service On Line : Gestion des Incidents

TDB-SSI LES EXTENSIONS

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Threads. Threads. USTL routier 1

TP1. Outils Java Eléments de correction

Développement Logiciel

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

1. Installation d'un serveur d'application JBoss:

Transcription:

Projet EvaluationsEleves/Professeurs Ce projet Java comporte les objectifs suivants: 1) Diagramme de classes 2) Développer de l'application en mode console avec un jeu de tests fourni 3) Lecture des notes/eleves/professeurs dans un fichier Excel sauvegardé au format csv 4) De nouveau affichage en mode console 5) Statistiques diverses via JfreeChart 6) Javadoc des classes développées 7) En option: Interface graphique en Swing Cahier des charges (CDC): On cherche à gérer une liste d'élèves avec leurs notes et les professeurs qui les évaluent. Chaque professeur et chaque élève ont comme propriété commune le prénom et le nom. Chaque élève a les propriétés suivantes: o un numéro d identifiant dont l'unicité n'est pas gérée (prochaine version...) o son nom, son prénom o un tableau de 10 évaluations, sa moyenne Pour chaque évaluation, sont indiqués la valeur de la note, l élève corrigé et le professeur correcteur Chaque élève ne peut consulter que l ensemble de ses propres notes ainsi que sa moyenne. L'ensemble des élèves est une promotion et chaque élève connaît sa promotion. Les élèves d'une promotion peuvent être triés par moyenne des notes. Chaque professeur peut effectuer les opérations suivantes: o rechercher un élève dans la promotion à partir de son numéro d identifiant o modifier des notes d'un élève recherché Parmi les classes à développer figurent entre autres les classes: Eleve, Professeur, Evaluation, Promotion. 1

Ces classes sont rangées dans un package noteselevesprofesseurs et d'autres packages si besoin est. Question 1: CDC: Chaque professeur et chaque élève ont comme propriétés communes le prénom et le nom. Quel concept de la programmation objet est approprié à ce point du CDC? Ecrire le code nécessaire correspondant à ce concept? Question 2: classes Professeur et Eleve CDC: Chaque professeur et chaque élève ont comme attributs communs le prénom et le nom. Définir les classes Professeur et Eleve en tenant compte de vos réponses à la question 1. Définir les accesseurs en lecture pour le nom et le prénom Rédéfinir la méthode tostring telle qu'elle retourne par exemple: (Soleil, Tournesol) pour le professeur de prénom Soleil et de nom Tournesol. (Jean, Duval) pour l'élève de prénom Jean et de nom Duval Question 3: classe Evaluation CDC: Pour chaque évaluation, sont indiqués la valeur flottante de la note, l élève corrigé et le professeur correcteur. Coder la classe Evaluation définissant: les 3attributs ci-dessus un constructeur à 3 paramètres La classe Evaluation redéfinit la méthode tostring telle qu'elle retourne par exemple: ((Soleil, Tournesol),(Jean, Duval) 12.0) Ecrire le code de cette méthode. Question 4: classe Elève (suite) CDC: Chaque élève a les attributs suivants: o un numéro d identifiant o son nom, son prénom 2

o un tableau de 10 évaluations, sa moyenne indication: l'identifiant est une constante entière. Coder la classe Eleve définissant: une constante de classe NB_EVALUATIONS de type entier et valant 10 un constructeur public à 3 paramètres permettant de donner un nom, un prénom et un identifiant à un élève. un accesseur en lecture pour l'identifiant une méthode moyenne calculant et retournant la moyenne des notes de l élève référencé par l'instance courante. Si l'élève n'a aucune note, l exception IllegalStateException est lancée. la méthode getcorrecteurs permettant de ranger dans une instance de la classe HashSet, l'ensemble des correcteurs ayant évalué un élève. Elle retourne cette collection. La signature est : public Set<Prof> getcorrecteurs(); rappel: HashSet est une classe implémentant l'interface Set, disponible dans le package java.util. Méthode d'ajout de l'interface Set, où E désigne un type générique: boolean add(e e) Adds the specified element to this set if it is not already present (optional operation). More formally, adds the specified element e to this set if the set contains no element e2 such that (e==null?e2==null:e.equals(e2)). If this set already contains the element, the call leaves the set unchanged and returns false. In combination with the restriction on constructors, this ensures that sets never contain duplicate elements. La classe HashSet rédéfinit une méthode tostring de telle sorte qu'une collection de professeurs sera affichée de la manière suivante: [(Max, La Menace), (Soleil, Tournesol)] La classe Eleve redéfinit la méthode tostring telle qu'elle retourne par exemple: (Jean, Duval) id: 1 notes: 12.0 6.0 15.0 moyenne = 11.0 correcteur(s): [(Max, La Menace), (Soleil, Tournesol)] Ecrire le code de cette méthode. 3

Question 5: classe Promotion Projet JAVA IR1 2012 CDC: L'ensemble des élèves est une promotion. Coder la classe Promotion définissant entre autres: un attribut nom de type String un attribut eleves de type List générique. Une promotion contient ainsi une collection d'élèves. Un constructeur à un paramètre des accesseurs en lecture et en éciture pour le nom de la promotion un accesseur en lecture geteleves. Justifier sa signature en commentaires. une méthode rechercher qui recherche un élève dans la collection des élèves selon son identifiant passé en paramètre. Si l élève recherché est trouvé, cette méthode retourne l élève trouvé, sinon retourne un référence nulle. Question 6: classe Eleve (suite) CDC: L'ensemble des élèves est une promotion et chaque élève connaît sa promotion. Compléter les classes Promotion et Eleve en cons équence. Notamment la méthode tostring de la classe Eleve doit afficher le nom de la promotion d'un élève. Question 7: classe Professeur (suite) CDC: Chaque professeur peut effectuer les opérations suivantes: o rechercher un élève dans une promotion à partir de son numéro d identifiant Ecrire une méthode rechercher qui recherche un élève dans une promotion donnée selon son identifiant passé en paramètre. Si l élève recherché est trouvé, cette méthode retourne l élève trouvé, sinon retourne un référence nulle. Question 8: classe Professeur (suite) CDC: Chaque professeur peut effectuer les opérations suivantes:. o modifier des notes d'un élève recherché 4

Ecrire une méthode setnote qui modifie la ième note du tableau de notes d un élève: La promotion, l'identifiant de l'élève, la valeur de la note et l'indice i sont passés en paramètres de cette méthode. A partir du numéro d identifiant de l élève, cette méthode recherche cet élève et modifie si possible une note. Si l élève recherché n existe pas, l exception IllegalStateException est lancée. Si l élève existe, la note d indice i du tableau notes de l élève corrigé est modifiée: si cette note d indice i est vide alors elle est créé sinon sa valeur est modifiée avec la valeur passée en paramètre. Le professeur correcteur est le professeur référencé par l'instance courante. Question 9 : classes Eleve et Promotion (suite) CDC: Les élèves d'une promotion peuvent être triés par moyenne des notes. Les élèves sont comparer par ordre croissant puis décroissant selon leur moyenne. Comment faut-il compléter la classe Eleve? Ecrire le code nécessaire. Dans la classe Promotion, coder les méthodes qui trient les élèves de la promotion par ordre croissant puis décroissant de moyenne. Question 10 : classe Main Ecrire une classe Main contenant une fonction main de manière à: Créer 4 élèves et 2 professeurs Ranger les élèves dans leur promotion Mettre des notes aux élèves Afficher tous les élèves d'une promotion Afficher un élève avec son nom, sa promotion, ses notes et ses correcteurs. Rechercher un élève par son identifiant et l'afficher Afficher un élève avec son nom et sa moyenne Trier les élèves par ordre croissant puis décroissant de leur moyenne Afficher tous les élèves d'une promotion après les tris 5