S2T
- TDs
Eléments de Correction
Eléments de Correction
Dans ce TD nous avons pour objectif de mieux comprendre la relation entre la modélisation et le code, et ceci en utilisant tous les éléments de modélisation.
Point
correspondante. Vous pouvez aussi procéder par reverse engineering (classe Point)Chemin
comme ayant un point de départ, un point d'arrivée et un intitulé.Trajet
est une suite ordonnée de chemins tels que le point de départ d'un chemin est le point d'arrivée du chemin suivant.DEPART
et ARRIVEE
dans le modèle de la classe CHEMIN
Un polygone est composé d'une suite de points.
Polygone
en UML. ToString
.addPoint
qui ajoutera un point à ceux déjà présents. Polygone
en UML. On décide de produire une nouvelle application telle que :
Pouvez-vous étendre votre application pour donner la vitesse moyenne entre deux points donnés d'un parcours?
Evidemment vous commencez par identifier les cas d'utilisation de haut niveau. Mais ensuite vous pouvez travailler comme bon vous semble.
Si vous voulez représenter la gestion du temps (mais vous pouvez vous en passer), voici une approche très simple :
Thread.sleep(10000); //1000 milliseconds is one second.
import java.util.Scanner; ..................... Scanner sc = new Scanner(System.in); int y = sc.nextInt(); boolean encore = sc.nextBoolean();
Attention, votre code ne correspond probablement pas à cela !!
public Parcours creerParcours(Membre m) throws InterruptedException{ System.out.println("Creation de parcours "); ... .... PointDate pCourant = saisirPointDate(); ; Parcours parcours = new Parcours(pCourant); boolean encore = true; while (encore){ pCourant = saisirPointDate(); parcours.addPoint(pCourant); System.out.println("Distance parcourue : " + parcours.distance()); System.out.println("Durée depuis le départ : " + parcours.duree() + " soit :" + parcours.duree()/1000 + " secondes" ); .... System.out.println("On continue ? (true or false)"); encore = sc.nextBoolean(); Thread.sleep(intervalle); //1000 milliseconds is one second. } return parcours; } private PointDate saisirPointDate() { PointDate pCourant; int x; int y; System.out.println(" X "); x = sc.nextInt(); System.out.println(" Y "); y = sc.nextInt(); //obtenir la date courante Date date = new Date(); pCourant = new PointDate(x,y,date); return pCourant; }