User Tools

Site Tools


2016_2017:s3:methodo:td:etudedecas

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
2016_2017:s3:methodo:td:etudedecas [2016/08/31 13:37]
blay [Principes]
2016_2017:s3:methodo:td:etudedecas [2016/09/08 22:44] (current)
blay [Principes]
Line 1: Line 1:
 +~~ODT~~
 ====== IUT GO ! ====== ====== IUT GO ! ======
  
Line 6: Line 7:
 ===== Principes ===== ===== Principes =====
  
-Chaque groupe travaille en équipes de 3 à 4 étudiants dirigées par un chef de projet ​qui n'​appartient à aucune équipe+Chaque groupe travaille en équipes de 3 à 4 étudiants dirigées par un chef de projet ​transverse aux équipes
 Le chef de projet a pour rôle d'​identifier les points communs entre les équipes, d'​aider les équipes à trouver des solutions ​ et de préparer le travail d'​intégration. Le chef de projet a pour rôle d'​identifier les points communs entre les équipes, d'​aider les équipes à trouver des solutions ​ et de préparer le travail d'​intégration.
  
Line 12: Line 13:
  
 Des codes vous seront donnés, vous devez les utiliser pour vous aider à vous intégrer au mieux :  Des codes vous seront donnés, vous devez les utiliser pour vous aider à vous intégrer au mieux : 
