Institut Galil´ee Java Distribu´e
M1 Informatique 2014 – 2015
Partiel JD dur´ ee 3h (documents autoris´ es) Gestion de location de voitures
L’objet de ce probl`eme est de cr´eer une application java qui implante quelques services de base d’une gestion de location de voitures.
1. Cr´eer deux classes principalesLocationClientetLocationServeurqui vont agir respectivement comme client et comme serveur. Les communications se feront par socket sur le port 55555. La classeLocationClientservira
`
a tester vos classes et les m´ethodes.
2. Cr´eer une classe Voiture, repr´esentant une voiture, munie du champString identifiant, l’identifiant de la voiture. Cette classe ne contiendra qu’un constructeur et aucune autre m´ethode. Ce constructeur ne sera charg´e que d’enregistrer l’identifiant.
3. Cr´eer une classe Agence, repr´esentant un lieu o`u se trouvent des voitures. Cette classe aura les champs String lieu, pour le lieu de l’agence, et Voiture[] voiturespour la liste des voitures en ce lieu.
4. Cr´eer une classe Distances, repr´esentant les distances entre lieux o`u se trouvent les agences (on consid`erera qu’une distance est un entier). Vous choisirez les champs les plus ad´equats pour cela.
5. Cr´eer une classe Locationqui correspond `a une location de voiture d’un lieu de d´epart pour une certaine date
`
a un lieu d’arriv´ee avec une autre date.
6. Cr´eer une classeSocieteLocation, repr´esentant l’ensemble des agences. Elle aura donc un champAgence[] agences.
7. Le serveurLocationServeursert de maˆıtre pour 15 esclavesLocationEsclaveg´er´es comme un pool de taille fixe.
8. Pr´evoir les op´erations suivantes dans la classe LocationEsclave (et des m´ethodes dans d’autres classes si n´ecessaire) :
— Cr´eation d’une voiture, d’une agence, de distances entre lieux.
— Mise `a jour de la liste de voitures d’une agence.
— Existence de voitures `a une agence donn´ee.
— Location d’une voiture entre une agence et une autre.
— Calcul de la distance pour une location.
— Calcul du nombre de jours pour une location.
— Calcul du nombre moyen de journ´ees de location.
— Calcul de la distance moyenne d’une location.
Pour chacun des cas, on mettra une m´ethode de test dans la classeLocationClient.
9. Ecrire des m´ethodes qui permettent d’exporter et d’importer les locations de voitires. Les donn´ees seront fournies ou g´en´er´ees au format XML. On pr´ecisera le format XML que l’on utilisera.
1