User Tools

Site Tools


2019_2020:s3:concprogobjet:td:tdreutilisation

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
2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/08 17:28]
blay [Réutilisation par adaptation]
2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/13 11:08] (current)
blay [Réutilisation par composition et héritage]
Line 18: Line 18:
  
  
-<box round rgb(135,206,250) rgb(0,​191,​255) 75%|**Votre défi** > +<box round rgb(224,255,255) rgb(0,​191,​255) 75%|**Votre défi** > 
  
 Faire passer les tests sans les modifier si ce n'est la référence à la classe "//​SocialNetwork//"​ qui implémente //​SocialNetworkInterface//​ et en développant un code propre. Faire passer les tests sans les modifier si ce n'est la référence à la classe "//​SocialNetwork//"​ qui implémente //​SocialNetworkInterface//​ et en développant un code propre.
  
 Voici les archives : //((Tips : Prenez chaque archive, déposer la sous Eclipse, dezipper, refresh))// Voici les archives : //((Tips : Prenez chaque archive, déposer la sous Eclipse, dezipper, refresh))//
-    - les {{:​2018_2019:​s3:​concprogobjet:​td:​archivegraphes.zip|classes de manipulation des graphes}} :  +    - les classes de manipulation des graphes:  
-               - les classes du package grapheX, vous en avez besoin pour l'​exécution,​ mais vous n'avez pas besoin de les comprendre. +               - les classes du package ​{{:​2019_2020:​s3:​concprogobjet:​td:​graphex.zip|grapheX,}} vous en avez besoin pour l'​exécution,​ mais vous n'avez pas besoin de les comprendre. 
-               - les classes du package grapheSimple vous allez en avoir besoin. Regardez bien **ces classes** et construisez rapidement le modèle de classes correspondant,​ par exemple avec ObjectAid),  +               - les classes du package ​{{:​2019_2020:​s3:​concprogobjet:​td:​graphesimple.zip|grapheSimple}} vous allez en avoir besoin. Regardez bien **ces classes** et construisez rapidement le modèle de classes correspondant,​ par exemple avec ObjectAid),  
-    - les {{:2018_2019:​s3:​concprogobjet:​td:​archivetests.zip|classes de tests}} : celle sur les graphes pour vérifier et celle contenant les tests à faire passer. (pensez à la mettre dans un source folder dédié aux tests (ou sous test si vous êtes sous maven); Fixez le setup en ajoutant JUnit 5; exécutez les tests) +    - les classes définissant le réseau ​{{:2019_2020:​s3:​concprogobjet:​td:​facebookghost.zip|Facebookghost}} 
-    - {{:2018_2019:​s3:​concprogobjet:​td:​facebookghost.zip|les classes définissant le réseau Facebookghost}} +    - les {{:2019_2020:​s3:​concprogobjet:​td:​corers.zip|interfaces à implémenter}} pour faire passer les tests 
-    - {{:2018_2019:​s3:​concprogobjet:​td:​archivereseausocial.zip|les ​interfaces ​à implémenter pour faire passer ​les tests,}} +    ​- les classes de tests :  
 +           - celle sur les graphes pour vérifier dans l'​archive ''​graphesimple''​ 
 +           - {{:2019_2020:​s3:​concprogobjet:​td:​testsyourcode.zip|celles contenant ​les tests à faire passer.}}  
 +    - Fixez le setup en ajoutant JUnit 5; exécutez les tests
  
-===> Pour ceux qui ont déjà chargé des codes, voici les codes de {{:​2018_2019:​s3:​concprogobjet:​td:​graphesimple.zip|ParcoursSimple}} corrigés et dans l'​archive de tests les codes ont été corrigés en conséquence. 
- 
-  
 LOL**Vous n'avez que deux interfaces à implémenter : ''​SocialNetworkInterface''​ et ''​MemberInterface''​. ​ LOL**Vous n'avez que deux interfaces à implémenter : ''​SocialNetworkInterface''​ et ''​MemberInterface''​. ​
 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. 
- 
-{{ :​2016_2017:​s3:​concprogobjet:​td:​capture_d_e_cran_2016-10-16_a_22.07.17.png?​direct&​300 |}} 
- 
-{{ :​2016_2017:​s3:​concprogobjet:​td:​capture_d_e_cran_2016-10-16_a_22.42.15.png?​direct&​300 |}} 
  
 ===== Réutilisation par composition et héritage ===== ===== Réutilisation par composition et héritage =====
Line 56: Line 51:
   - Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces //​SocialNetworkInterface//​ et //​MemberInterface//​): ​   - Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces //​SocialNetworkInterface//​ et //​MemberInterface//​): ​
        * un réseau social est un ensemble de membres qui sont en relation;        * un réseau social est un ensemble de membres qui sont en relation;
-       * un membre a un nom, une localisation (String) et une introduction (String); ​+       * un membre a un nom, une localisation (String) ​<del>et une introduction (String)</​del>​
        * Un membre //a// est en relation avec membre //b// avec une force entre Faible (LOW) et Très forte (STRONG). Plus la relation est forte plus on considère que la distance est courte. La classe //​Strength//​ qui représente cette force vous est donnée. ​        * Un membre //a// est en relation avec membre //b// avec une force entre Faible (LOW) et Très forte (STRONG). Plus la relation est forte plus on considère que la distance est courte. La classe //​Strength//​ qui représente cette force vous est donnée. ​
        * //a// peut se considérer en relation avec //b// à la force STRONG et //b// ne pas se considérer en relation avec //a//!        * //a// peut se considérer en relation avec //b// à la force STRONG et //b// ne pas se considérer en relation avec //a//!
Line 139: Line 134:
  
 Ce n'est pas grave. Si vous avez compris les principes du Patron, vous pourrez les retrouver dans d'​autres paradigmes tels que les files d’attente (queues), les sémaphores (semaphores ), ou les gestionnaires d'​évènements dans ''​java.beans''​ package. Ce n'est pas grave. Si vous avez compris les principes du Patron, vous pourrez les retrouver dans d'​autres paradigmes tels que les files d’attente (queues), les sémaphores (semaphores ), ou les gestionnaires d'​évènements dans ''​java.beans''​ package.
-===== Rendu ===== 
-    - un diagramme UML qui visualise uniquement les classes/​interfaces dont votre code **dépend directement**. 
-          * le diagramme vise à visualiser l'​architecture de votre solution ​ 
-                    * **les différents patterns apparaissent sous forme d'​annotations** si ce n'est pas évident (e.g. si une classe hérite ''​d'​observable''​ c'est évident, mais si ''​User''​ correspond à l'''<​Adaptee>''​ cela ne l'est pas.) 
-          * le diagramme peut être obtenu par reverse-engineering,​ c'est même conseillé, mais doit être adapté pour répondre aux points précédents. ​ 
-    - les codes sources des classes que vous avez créées ou modifiées exclusivement. 
- 
-La date du rendu au plus tard : mardi 4 décembre à 8h (S3T) 
- 
-La date du rendu au plus tard : vendredi 14 décembre à 19h (S3A) 
- 
- 
-Sur [[http://​jalon.unice.fr/​cours/​blay/​Cours-blay-20150930110548/​BoiteDepot-blay-20161116105407498020|Jalon]] avec comme nom pour l'​archive :  Gr <​numeroGroupe>​ + Nom des étudiants dans le groupe 
  
  
  
  
2019_2020/s3/concprogobjet/td/tdreutilisation.1573230516.txt.gz · Last modified: 2019/11/08 17:28 by blay