-    * les codes relatifs à [[https://​www.openstreetmap.org/​about|OpenStreetMap]] : ce module vous permettra de visualiser les éléments intéressants sur une carte. ​+    * les codes relatifs à [[https://​www.openstreetmap.org/​about|OpenStreetMap]] : ce module vous permettra de visualiser les éléments intéressants sur une carte. ​Les codes à utiliser (ils ont été enrichis pour vous faciliter les tâches) sont [[https://​bitbucket.org/​cyrilcecchinel/​openstreetmap_iut|ici]] (Pour charger sous IntelliJ un projet qui se trouve sous GIT, voir [[https://​mbf-iut.i3s.unice.fr/​doku.php?​id=intellij#​recuperer_un_projet_git|ici]] avec l'​adresse git : https://​bitbucket.org/​cyrilcecchinel/​openstreetmap_iut. Puis exécutez le main qui se trouve dans la classe Demo sous java. 
 /* http://​wiki.openstreetmap.org/​wiki/​Main_Page /* http://​wiki.openstreetmap.org/​wiki/​Main_Page
 */ */
-    * le module "​[[http://​sparks-vm26.i3s.unice.fr/​repository/​iut-public/​|Member]]"​ (correspondant ​ au cas d'​étude "Qui est-ce?"​ ci-dessous) qui vous donne des briques de base pour vous aider à développer vos propres modules intégrant du JSON, des tests unitaires, MAVEN ...+    * le module "​[[http://​sparks-vm26.i3s.unice.fr/​repository/​iut-public/​|Member]]"​ (correspondant ​ au cas d'​étude "Qui est-ce?"​ ci-dessous) qui vous donne des briques de base pour vous aider à développer vos propres modules intégrant du JSON, des tests unitaires, MAVEN. Le code source et les tests associés à ce module sont disponibles [[https://​bitbucket.org/​cyrilcecchinel/​member_service_iut|ici]] ​...
  
  
 Vos codes doivent : Vos codes doivent :
-  - être réalisés en utilisant ​une dépôt GIT (Vous serez individuellement évalués sur vos commit);+  - être réalisés en utilisant ​un dépôt GIT (Vous serez individuellement évalués sur vos commit);
   - correspondre à des modules Maven;   - correspondre à des modules Maven;
   - respecter les règles de séparation de préoccupations et la qualité de vos codes est un critère d'​évaluation.   - respecter les règles de séparation de préoccupations et la qualité de vos codes est un critère d'​évaluation.
 Chaque module est fourni avec :  Chaque module est fourni avec : 
   - des tests unitaires;   - des tests unitaires;
-  - une classe de test dédiée ​que l'on appelle //​voir// ​et qui prend une forme différente en fonction des modules.+  - une classe de test dédiée et qui prend une forme différente en fonction des modules.
  
 Les fonctionnalités attendues présentent à la fois de la **valeur** par rapport à notre application cible et une **complexité** de développement. Pour vous aider, des indices vous sont données à titre indicatif, ils peuvent être modifiés lors de l'​avancement du projet. Les fonctionnalités attendues présentent à la fois de la **valeur** par rapport à notre application cible et une **complexité** de développement. Pour vous aider, des indices vous sont données à titre indicatif, ils peuvent être modifiés lors de l'​avancement du projet.
Line 30: Line 32:
  
 **Valeurs :**  **Valeurs :** 
-   * ++ signifie très forte valeur : ne pas l'​avoir fait perdre 4pts +   * ++ signifie très forte valeur : ne pas l'​avoir fait **perdre 4pts** 
-   * +  signifie utile :  ne pas l'​avoir fait perdre 2 pts+   * +  signifie utile :  ne pas l'​avoir fait **perdre 2 pts**
    * =  signifie tant pis si on ne l'a pas    * =  signifie tant pis si on ne l'a pas
  
 **Complexité :**  **Complexité :** 
-   * $$ fonctionnalité difficile : + 4 pts +   * $$ fonctionnalité difficile : **+ 4 pts** 
-   * $ fonctionnalité normale : + 2 pts +   * $ fonctionnalité normale : **+ 2 pts** 
-   * - fonctionnalité facile : 1 pt +   * - fonctionnalité facile : **+ 1 pt**
    
 Au travers des "​Histoires utilisateurs (User Stories/​US)",​ vous devrez préciser les fonctionnalités en gérant les cas particuliers (e.g. personne non enregistrée,​ erreurs de coordonnées). De même les problèmes de propriétés non fonctionnelles comme le nombre d'​enregistrements,​ les temps d'​affichage doivent être exprimés sous forme de contraintes et limites. Evidemment une fonctionnalité mal construite ne vous permet d'​avoir tous les points et peut vous en faire perdre. Au travers des "​Histoires utilisateurs (User Stories/​US)",​ vous devrez préciser les fonctionnalités en gérant les cas particuliers (e.g. personne non enregistrée,​ erreurs de coordonnées). De même les problèmes de propriétés non fonctionnelles comme le nombre d'​enregistrements,​ les temps d'​affichage doivent être exprimés sous forme de contraintes et limites. Evidemment une fonctionnalité mal construite ne vous permet d'​avoir tous les points et peut vous en faire perdre.
Line 52: Line 54:
 ==== Qui est-ce ? ==== ==== Qui est-ce ? ====
  
-Module qui vous est donné et qui a pour objectif d'identifier de manière unique les membres du réseau. +Objectif :  ​identifier de manière unique les membres du réseau. 
-  - Il permet d'​enregistrer des membres ​:Nom de la personne, prénom, (identifiant)+  - Enregistrer un membre ​:Nom de la personne, prénom, (identifiant)
   - Récupérer un membre à partir de son identifiant   - Récupérer un membre à partir de son identifiant
-  - Enregistrer les membres dans un fichier ​ou lire un fichier contenant des membres+  - Enregistrer les membres dans un fichier 
 +  - Lire un fichier contenant des membres
  
-Ce module vous est donné ​et est modifiable par un seul sous-groupeTous les sous-groupes peuvent y faire référence en fonction de leur besoin.+Ce module vous est donné: http://​sparks-vm26.i3s.unice.fr/​repository/​iut-public/​
  
  
 ==== 1 ) Marauder'​s trace ==== ==== 1 ) Marauder'​s trace ====
-L'​objectif est de permettre de tracer les déplacements des PokeStud.+Objectif : tracer les déplacements des PokeStud.
  
   - (++, $) Enregistrer la position de X : Jour, Heure, positionGPS; ​   - (++, $) Enregistrer la position de X : Jour, Heure, positionGPS; ​
Line 85: Line 88:
 Objectif : Prendre en compte l'​individualité de chacun Objectif : Prendre en compte l'​individualité de chacun
  
-    - (++, - ) enregistrer ​la formation suivie par X : (Info1, Infocom2, ....)+    - (++, - ) Enregistrer ​la formation suivie par X : (Info1, Infocom2, ....)
     - (+, - ) Quelle est la formation suivie par X ?     - (+, - ) Quelle est la formation suivie par X ?
-    - (=, - )  ​qui est inscrit avec telle formation ? +    - (=, - )  ​Qui est inscrit avec telle formation ? 
-    - (+, - )  ​enregistrer ​l'​humeur de X : happy, sad, ... +    - (+, - )  ​Enregistrer ​l'​humeur de X : happy, sad, ... 
-    - (=, - )  ​quelle ​est l'​humeur de  X ? +    - (=, - )  ​Quelle ​est l'​humeur de  X ? 
-    - (+, - ) enregistrer ​le petit nom de X +    - (+, - ) Enregistrer ​le surnom ​de X 
-    - (=, - ) quel est le petit nom de  X ? +    - (=, - ) Quel est le surnom ​de  X ? 
-    - (++, - ) enregistrer ​l'​adresse (coordonnées GPS) de X +    - (++, - ) Enregistrer ​l'​adresse (coordonnées GPS) de X. 
-    - (+, - ) quelle ​est l'​adresse de  X ? +    - (+, - ) Quelle ​est l'​adresse de  X ? 
-    - (++, $$ ) qui habitent à une distance inférieure à Y de X ? +    - (++, $$ ) Qui habitent à une distance inférieure à Y km de X ? 
-    - (=, $$ ) qui habite le plus près de X ?+    - (=, $$ ) Qui habite le plus près de X ?
     - (=, $ ) A quelle distance X habite de Y ?     - (=, $ ) A quelle distance X habite de Y ?
  
Line 108: Line 111:
 ==== 3) Linked In my world ==== ==== 3) Linked In my world ====
  
-Objectif : Enregistrer et retrouver des liens entre des personnes : ami, collegue, famille, .... +Objectif : Enregistrer et retrouver des liens entre des personnes : ami, collègue, famille, .... 
-    - (++, - ) enregistrer ​un lien entre X et Y en précisant son type +    - (++, - ) Enregistrer ​un lien entre X et Y en précisant son type 
-    - (++, $ ) quels sont les liens directs entre X et Y ?+    - (++, $ ) Quels sont les liens directs entre X et Y ?
     - (+, - ) Existe-il un lien de type Z entre X et Y ?      - (+, - ) Existe-il un lien de type Z entre X et Y ? 
-    - (+, $ ) Existe-il une relation entre X et Z (il suffit qu'il existe des relations entre XW et W Z) ? +    - (+, $ ) Existe-il une relation entre X et Z (il suffit qu'il existe des relations entre X et W et entre et Z) ? 
-    - (-, $$ ) Quelle est la relation entre X et Z (parenté avec W et ami entre W et Z) ....  +    - (-, $$ ) Quelle est la relation entre X et Z (e.g. parenté avec W et ami entre W et Z) 
-    - (-, $ ) Existe-il une relation de parenté entre X et Z (parenté avec W et parenté entre W et Z)  +    - (-, $ ) Existe-il une relation de parenté entre X et Z (e.g. parenté avec W et parenté entre W et Z)  
-    - (+, $$ ) Quel est le chemin le plus court entre X et Z ? (parenté avec W et parenté entre W et Z) +    - (+, $$ ) Quel est le chemin le plus court entre X et Z ? (e.g. parenté avec W et parenté entre W et Z) 
     - (- , $$) Permettre d'​ajouter un type de relation par exemple //conflit//     - (- , $$) Permettre d'​ajouter un type de relation par exemple //conflit//
  
Line 127: Line 130:
  
 ==== 4) Tchatche'​Car ​ ==== ==== 4) Tchatche'​Car ​ ====
 +Objectif : Faciliter le co-voiturage.
   - (++, $ ) Enregistrer un voyage : conducteur X, Depart (GPS), Arrivee (GPS), NombreDePassagers possibles, Jour et heure de départ   - (++, $ ) Enregistrer un voyage : conducteur X, Depart (GPS), Arrivee (GPS), NombreDePassagers possibles, Jour et heure de départ
   - (+,  $ ) Obtenir des informations sur un voyage : conducteur X, Depart (GPS), Arrivee (GPS), NombreDePassagers possibles, Date de départ, nombre de passagers enregistrés   - (+,  $ ) Obtenir des informations sur un voyage : conducteur X, Depart (GPS), Arrivee (GPS), NombreDePassagers possibles, Date de départ, nombre de passagers enregistrés
