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
Next revision Both sides next revision
2015_2016:s3:concprogobjet:td:td4 [2015/10/26 18:03]
blay [TD Réutilisation]
2015_2016:s3:concprogobjet:td:td4 [2015/10/27 09:47]
blay
Line 20: Line 20:
 {{:​2015_2016:​s3:​concprogobjet:​td:​pourlestests.zip|Archive contenant la classe de test et les interfaces à implémenter pour faire passer les tests. {{:​2015_2016:​s3:​concprogobjet:​td:​pourlestests.zip|Archive contenant la classe de test et les interfaces à implémenter pour faire passer les tests.
  
 +Vous n'avez que deux interfaces à implémenter : ''​ReseauSocialInterface''​ et ''​MembreInterface''​. ​
 Ce qui suit est là pour vous aider. }} Ce qui suit est là pour vous aider. }}
 </​box>​ </​box>​
 +
 +La figure suivante visualise les interfaces et classes fournies pour les tests.
 +
 +{{ :​2015_2016:​s3:​concprogobjet:​td:​reseausocialcore.jpg?​direct&​300 |}}
  
 ===== Réutilisation par composition et héritage ===== ===== Réutilisation par composition et héritage =====
  
-<note tip>Un réseau social peut être vu comme un graphe. +
-Rechercher des relations entre ses membres, revient à parcourir le graphe.</​note>​+
  
  
Line 32: Line 36:
        * un membre a un nom et un age et une description;​        * un membre a un nom et un age et une description;​
        * Un membre a est en relation avec membre b avec une force entre 1 et 5 : 5 faible, 1 très forte. a peut se considérer en relation avec b à la force 1 et b ne pas se considérer en relation avec a!        * Un membre a est en relation avec membre b avec une force entre 1 et 5 : 5 faible, 1 très forte. a peut se considérer en relation avec b à la force 1 et b ne pas se considérer en relation avec a!
-       ​* ​on veut pouvoir savoir quels sont les membres en relation avec un membre au rang X : exemple : a -> b -> c -> a : a est en relation avec b au rang 1; a est en relation avec c au rang 2; c est relation avec a au rang 1; etc. +       ​* ​On veut pouvoir savoir quels sont les membres en relation avec un membre au rang X : exemple : a -> b -> c -> a : a est en relation avec b au rang 1; a est en relation avec c au rang 2; c est relation avec a au rang 1; etc. (Méthode : ''​membresEnRelationAuRang(MembreInterface ​de, int rang)''​) ​
-       * une relation est soit familiale soit professionnelle soit amicale +
-       * On veut savoir toutes les personnes qui font partie ​de notre cercle familialprofessionnel ou amical : b est dans le cercle familiale de a s'il existe un chemin de relations familiales entre a et b.+
        * On veut pouvoir calculer la distance entre 2 personnes, en choisissant la plus courte distance :         * On veut pouvoir calculer la distance entre 2 personnes, en choisissant la plus courte distance : 
-             * a --1-> b --5-> c et a --2-> d --5-> c : la distance est de 6 entre a et c;+             * a --1-> b --5-> c et a --2-> d --5-> c : la distance est de 6 entre a et c;(Méthode : ''​distance(MembreInterface de, MembreInterface a)''​)  
 + 
 +D'​autres méthodes doivent être définies, il suffit de lire l'​interface "​Reseau Social"​. 
 + 
 + 
 +<note tip>Un réseau social peut être vu comme un 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 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.  
 +{{ :​2015_2016:​s3:​concprogobjet:​td:​graphessimple.jpg?​direct&​300 |}} 
 + 
 + 
 +</​note>​
  
 +{{ :​2015_2016:​s3:​concprogobjet:​td:​graphex.jpg?​link&​300 |}}
 ===== Réutilisation par adaptation ===== ===== Réutilisation par adaptation =====
  
2015_2016/s3/concprogobjet/td/td4.txt · Last modified: 2015/10/27 10:00 by blay