User Tools

Site Tools


2014_2015:s3:concprogobjet:td:td5

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
2014_2015:s3:concprogobjet:td:td5 [2014/10/07 22:39]
blay created
2014_2015:s3:concprogobjet:td:td5 [2015/03/02 16:34]
blay [Questions]
Line 1: Line 1:
 +====== 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 :
 +<​code>​
 +        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:]]
 +</​code>​
 +
 +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. ​
 +   - 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 !
 +
 +
 +
 +
 +<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%|Rendu en fonction du groupe de TD Pour le Groupe 2 le 30/11 à 23h59 (Pour S3D: pas de rendu, notation en TD) > 
 +  * 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. ​
 +</​box>​
 +
 +
 +
 +<​html>​
 +<!--
  
 ====== Polymorphisme ====== ====== Polymorphisme ======
Line 75: Line 153:
 Nous n'​aborderons,​ hélas, pas les aspects distribués. Nous n'​aborderons,​ hélas, pas les aspects distribués.
  
 +!--> 
 +</​html>​
2014_2015/s3/concprogobjet/td/td5.txt · Last modified: 2015/03/02 18:38 by blay