Line 132: Line 136:
   - (++, - ) Quels voyages sont prévus au départ de D ?   - (++, - ) Quels voyages sont prévus au départ de D ?
   - (+, - ) Quels voyages sont prévus avec une arrivée en A ?   - (+, - ) Quels voyages sont prévus avec une arrivée en A ?
-  - (+, $ ) Enregistrer un passager sur un voyage donné+  - (+, $ ) Enregistrer un passager sur un voyage donné.
   - (+, $ ) Quels sont les passagers sur un voyage donné ?   - (+, $ ) Quels sont les passagers sur un voyage donné ?
   - (=, - ) Quels sont les voyages faits par X ?   - (=, - ) Quels sont les voyages faits par X ?
   - (=, - ) Quels sont les voyages faits par X en tant que conducteur ?   - (=, - ) Quels sont les voyages faits par X en tant que conducteur ?
   - (=, $ ) Quels sont les voyages faits par X en tant que passager ?   - (=, $ ) Quels sont les voyages faits par X en tant que passager ?
-  - (=, $) Enregistrer les voyages +  - (=, $) Enregistrer les voyages ​dans un fichier. 
-  - (=, -) Charger les voyages non encore réalisés+  - (=, -) Charger les voyages non encore réalisés ​qui se trouvent dans un fichier.
  
 (++,-) voir : Console (++,-) voir : Console
