TER – Projet de Génie Logiciel

Réalisation d’un prototype de simulation d’un système de navigation (GPS-Like)


L’objectif de ce projet est de réaliser un prototype capable de guider le conducteur d’un véhicule qui souhaite se rendre d’une ville à une autre et qui peut exprimer des préférences sur le trajet à suivre (le plus court, le plus rapide…). On souhaite guider l’utilisateur durant son trajet, en le conseillant s’il se trompe de chemin. Le système n’est pas équipé d’une antenne GPS, c’est donc l’utilisateur qui indiquera le lieu où il se trouve.

Description du réseau

Le réseau routier est formé d’un ensemble de villes et de routes qui les relie. Chaque ville est caractérisée par son nom, par le fait qu’elle possède ou non des atouts touristiques et par sa taille (grande, moyenne, petite). Chaque route a un classement (elle peut être départementale, nationale, autoroute, chemin de campagne…) et un nom (N7, A6..). Elle est décomposée en tronçons qui relient deux villes : sur chaque tronçon, une route a une vitesse maximum autorisée, on peut savoir si des radars y sont présents. Un tronçon possède également une taille, exprimée en kilomètres et possède ou non des attraits touristiques.

Itinéraire

Lorsque le conducteur fait une demande d’itinéraire, il doit obligatoirement indiquer une ville de départ et une ville d’arrivée. Il peut, en outre, exprimer un certain nombre de préférences :

Toute combinaison de ces préférences doit pouvoir être prise en compte.

Déroulement d’une simulation

Une fois que le conducteur a fait sa demande d’itinéraire, le système lui renvoie le premier trajet possible (à vous de choisir comment sélectionner un trajet parmi plusieurs si plusieurs trajets sont possibles). Ensuite, la simulation débute : le système indique au conducteur la prochaine étape du trajet puis il le questionne pour savoir si cette étape a été atteinte. Deux cas de figure peuvent alors se produire :

La simulation s’arrête lorsque la ville destination est atteinte.

Entrées / Sorties

Les cartes que vous aurez à charger dans votre système auront toutes le même format XML (cf exemple en ANNEXE I). Pour faire simple, il n'y aura que trois types de routes (Autoroute, Nationale et Départementale) et trois tailles de villes ( Petite, Moyenne et Grande).
Il est impératif que votre système soit capable de charger ce format. Les fichiers de cartes pourront avoir plusieurs ordres de grandeur (de quelques kilo-octets à un giga). Votre système ne doit pas être obligatoirement capable de tous les lire et les traiter.

Afin de simplifier le test de votre algorithme de calcul par un agent extérieur, il vous est demandé de concevoir un format XML de requêtes, que votre système sera capable de lire et de traiter. Ce format est spécifique à votre groupe : il doit refléter les options de calcul d'itinéraire que votre interface permet d'obtenir. Ce format doit permettre de spécifier :

Vous devrez donner à votre encadrant une commande système permettant de lancer votre programme sans l'interface graphique.
Exemple : java nom_projet fichier_requete.xml

A chaque exécution de votre(vos) algorithme(s) de Plus Court Chemin, que ce soit en fonctionnement normal ou via un fichier XML de requête, vous devrez générer un fichier qui décrit le meilleur itinéraire, sur le modèle donné en ANNEXE II.

Développement

Le logiciel devra être écrit en JAVA à partir d’une modélisation UML.

On vous demande de réfléchir aux interfaces du système, afin de les rendre les plus agréables et ergonomiques possibles.

Le réseau routier (entrées du logiciel) vous est communiqué sous la forme d’un document XML (extrait en annexe).

Attention : Vous devez être en mesure de réaliser la démonstration finale dans les locaux du PUIO (sans installation spécifique de la part de l’équipe système).

Planning et détails des rendus

Dès le début du projet, vous devez former des groupes de 2 ou 3 personnes, désigner un chef de projet, un responsable des archives et prévoir un planning précis des rendus (et vous y tenir !).

Trois rendus sont attendus, destinés à trois commanditaires : Votre encadrant, votre client (l'entreprise qui va commercialiser votre produit) et les utilisateurs finaux de votre système (les conducteurs). Vous trouverez  ICI  des conseils de rédaction et de présentation, qui devront être suivis.

  1. Analyse UML, destinée à l'encadrant

On ne vous demande pas d’être exhaustifs pour les deux derniers diagrammes mais de choisir des cas d’utilisation et des diagrammes de séquence pertinents pour le logiciel.

  1. Conception

  1. Rendu final


Annexe I : Fichier XML pris en entrée (exemple à télécharger)

Annexe II : Fichier XML requis en sortie (exemple à télécharger)

Annexe III : Exemples de cartes. Le titre indique le nombre de villes (v), de tronçons (t), de routes (r), et si le graphe est complet.

Sujet de Sarah Cohen-Boulakia repris par Mathieu Nancel - 2009/2010
nancel@lri.fr