User Tools

Site Tools


2015_2016:s3:concprogobjet:td:td4

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
Last revision Both sides next revision
2015_2016:s3:concprogobjet:td:td4 [2015/10/27 09:14]
blay [TD Réutilisation]
2015_2016:s3:concprogobjet:td:td4 [2015/10/27 09:59]
blay [Réutilisation par observation]
Line 46: Line 46:
 Rechercher des relations entre ses membres, revient à parcourir le graphe. Rechercher des relations entre ses membres, revient à parcourir le graphe.
  
-Pour vous aider (et c'est aussi obligatoire ;-) ) vous utiliserez les classes suivantes,​{{:​2015_2016:​s3:​concprogobjet:​td:​pourlesgraphes.zip| classes pour traiter des graphes.}}, en particulier la classe ''​GrapheSimple''​ et la classe ''​ParcoursSimple''​ pour calculer des cheminsCes codes sont basés ​dans le packahe ​GrapheX ​sur des codes fournis par Polytechnique+Pour vous aider (et c'est aussi obligatoire ;-) ) vous utiliserez les classes suivantes,​{{:​2015_2016:​s3:​concprogobjet:​td:​pourlesgraphes.zip| classes pour traiter des graphes.}}, en particulier la classe ''​GrapheSimple''​ et la classe ''​ParcoursSimple''​ pour calculer des chemins ​((Ces codes sont basés ​sur le package ​GrapheX fournis par l'"​X"​ dans ses cours, pour en savoir plus (page évolutive):​ https://​www.enseignement.polytechnique.fr/​informatique/​INF431/​X06-2007-2008/​TD/​INF431-td_6-1.php ))
  
 La figure suivante visualise une part de ces codes. ​ La figure suivante visualise une part de ces codes. ​
Line 57: Line 57:
 ===== Réutilisation par adaptation ===== ===== Réutilisation par adaptation =====
  
-  - On veut intégrer dans notre réseau social, des membres du reseau ​facebookGhost. On nous donne les classes suivantes que nous ne pouvons pas modifier+  - On veut intégrer dans notre réseau social, des membres du réseau ''​facebookGhost''​ dont vous avez déjà récupéré un "​bouchon/​proxy"​ en récupérant ​les tests
-        * on veut ajouter dans notre reseau ​des membres qui correspondent à des "​users"​ du reseau ​ facebookGhost;​ le nom du user dans le reseau facebookGhost (name) devient le nom du membre dans notre réseau (nom) et on garde la référence sur le "​User"​ pour avoir toujours une description à jour qui correspond au profil; +        * on veut ajouter dans notre réseau ​des membres qui correspondent à des "​users"​ du reseau ​ facebookGhost ​(FG); le nom du "user" ​dans le reseau facebookGhost (name) devient le nom du membre dans notre réseau (nom) et on garde la référence sur le "​User"​ pour avoir toujours une description à jour qui correspond au profil; 
-        * on veut ajouter des relations qui correspondent soit à des relations familiales, soit à des relations d'​amitiés dans le réseau ​facebook. Par défaut, une relation de famille correspond à une relation de force 2 et d'​amitié 3.  +        * on veut "​récupérer"​ dans notre réseau, les relations qui correspondent soit à des relations familiales, soit à des relations d'​amitiés dans le réseau ​FG lorsque les Users ciblés sont connus de notre réseau, c'est à dire que nous avons déjà un membre de même nom. Par défaut, une relation de famille correspond à une relation de force 2 dans notre réseau ​et celle d'​amitié ​ont une force 3.  
-        * quand on ajoute un membre correspondant au reseau ​facebookGhost, on recherche parmi ses relations directes dans facebookGhost ​s'il existe des users connus de notre propre réseau et on lui ajoute les relations si elles n'​existaient pas :  +        * quand on ajoute ​dans notre réseau ​un membre correspondant au reseau ​FG, on recherche parmi ses relations directes dans FG s'il existe des users connus de notre propre réseau et on lui ajoute les relations si elles n'​existaient pas, exemples ​:  
-             * Hercule est connu du réseau FG et se déclare comme membre de notre réseau+             * Hercule est connu du réseau FG et se déclare comme membre de notre réseau ​(''​addMembre("​Hercule",​ true)''​)
                   * On récupère du réseau FG son nom.                   * On récupère du réseau FG son nom.
                   * On récupère sa famille (Zeus, Alcmène) et ses amis (Admète)                   * On récupère sa famille (Zeus, Alcmène) et ses amis (Admète)
-                  * Seuls Zeus et Admete sont connus de notre réseau; la relation de Hercule vers Zeus est ajoutée avec une force de 2, celle entre Hercule et Admete est ajoutée avec une force de 3; Nous mettons également à jour les relations inverses.+                  * Seuls Zeus et Admete sont connus de notre réseau; la relation de Hercule vers Zeus est ajoutée avec une force de 2, celle entre Hercule et Admete est ajoutée avec une force de 3; nous mettons également à jour les relations inverses.
  
-Prevoir de leur donner un programme principal avec ce réseau... 
- 
- 
-Au début du reseau FG 
-new user ("​Zeus","​le dieu ...",​Integer.max) 
-new user ("​Alcmène",​ .., ) 
-new user ("​Hercule",​ .., ) 
-new user ("​Admète",​ .., ) 
-new user ("​Hera",​ .., ) 
-new friend("​Hercule","​Admète"​) 
-new Family("​Hercule","​Zeus"​) 
-new Family("​Hercule","​Alcmène"​) 
-new Family("​Zeus","​Hera"​) 
 ===== Réutilisation par observation ===== ===== Réutilisation par observation =====
  
-Chaque fois qu'une nouvelle relation est ajoutée dans FG, on veut vérifier ​si les "​users"​ mis en relation existent dans notre réseau et si c'est le cas créer ​les relations correspondantes dans notre réseau. ​+Chaque fois qu'une nouvelle relation est ajoutée dans FG, on vérifie ​si les "​users"​ mis en relation existent dans notre réseau et si c'est le cas on crée les relations correspondantes dans notre réseau. ​
  
-Plus complexe : Chaque fois qu'​un ​nouveau user est ajouter dans FG, on veut vérifier s'il existe déjà dans notre réseau et si c'est le cas le "​connecter" ​à notre réseau..+Pour cela nous utilisons le fait qu'​un ​réseau ​FG est observable. Il suffit donc de déclarer ​notre réseau ​comme Observer du réseau FG et à chaque notification d'ajout d'une relation, de mettre ​à jour notre propre ​réseau.
  
 +<​html>​
 +<!-- Plus complexe : Chaque fois qu'un nouveau user est ajouter dans FG, on veut vérifier s'il existe déjà dans notre réseau et si c'est le cas le "​connecter"​ à notre réseau... ​ --!>
 +</​html>​
  
  
2015_2016/s3/concprogobjet/td/td4.txt · Last modified: 2015/10/27 10:00 by blay