====== Réutilisation ======
Nous voulons gérer un réseau routier.
Un ''réseau Routier'' est composé de ''PointRoute'' et d'''Arcs Routiers''.
On veut savoir pour un réseau routier les chemins possibles entre deux points routes.
La modélisation initiale imaginée est celle du diagramme ci-dessous.
{{ :2014_2015:s3:concprogobjet:td:reseauroutier.jpg?direct&300 |}}
Voici le jeu de données à utiliser :
AR[A8-23:[ Villeneuve:]->[ Sophia:]]
AR[N7-14:[ Villeneuve:]->[ Sophia:]]
AR[A8-7:[ Villeneuve:]->[ Cagnes:]]
AR[N7-14:[ Sophia:]->[ Villeneuve:]]
AR[A8-23:[ Sophia:]->[ Villeneuve:]]
AR[A8-7:[ Cagnes:]->[ Villeneuve:]]
AR[A8-13:[ Cagnes:]->[ Nice:]]
AR[A8-13:[ Nice:]->[ Cagnes:]]
Voici des exemples de chemins :
**de Nice a Sophia :**
- [dist.=34, paths=[AR[A8-13:[ Nice:]->[ Cagnes:]], AR[A8-7:[Cagnes:]->[ Villeneuve:]], AR[N7-14:[ Villeneuve:]->[ Sophia:]]]]
- [dist.=43, paths=[AR[A8-13:[ Nice:]->[ Cagnes:]], AR[A8-7:[ Cagnes:]->[ Villeneuve:]], AR[A8-23:[ Villeneuve:]->[ Sophia:]]]]
**de Sophia a Nice :**
- [dist.=34, paths=[AR[N7-14:[ Sophia:]->[ Villeneuve:]], AR[A8-7:[ Villeneuve:]->[ Cagnes:]], AR[A8-13:[ Cagnes:]->[ Nice:]]]]
- [dist.=43, paths=[AR[A8-23:[ Sophia:]->[ Villeneuve:]], AR[A8-7:[ Villeneuve:]->[ Cagnes:]], AR[A8-13:[ Cagnes:]->[ Nice:]]]]
**de Sophia a villeneuve :**
- [dist.=14, paths=[AR[N7-14:[ Sophia:]->[ Villeneuve:]]]]
- [dist.=23, paths=[AR[A8-23:[ Sophia:]->[ Villeneuve:]]]]
**de Sophia a Cagnes :**
- [dist.=21, paths=[AR[N7-14:[ Sophia:]->[ Villeneuve:]], AR[A8-7:[ Villeneuve:]->[ Cagnes:]]]]
- [dist.=30, paths=[AR[A8-23:[ Sophia:]->[ Villeneuve:]], AR[A8-7:[ Villeneuve:]->[ Cagnes:]]]]
Pour cela on vous donne les classes suivantes :
- Le package {{ :2014_2015:s3:concprogobjet:td:graphex.zip?direct&300 |grapheX}} duquel ont été extraits les classes utiles à notre problème; ce package a été récupéré sur le web à l'"X"
- Le package {{:2014_2015:s3:concprogobjet:td:parcours.zip|parcours}} a été créé pour vous simplifier la tâche et vous permettre de gérer des graphes comportant des sommets reliés par plusieurs arcs.
Les 2 diagrammes suivants ont été obtenus par reverse Engineering:
{{ :2014_2015:s3:concprogobjet:td:graphex.jpg?direct&300 |}}
{{ :2014_2015:s3:concprogobjet:td:parcours.jpg?direct&300 |}}
===== Questions =====
- Imaginer comment vous pourriez définir un réseau routier comme un graphe : quels sont les sommets? quels sont les arcs? etc. Compléter/Modifier le diagramme de classe donné au début pour réseau routier avec ces informations. Faire cet exercice sur papier.
- Dessiner le diagramme de séquence qui, à partir d'un réseau, vous permet d'obtenir tous les chemins entre deux points routes ordonnés sur la distance entre les noeuds. Faire cet exercice sur papier.
- Ecrivez les tests et les codes correspondants. Vous avez comme hypothèse qu'il n'existe pas deux arcs différents entre deux même points qui ont exactement la même distance.
- Nous voulons prendre en compte dans notre modélisation, les faits suivants, que devons-nous modifier?
- un point route est en ville ou à la campagne,
- un point route est déterminé par une coordonnée GPS
- Nous voulons calculer les distances entre deux points routes à partir des coordonnées GPS pour associer une distance à un arcRoutier, que devez-vous faire?
- Nous voulons à présent utiliser cette modélisation pour obtenir les chemins les plus courts, les chemins qui ne passent pas par l'autoroute, .... A vous !
* Mettez un mail à votre encadreur avec soit l'adresse où récupérer le TD soit le TD lui-même
* Dans votre répertoire de projet, sous TD6, se trouvent (s'il y a des doutes sur le répertoire de livraison, mettez un mail à votre encadreur) :
- Un document contenant
* votre modèle final (Tout le monde n'aboutit pas au même modèle, c'est certain) (merci de l'intégrer dans un document pour que nous n'ayons pas à ouvrir différents modèles dans différentes versions de l'outil).
* des explications sur les raisons de ce modèle (dont vous êtes très fiers) et les leçons apprises.
- Les codes et les tests.