This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
2018_2019:s2:td:td_final [2019/02/28 21:07] blay [La classe Journey (30mn)] |
2018_2019:s2:td:td_final [2019/02/28 22:02] blay [Rendu pour ce devoir] |
||
---|---|---|---|
Line 21: | Line 21: | ||
* On veut connaitre la distance que représente un Trajet, c'est la somme des distances entre les points (cf. si besoin [[http://fr.wikipedia.org/wiki/Distance_entre_deux_points_sur_le_plan_cart%C3%A9sien|Calcul de distance]]) | * On veut connaitre la distance que représente un Trajet, c'est la somme des distances entre les points (cf. si besoin [[http://fr.wikipedia.org/wiki/Distance_entre_deux_points_sur_le_plan_cart%C3%A9sien|Calcul de distance]]) | ||
- | - Modéliser le concept de Trajet. | + | - Modéliser le concept de Trajet, y compris les autres concepts dont vous pouvez avoir besoin. |
- Codez-les. | - Codez-les. | ||
Line 54: | Line 54: | ||
* Un membre peut enregistrer son parcours : | * Un membre peut enregistrer son parcours : | ||
- il déclare sur son téléphone qu'il commence à enregistrer un parcours; | - il déclare sur son téléphone qu'il commence à enregistrer un parcours; | ||
- | - toutes les 10 secondes, un nouveau point est automatiquement créé en demandant au GPS du téléphone sa position et l'heure actuelle; le point est ajouté au parcours en cours; Les coordonnées GPS sont des coordonnées sur une sphère et pas des coordonnées cartésiennes, cependant dans le cadre de ce TD, travaillez "simplement" avec des coordonnées cartésiennes; | + | - toutes les 10 secondes, le système crée un nouveau point automatiquement en demandant au GPS du téléphone sa position et l'heure actuelle; le point est ajouté au parcours en cours; Les coordonnées GPS sont des coordonnées sur une sphère et pas des coordonnées cartésiennes, cependant dans le cadre de ce TD, travaillez "simplement" avec des coordonnées cartésiennes; |
- le membre signale la fin du parcours qui est automatiquement enregistré dans sa base de parcours. | - le membre signale la fin du parcours qui est automatiquement enregistré dans sa base de parcours. | ||
* Un membre peut visualiser les parcours passés : par la distance parcourue, la durée, la vitesse moyenne, la date (jour et heure), le type d'entrainement, ... | * Un membre peut visualiser les parcours passés : par la distance parcourue, la durée, la vitesse moyenne, la date (jour et heure), le type d'entrainement, ... | ||
- | * En sélectionnant un parcours, un membre peut visualiser un parcours en utilisant googleMAP. | + | * Un membre peut demander à visualiser un parcours en utilisant googleMAP. |
* Un membre peut savoir quand il était le plus proche d'un point donné lors d'un parcours. | * Un membre peut savoir quand il était le plus proche d'un point donné lors d'un parcours. | ||
- | * Un membre peut savoir où il était à une date particulière, en donnant la position occupée la plus proche de la date. | + | * Un membre peut savoir où il était à une date particulière : le système renvoie la position enregistrée à la date la plus proche. |
* Un membre peut préciser qu'il veut enregistrer un parcours d'entrainement; dans ce cas, avant le départ, il précise le mode d'entrainement. Pour chaque mode, un temps de relevé des points différent est prévu : marche rapide (2mn), course à pied (10s), vélos (5s), foot (10s), ... | * Un membre peut préciser qu'il veut enregistrer un parcours d'entrainement; dans ce cas, avant le départ, il précise le mode d'entrainement. Pour chaque mode, un temps de relevé des points différent est prévu : marche rapide (2mn), course à pied (10s), vélos (5s), foot (10s), ... | ||
* Un membre peut créer son propre mode d'entrainement en précisant les temps de consultation etc. | * Un membre peut créer son propre mode d'entrainement en précisant les temps de consultation etc. | ||
Line 70: | Line 70: | ||
Evidemment vous commencez par identifier les cas d'utilisation de haut niveau. Mais ensuite vous pouvez travailler comme bon vous semble. | Evidemment vous commencez par identifier les cas d'utilisation de haut niveau. Mais ensuite vous pouvez travailler comme bon vous semble. | ||
* Définir le diagramme de cas d'utilisation | * Définir le diagramme de cas d'utilisation | ||
- | * "Prévoyez" les tests correspondant aux scénarii suivants (soit dans l'outil, soit sur papier) : | + | * **Partie 1** : "Prévoyez" les tests correspondant aux scénarii suivants : |
- "Bipbip" s'inscrit en utilisant son compte "Facebook"; | - "Bipbip" s'inscrit en utilisant son compte "Facebook"; | ||
- "Xavier-Bertrand" s'inscrit en saisissant son nom et déclare son compte twitter; | - "Xavier-Bertrand" s'inscrit en saisissant son nom et déclare son compte twitter; | ||
- | - "Bipbip" demande l'enregistrement de son parcours lundi. | + | - "Bipbip" demande l'enregistrement de son parcours "lundi": par exemple : Journey [points=[ [date=Thu Feb 28 21:39:15 CET 2019, Point [x=5, y=5, label=domicile]], [date=Thu Feb 28 21:39:16 CET 2019, Point [x=7, y=7, label=p1]], [date=Thu Feb 28 21:39:17 CET 2019, Point [x=10, y=10, label=p2]],..</code> |
- | - "Bipbip" demande également l'enregistrement de son parcours et précise qu'il s'agit d'un entrainement à la course. | + | - "Bipbip" demande quand il était près d'un point d'un parcours donné : (1) point enregistré pendant le parcours e.g. ( (7,7) -> ''date=Thu Feb 28 21:39:16 CET 2019'') ; (2) point le plus proche quand il était le plus proche d'un point donné lors d'un parcours (e.g. (12,12) -> ''date=Thu Feb 28 21:39:17 CET 2019'') |
+ | -"Bipbip" demande où il était à ''Thu Feb 28 21:39:17 CET 2019'' : le système renvoie (12,12) etc. | ||
+ | * **Partie 2** : "Prévoyez" les tests correspondant aux scénarii suivants, mais, à moins d'être très avancés n'allez pas au code. | ||
+ | - "Bipbip" demande également l'enregistrement de son parcours et précise qu'il s'agit d'un entrainement à la course. | ||
- "Bipbip" demande à voir ses parcours triés par la durée : il a couru lundi pendant 20mn et mercredi 30mn. | - "Bipbip" demande à voir ses parcours triés par la durée : il a couru lundi pendant 20mn et mercredi 30mn. | ||
- | - "Bipbip" demande à voir ses parcours triés par la vitesse moyenne: il a courru lundi à 11km/h et mercredi 10km/h. | + | - "Bipbip" demande à voir ses parcours triés par la vitesse moyenne: il a couru lundi à 11km/h et mercredi 10km/h. |
- "Xavier-Bertrand" déclare un nouveau mode d'entrainement : le Marathon, les relevés ne se font que toutes les minutes. | - "Xavier-Bertrand" déclare un nouveau mode d'entrainement : le Marathon, les relevés ne se font que toutes les minutes. | ||
* Définir le diagramme de classes | * Définir le diagramme de classes | ||
* Définir le diagramme de séquence correspondant à l'enregistrement d'un parcours par un membre, vous pouvez vous aider du diagramme ci-après. | * Définir le diagramme de séquence correspondant à l'enregistrement d'un parcours par un membre, vous pouvez vous aider du diagramme ci-après. | ||
- | * Implémenter ce scénario en vous aidant des codes ci-après. En particulier, comme nous ne disposons pas du GPS dans l'exemple donné ci-après c'est l'utilisateur qui saisit sa position. De même comme vous ne connaissez pas encore la parallèlisation des tâches on demande à chaque relevé de position, s'il faut ou non continuer à enregistrer le parcours. | + | * Implémenter les scénario de la partie 1 en vous aidant des codes ci-après. En particulier, comme nous ne disposons pas du GPS dans l'exemple donné ci-après c'est l'utilisateur qui saisit sa position. De même comme vous ne connaissez pas encore la parallèlisation des tâches on demande à chaque relevé de position, s'il faut ou non continuer à enregistrer le parcours. |
* Pouvez-vous étendre votre application pour donner la vitesse moyenne entre deux points donnés d'un parcours? | * Pouvez-vous étendre votre application pour donner la vitesse moyenne entre deux points donnés d'un parcours? | ||
Line 260: | Line 263: | ||
FIXME | FIXME | ||
- | - Les rendus se font sous [[http://jalon.unice.fr/cours/blay/Cours-blay-20160226085155/BoiteDepot-blay-20190217142915655329?mode_etudiant=true&tab=deposit|jalon]] avant <color red>A déterminer</color> | + | - Les rendus se font sous [[http://jalon.unice.fr/cours/blay/Cours-blay-20160226085155/BoiteDepot-blay-20190217142915655329?mode_etudiant=true&tab=deposit|jalon]] avant <color red>11 mars 9h/color> |
- Le rendu respecte ce qui suit : | - Le rendu respecte ce qui suit : | ||
- il se fait à 2 maximum | - il se fait à 2 maximum |