Line 147: Line 151:
    * vous avez un potentiel de 6*1 + 7*2  = 20 points; ​    * vous avez un potentiel de 6*1 + 7*2  = 20 points; ​
 ==== 5) Place Advisor ==== ==== 5) Place Advisor ====
- +Objectif : Favoriser l'​organisation de voyages 
-  - (++, -) Enregistrer un point d'​intérêt : nom, description,​ coordonnées +  - (++, -) Enregistrer un point d'​intérêt : nom, description,​ coordonnées ​GPS 
-  - (++, -/$) incrémenter ​ou décrémenter un coefficient d'​intérêt associé à un point d'​intérêt (j'​aime,​ je n'aime pas)+  - (++, -/$) Incrémenter ​ou décrémenter un coefficient d'​intérêt associé à un point d'​intérêt (j'​aime,​ je n'aime pas)
   - (=, -) Obtenir le coefficient d'​intérêt associé à un point d'​intérêt   - (=, -) Obtenir le coefficient d'​intérêt associé à un point d'​intérêt
-  - (+, -) associer ​un coût de nuité à un point d'​intérêt +  - (+, -) Associer ​un coût de nuité à un point d'​intérêt 
-  - (+, $) calculer ​le coût d'un itinéraire (somme des coûts des points d'​intérêts qui composent l'​itinéraire) +  - (+, $) Calculer ​le coût d'​un ​"itinéraire"​((itinéraire = une liste de points d'​intérêts pour l'​instant)) ​(somme des coûts des points d'​intérêts qui composent l'​itinéraire) 
-  - (=, $) calculer ​des itinéraires en fonction d'un budget((On prendra en compte le cout des trajets et des distances lors de l'​intégration))+  - (=, $) Calculer ​des itinéraires en fonction d'un budget((On prendra en compte le cout des trajets et des distances lors de l'​intégration))
      - (=, $$) En maximisant l'​intérêt      - (=, $$) En maximisant l'​intérêt
