Vous êtes sur la page 1sur 3

Programmation orienté objet : java

Contrôle TP
A RENDRE LE LUNDI 01.01.2018

Application de réservation de salles à l’ENSAJ


L’ENSAJ désire informatiser la réservation de ses salles. Deux types de salles sont possibles:
des salles de cours et des salles de réunion. Une salle de cours est caractérisée par un numéro,
une capacité, un type (amphi ou salle) et un numéro de l’étage. Alors qu’une salle de réunion
est caractérisée par un numéro, un numéro de l’étage et la présence ou pas d'un vidéo-
projecteur. Chaque réservation est caractérisée par un numéro de réservation, la date, le
créneau de réservation, le nom de la personne qui a fait la réservation et la salle demandé.

A. Définissez les classes nécessaires pour la mise en place d’une telle application. Dans
chacune de ces classes définissez :
 le constructeur qui prend autant arguments qu’il y a de variables d’instance
dans les objets et qui se limite à initialiser ces dernières avec les valeurs des
arguments,
 une méthode public String toString() produisant une description sous forme
de chaîne de caractères des objets,
 des « accesseurs » et « modificateurs » pour accéder/modifier les variables
d’instance.
B. Soit une classe GestionReservation qui comprend comme attribut au minimum deux
listes: liste de salles et liste de réservations. Le service de réservation est géré par trois
opérations (méthodes):
 reserver qui consiste à réserver soit une salle de cours soit une salle de réunion
durant une période. Cette opération renvoie un entier qui correspond au
numéro de réservation (auto-incrémenté) si celle-ci peut être effectuée, ou à -1
sinon.

1
 annuler : à partir d'un numéro de réservation (entier), cette opération annule la
réservation correspondante. Cette opération ne retourne rien. Si le numéro de
réservation n'est pas valide, cette opération ne fait rien.
 lister : à partir d'un numéro de réservation (entier), cette opération retourne
une chaîne de caractère qui fournit les caractéristiques de la réservation
correspondante (la salle, la période de réservation et le nom de la personne qui
l’a réservé). Si le numéro de réservation n'est pas valide, cette opération ne fait
rien.
C. Pour rendre votre application un peu plus réaliste il va falloir y intégrer une interface
graphique. L’interface graphique de l’application va principalement inclure un tableau
pour l’affichage de la liste des réservations avec 2 buttons (Ajouter Réservation et
Annuler Réservation):

1. Vous allez dans un premier temps créer une classe SalleReservation qui étend la
classe JFrame (package java.swing) pour la fenêtre principale de l'application.
Dans cette fenêtre placer les composants adéquats :
 JLabel;
 JButton;
 JTable ;
2. Ajouter l’événement de type ActionListener aux différents boutons au moyen de la
méthode addActionListener() ; Cet ActionListener possède une méthode
actionPerformed qui sera automatiquement appelée chaque fois que l'on cliquera
sur un bouton.

3. Après le lancement de l’application il sera nécessaire de se connecté en utilisant un


login et un mot de passe afin de pouvoir travailler sur l’application.

Remarque : pour générer rapidement une interface graphique vous pouvez utiliser le
plugin WindowBuilder Pro de google intégré dans les dernières versions
de l’IDE Eclipse. Pour l’utiliser il suffit d’aller dans Menu->File->New-
>Other->WindowBuilder->Swing Designer.

2
Consignes

PACKAGING
Organisez votre projet sous forme de packages. Par exemple, mettez vos classes principales
dans un package appelé model, vos classes représentant les interfaces graphiques dans un
package appelé view, et votre classe principale dans un package appli.

DOCUMENTATION
Documentez vos classes du package Model et leurs méthodes en vous servant de la Javadoc.
Produisez celle-ci dans un répertoire Doc.

DELIVRABLES ET DATE DE SOUMISSION


 Le travail doit être effectué en binôme.

 Le travail est à rendre au plus tard le lundi 01 janvier 2018 à l’adresse mail :
tp.poo.ensaj@gmail.com

 Vous devez rendre un répertoire qui porte le nom MiniProjetJAVA_nom1_nom2 qui


contient :

 Tous les fichiers sources Java des classes développées sous forme d’un projet Eclipse
(Veuillez re-consulter la section 4 du TP2 pour plus de détails sur comment exporter
un projet).
 La documentation HTML produite par Javadoc.

Tout projet rendu après le délai sans justificatif NE SERA PAS ACCEPTE !

ATTENTION: TOUT CAS DE TRICHERIE (VOL OU COPIE DE SOURCES


D’UNE AUTRE PERSONNE) SERA SEVEREMENT SANCTIONNE !!

Vous aimerez peut-être aussi