2019_2020:s3:concprogobjet:td:tdreutilisation
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/08 16:19] – [Réutilisation par composition et héritage] blay | 2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/13 10:08] (current) – [Réutilisation par composition et héritage] blay | ||
---|---|---|---|
Line 18: | Line 18: | ||
- | <box round rgb(135,206,250) rgb(0, | + | <box round rgb(224,255,255) rgb(0, |
Faire passer les tests sans les modifier si ce n'est la référence à la classe "// | Faire passer les tests sans les modifier si ce n'est la référence à la classe "// | ||
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 {{: | + | - les classes de manipulation des graphes: |
- | - les classes du package grapheX, vous en avez besoin pour l' | + | - les classes du package |
- | - les classes du package grapheSimple vous allez en avoir besoin. Regardez bien **ces classes** et construisez rapidement le modèle de classes correspondant, | + | - les classes du package |
- | - les {{:2018_2019: | + | - les classes définissant le réseau |
- | - {{:2018_2019: | + | - les {{:2019_2020: |
- | - {{:2018_2019: | + | |
+ | - celle sur les graphes pour vérifier dans l' | ||
+ | - {{:2019_2020: | ||
+ | - Fixez le setup en ajoutant JUnit 5; exécutez les tests | ||
- | ===> Pour ceux qui ont déjà chargé des codes, voici les codes de {{: | ||
- | |||
- | |||
LOL**Vous n'avez que deux interfaces à implémenter : '' | LOL**Vous n'avez que deux interfaces à implémenter : '' | ||
Ce qui suit est là pour vous aider.** }} | Ce qui suit est là pour vous aider.** }} | ||
</ | </ | ||
- | La figure suivante visualise les interfaces et classes fournies pour les tests. | ||
- | |||
- | {{ : | ||
- | |||
- | {{ : | ||
===== Réutilisation par composition et héritage ===== | ===== Réutilisation par composition et héritage ===== | ||
Line 50: | Line 45: | ||
</ | </ | ||
- | <note warning> | + | <note warning> |
Line 56: | Line 51: | ||
- Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces // | - Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces // | ||
* 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) |
* 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 // | * 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 // | ||
* //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 74: | Line 69: | ||
- | <note warning> | + | <note warning> |
===== Réutilisation par adaptation ===== | ===== Réutilisation par adaptation ===== | ||
Line 81: | Line 76: | ||
* On veut ajouter dans notre réseau des membres qui correspondent à des " | * On veut ajouter dans notre réseau des membres qui correspondent à des " | ||
- le **nom** du " | - le **nom** du " | ||
- | - l' | + | - l' |
- | - on garde la référence sur le " | + | |
- on " | - on " | ||
- les users ciblés sont connus de notre réseau, c'est à dire que nous avons déjà un membre de même nom; | - les users ciblés sont connus de notre réseau, c'est à dire que nous avons déjà un membre de même nom; | ||
- elles correspondent à des relations familiales ou des relations d' | - elles correspondent à des relations familiales ou des relations d' | ||
- | - Nous considérons que les relations inverses existent également dans notre réseau. | + | - Nous considérons que les relations inverses existent également dans notre réseau. //Donc si Peter est ami avec John dans FG, dans notre réseau Peter est en relation avec John par un lien Medium et John est en relation avec Peter avec un lien Medium//. |
- | * Quand on ajoute dans notre réseau un membre correspondant au réseau 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' | + | * Quand on ajoute dans notre réseau un membre correspondant au réseau FG, on recherche parmi ses relations directes dans FG s'il existe des "users" |
- | * Exemple : Hercule est connu du réseau FG et se déclare comme membre de notre réseau ('' | + | * Exemple : Hercule est connu du réseau FG et se déclare comme membre de notre réseau ('' |
- | - 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 (lien de famille), celle entre Hercule et Admete est ajoutée avec une force de 3 (lien d' | + | - Seuls Zeus et Admete sont connus de notre réseau; la relation de Hercule vers Zeus est ajoutée avec une force HIGH (lien de famille), celle entre Hercule et Admete est ajoutée avec une force MEDIUM |
===== Réutilisation par observation ===== | ===== Réutilisation par observation ===== | ||
Line 141: | Line 134: | ||
Ce n'est pas grave. Si vous avez compris les principes du Patron, vous pourrez les retrouver dans d' | Ce n'est pas grave. Si vous avez compris les principes du Patron, vous pourrez les retrouver dans d' | ||
- | ===== Rendu ===== | ||
- | - un diagramme UML qui visualise uniquement les classes/ | ||
- | * le diagramme vise à visualiser l' | ||
- | * **les différents patterns apparaissent sous forme d' | ||
- | * le diagramme peut être obtenu par reverse-engineering, | ||
- | - 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:// | ||
2019_2020/s3/concprogobjet/td/tdreutilisation.1573229978.txt.gz · Last modified: 2019/11/08 16:19 by blay