Vous êtes sur la page 1sur 3

USTHB- Faculté d’Electronique et d’Informatique M odule : POO- java

Dpt d’Informatique Année : 2020/ 2021


Section L2 AcadA

Projet TP de POO

Indications

- Dans la création des classes, respecter le principe dd’encapsulation: déclarer tous les attributs
« private » et prévoir les accesseurs nécessaires.
- Prévoir une méthode toString dans chaque classe pour renvoyer la description textuelle d’un
objet de la classe
- Les affichages à l’écran et les messages doivent être explicites
- Il est demandé d’utiliser un menu pour le choix des options à exécuter.
- Les données de test (ligne, station, tronçon, …) doivent être sensées (données réelles avec des
noms corrects) et peuvent être introduites directement par programme pour le remplissage des
structures.
Enoncé
Dans ce projet, on s’intéresse à la gestion du réseau de transport urbain dans une ville intelligente (smart
city). Dans la ville, sont offerts plusieurs moyens de transport (métro, tramway, bus, train), par ces
moyens de transport plusieurs lignes sont desservies.

Une ligne de transport comporte deux stations spécifiques : station de départ et station d’arrivée, elle est
composée d’un ensemble de tronçons. Une ligne est identifiée par un code unique et est rattachée à un
seul moyen de transport.

Une station est identifiée par un code unique et possède des coordonnées spatiales (longitude, latitude)
sur la carte du réseau.

Un tronçon relie deux stations consécutives, il possède un numéro unique, une station de début, une
station de fin et une longueur (kilométrage).

Partie I : Description des classes

1. Définir la classe MoyTransport qui décrit les moyens de transport à l’aide d’une énumération.
Pour chaque moyen de transport, on précisera l’heure de début, l’heure de fin (dans la
journée) et le nombre de voyageurs moyen dans la journée.

2. Donner l’implémentation de l’entité Ligne, prévoir un constructeur et une méthode d’affichage.


Le numéro de la ligne devra avoir la forme suivante B001, B002, … M001, M002, …T001,
TR001,… Les initiales B, M, T et TR représentent respectivement le type de transport : Bus,
Métro, Tramway et Train. Une ligne possède une station de départ, une station d’arrivée et un
ensemble de stations intermédiaires.

1 S. BOUKHEDOUMA
On pourrait changer la station de départ et/ou d’arrivée, on pourrait ajouter/modifier/supprimer
une station intermédiaire (ce sui impliquera l’ajout/modification/suppression d’un tronçon sur
la ligne).
3. Donner l’implémentation de la classe Station comportant un numéro, un nom, des
coordonnées spatiales et la ligne d’appartenance et un type (principale, secondaire). Deux
stations sont égales si elles ont les mêmes coordonnées spatiales. Elles auront forcément le
même nom.
Une station principale est une station de correspondance où on peut avoir plusieurs moyens de
transport (i.e les voyageurs peuvent descendre dans une station principale pour changer le
moyen de transport)

4. Un tronçon relie deux stations consécutives sur une ligne. Donner l’implémentation de la
classe Tronçon définie par un numéro, une station de début et une station de fin, un
kilométrage (nombre de km sur le tronçon) et l’état du tronçon qui peut être Bon, moyen, ou
dégradé. On doit avoir la possibilité de fusionner deux tronçons consécutifs (dans le cas où on
supprime une station sur une ligne, on aura la fusion de deux tronçons).
L’ajout d’une station sur une ligne donnée, impliquera l’ajout/modification de tronçons sur la
ligne.

Par ailleurs, une application de géo-localisation permet à tout moment d’estimer la durée pour aller
d’une station A à une station B. On simulera une méthode CalculerDurée qui donnera à tout moment la
durée de déplacement sur un tronçon selon le moyen de transport utilisé.

5. Dans chaque ligne, on a un ensemble de navettes (bus, tram, métro, train) qui desservent la
ligne. La navette possède un numéro unique, une marque et une année de mise en circulation.
Donner l’implémentation de la classe Navette en précisant le lien avec la Ligne.

Partie II- Utilisation des classes implémentées

Création des collections d’objets

Ecrire une ou plusieurs méthodes de remplissage permettant de remplir les structures de données
nécessaires (Lignes, Stations, Tronçons, Navettes) en faisant le lien entre les données
Il s’agira de :
- Créer un ensemble (collection) de lignes pour les différents moyens de transport (les
données introduites doivent êtres sensées et correctes)
- Pour chaque ligne, préciser les stations
- Un ensemble de tronçons
- Un ensemble de navettes assurant le transport sur les lignes

Requêtes sur les données (Il faudra utiliser un menu à choix multiples pour l’exécution des
requêtes)

Requêtes de mise à jour


Il faudra prévoir les opérations suivantes :
Modification/ajout/suppression pour chaque entité (Ligne, Station, Tronçon, Navette)

2 S. BOUKHEDOUMA
On devra pouvoir afficher le nouveau contenu des structures après chaque opération de mise à
jour

Requêtes d’interrogation (recherche)


Il s’agit de répondre aux requêtes suivantes (en utilisant un menu) :
- Affichage de toutes les lignes de transport en précisant le moyen de transport, le
numéro de la ligne, la station de départ, la station d’arrivée.
- Affichage du chemin sur une ligne donnée (on affichera sur un axe, les noms de toutes
les stations sur la ligne, on précisera les stations principales s’il ya lieu)
- Chercher toutes les lignes qui passent par une station donnée (on donnera le numéro
de la station)
- Affichage des stations de correspondance (jonction entre deux lignes mixtes ou non)
- La ligne empruntée par le plus grand nombre de voyageurs (ou par le minimum de
voyageurs)
- La durée estimée pour aller d’un point A à un point B, en précisant le moyen de
transport
- Construction de chemin pour aller d’un point A à un point B (durée, les différentes
stations de passage et les correspondances) en donnant en paramètre les coordonnées
de géo-localisation d’un citoyen (pour chercher la station la plus proche du citoyen)
- Rechercher le chemin optimal en durée pour aller d’un point A vers un point B

Que doit-on doit modifier dans la conception des classes si l’on doit considérer qu’il existe des lignes
permanentes (c’est à dire des lignes en service même les jours de week-end et les jours fériés) en
précisant les horaires de service pour ces jours spécifiques ? Ces horaires peuvent changer dans l’année.

Remise des travaux

A travailler en binôme ou en monôme (le cas échéant) et à envoyer le 17- 06 - 2021 à


l’adressesection2a@gmail.com, en précisant les noms des étudiants et dans l’objet
« ProjetTP-POO-noms des étudiants»

- Il faudra envoyer aussi, dans un fichier pdf


- la description des classes implémentées (attributs et les signatures des méthodes) et les liens
entre les classes
- des captures d’écran de l’exécution des différentes requêtes (sélectionner quelques requêtes
seulement)

3 S. BOUKHEDOUMA

Vous aimerez peut-être aussi