-     - (=, $$) En forçant la présence d'un point d'​intérêt +     - (=, $$) En forçant la présence d'un point d'​intérêt ​donné 
-     - (=, $) En évitant la présence d'un point d'​intérêt +     - (=, $) En évitant la présence d'un point d'​intérêt ​donné 
-  - (++, -) Mémoriser les points d'​intérêts +  - (++, -) Mémoriser les points d'​intérêts ​dans un fichier 
-  - (=, -) Charger les points d'​intérêts+  - (=, -) Charger les points d'​intérêts ​qui se trouvent dans un fichier
   ​   ​
   (++,-) voir : Console   (++,-) voir : Console
Line 181: Line 185:
 */ */
 ==== 6) Alice'​s MAP ==== ==== 6) Alice'​s MAP ====
-Objectif : Visualiser sur une carte des points donnés. Ce sous-projet est central. Sa réussite va impliquer toute la suite du projet. Contrairement aux autres sous-proets, il repose sur l'​utilisation du module fourni.+Objectif : Visualiser sur une carte des points donnés. Ce sous-projet est central. Sa réussite va impliquer toute la suite du projet. Contrairement aux autres sous-projets, il repose sur l'​utilisation du module fourni.
  
 Voici les fonctionnalités que vous devez ajouter :  Voici les fonctionnalités que vous devez ajouter : 
  
-      * (++,-) Positionner un point à partir de coordonnées GPS et d'un libellé+      * (++,-) Positionner un point (Marker) ​à partir de coordonnées GPS et d'un libellé
           * (=, $) Saisir le point dynamiquement ​           * (=, $) Saisir le point dynamiquement ​
       * (++, -) Visualiser un chemin (ligne) entre deux markers donnés       * (++, -) Visualiser un chemin (ligne) entre deux markers donnés
Line 199: Line 203:
 Bilan :  Bilan : 
    * vous pouvez perdre ​4*4pts + 2*2points = 20 points; ​    * vous pouvez perdre ​4*4pts + 2*2points = 20 points; ​
-   * vous avez un potentiel d(au moins 2*1 + 7*2 = 16 points; ((difficile à déterminer. L'​évaluation de la complexité des fonctionnalités additionnelles sera réalisée en direct).+   * vous avez un potentiel d'au moins 2*1 + 7*2 = 16 points; ((difficile à déterminer. L'​évaluation de la complexité des fonctionnalités additionnelles sera réalisée en direct).
  
 /* /*
Line 256: Line 260:
         - Rechercher qq qui a telles caractéristiques autour de moi : formation, humeur, ...         - Rechercher qq qui a telles caractéristiques autour de moi : formation, humeur, ...
         - Rechercher qq avec qui je suis ami/​parent/​... autour de moi         - Rechercher qq avec qui je suis ami/​parent/​... autour de moi
-        -  Alimenter les reseau avec les covoitureurs en ajoutant un lien co-voiture qui a le nombre de covoiturage ​+        -  Alimenter les reseau avec les covoitureurs en ajoutant un lien "co-voyageur"​
             - A la demande : en passant un co-voiturage             - A la demande : en passant un co-voiturage
-            -  Automatiquement à chaque déclaration d'un co-voiturage+            - Automatiquement à chaque déclaration d'un co-voiturage
         -  Visualiser la position de tous ses amis etc         -  Visualiser la position de tous ses amis etc
         -  A chaque saisie de l'​humeur on enregistre la position         -  A chaque saisie de l'​humeur on enregistre la position
-        - Placer un capteur sur une carte 
-        - Associer un capteur à une personne ​ 
         - Visualiser la maison des membres         - Visualiser la maison des membres
 +        - Visualiser les points d'​intérêts sur la carte
  
-Notation de l'​intégration : +/* Notation de l'​intégration : 
  
 la note du groupe =  moyenne des notes des individus (y compris els 0) la note du groupe =  moyenne des notes des individus (y compris els 0)
 la note d'un individu : sa note + 0,5*note du groupe / 1,5 la note d'un individu : sa note + 0,5*note du groupe / 1,5
 +*/
  
  
2016_2017/s3/methodo/td/etudedecas.1472643476.txt.gz · Last modified: 2016/08/31 13:37 by blay