User Tools

Site Tools


2014_2015:s3:concprogobjet:td:td5

This is an old revision of the document!


Réutilisation

Nous voulons gérer un réseau routier. Un réseau Routier est composée 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.

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 :

  1. [dist.=34, paths=[AR[A8-13:[ Nice:]→[ Cagnes:]], AR[A8-7:[Cagnes:]→[ Villeneuve:]], AR[N7-14:[ Villeneuve:]→[ Sophia:]]]]
  2. [dist.=43, paths=[AR[A8-13:[ Nice:]→[ Cagnes:]], AR[A8-7:[ Cagnes:]→[ Villeneuve:]], AR[A8-23:[ Villeneuve:]→[ Sophia:]]]]

de Sophia a Nice :

  1. [dist.=34, paths=[AR[N7-14:[ Sophia:]→[ Villeneuve:]], AR[A8-7:[ Villeneuve:]→[ Cagnes:]], AR[A8-13:[ Cagnes:]→[ Nice:]]]]
  2. [dist.=43, paths=[AR[A8-23:[ Sophia:]→[ Villeneuve:]], AR[A8-7:[ Villeneuve:]→[ Cagnes:]], AR[A8-13:[ Cagnes:]→[ Nice:]]]]

de Sophia a villeneuve :

  1. [dist.=14, paths=[AR[N7-14:[ Sophia:]→[ Villeneuve:]]]]
  2. [dist.=23, paths=[AR[A8-23:[ Sophia:]→[ Villeneuve:]]]]

de Sophia a Cagnes :

  1. [dist.=21, paths=[AR[N7-14:[ Sophia:]→[ Villeneuve:]], AR[A8-7:[ Villeneuve:]→[ Cagnes:]]]]
  2. [dist.=30, paths=[AR[A8-23:[ Sophia:]→[ Villeneuve:]], AR[A8-7:[ Villeneuve:]→[ Cagnes:]]]]

Pour cela on vous donne les classes suivantes :

  1. Le package grapheX duquel ont été extraits les classes utiles à notre problème; ce package a été récupéré sur le web à l'“X”
  2. Le package 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:

Questions

  1. 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 avec ces informations.
  2. Dessiner le diagramme de séquence qui à partir d'un réseau vous permet d'obtenir tous les chemins entre deux points routes ordonnées sur la distance entre les noeuds.
  3. Ecrivez les tests et les codes correspondants.

2014_2015/s3/concprogobjet/td/td5.1413635009.txt.gz · Last modified: 2014/10/18 14:23 by blay