This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2014_2015:s2:td:td_associations [2015/05/01 16:59] blay |
2014_2015:s2:td:td_associations [2015/05/13 16:09] (current) blay |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Des modèles aux classes : focus sur les associations ====== | ====== Des modèles aux classes : focus sur les associations ====== | ||
+ | **Deux séances pour ce TD ** | ||
+ | |||
+ | <note warning>**La semaine du 1 juin, nous réviserons en corrigeant l'examen de l'an dernier! Mais pour cela vous devrez avoir fait vous-même l'examen, puisque vous ferez la correction! **</note> | ||
+ | |||
+ | <note warning>Un rendu sous la forme d'un cahier de bord est attendu pour le 12 juin. Ce rendu vous a été annoncé dès le premier cours. Ne l'oubliez-pas! Voir [[https://mbf-iut.i3s.unice.fr/doku.php?id=2014_2015:s2:start#notations|ici]] pour le détail. </note> | ||
Nous allons dans ce TD nous intéresser à un exemple un peu plus complexe de classes fortement liées les unes aux autres. Attention, vous devez modéliser ce problème, l'implémenter et le tester. | Nous allons dans ce TD nous intéresser à un exemple un peu plus complexe de classes fortement liées les unes aux autres. Attention, vous devez modéliser ce problème, l'implémenter et le tester. | ||
Line 5: | Line 10: | ||
+ | //A la fin de cette feuille, vous avez quelques éléments utiles au niveau du code// | ||
Line 16: | Line 22: | ||
- | Un modèle de processus se définit comme une suite de modèles d'étapes. | + | Un **modèle de processus** se définit comme une suite de modèles d'étapes. |
- | Un modèle d'étape est défini par un intitulé par exemple "Aller dans le jardin magique", un temps prévu par exemple "3s". | + | Un **modèle d'étape** est défini par un intitulé par exemple "Aller dans le jardin magique", un temps prévu par exemple "3s". |
Le temps moyen prévu par un processus est la somme des temps prévus par chacun des modèles d'étapes. | Le temps moyen prévu par un processus est la somme des temps prévus par chacun des modèles d'étapes. | ||
Line 34: | Line 40: | ||
**Organisez vous comme bon vous semble pour modéliser, implémenter et tester l'ensemble de cette application!** | **Organisez vous comme bon vous semble pour modéliser, implémenter et tester l'ensemble de cette application!** | ||
+ | |||
+ | |||
+ | Surtout pensez aux tests unitaires, ils sont essentiels ici. | ||
+ | |||
+ | Voici un exemple de traces correspondant à un test de validation (pas à un test unitaire!) | ||
+ | <code> | ||
+ | Voici votre défi | ||
+ | Aller dans le jardin Magique en 5000s | ||
+ | Trouver le trésor du Dragon en 5000s | ||
+ | Tuer le dragon en 5000s | ||
+ | Ramener le tresor au chateau des Neiges en 5000s | ||
+ | A vous de jouer | ||
+ | Aller dans le jardin Magique==> Taper quand fini | ||
+ | |||
+ | 4081.0/5000 | ||
+ | Trouver le trésor du Dragon==> Taper quand fini | ||
+ | |||
+ | 478.0/5000 | ||
+ | Tuer le dragon==> Taper quand fini | ||
+ | |||
+ | 570.0/5000 | ||
+ | Voici votre temps : 5129 | ||
+ | -->5129 | ||
+ | Meilleur temps :5129 | ||
+ | Voulez-vous rejouer Y/N | ||
+ | Y | ||
+ | A vous de jouer | ||
+ | Aller dans le jardin Magique==> Taper quand fini | ||
+ | |||
+ | 1652.0/5000 | ||
+ | Trouver le trésor du Dragon==> Taper quand fini | ||
+ | |||
+ | 580.0/5000 | ||
+ | Tuer le dragon==> Taper quand fini | ||
+ | |||
+ | 1447.0/5000 | ||
+ | Voici votre temps : 3679 | ||
+ | -->5129 | ||
+ | -->3679 | ||
+ | Meilleur temps :3679 | ||
+ | Voulez-vous rejouer Y/N | ||
+ | Y | ||
+ | A vous de jouer | ||
+ | Aller dans le jardin Magique==> Taper quand fini | ||
+ | |||
+ | 698.0/5000 | ||
+ | Trouver le trésor du Dragon==> Taper quand fini | ||
+ | |||
+ | 851.0/5000 | ||
+ | Tuer le dragon==> Taper quand fini | ||
+ | |||
+ | 992.0/5000 | ||
+ | Voici votre temps : 2541 | ||
+ | -->5129 | ||
+ | -->3679 | ||
+ | -->2541 | ||
+ | Meilleur temps :2541 | ||
+ | Voulez-vous rejouer Y/N | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ===== Boîte à outils ===== | ||
+ | |||
+ | Pour obtenir le temps en java : | ||
+ | <code java> | ||
+ | //Pour avoir le temps courant | ||
+ | long endTime = System.currentTimeMillis(); | ||
+ | |||
+ | //Faire la différence entre deux temps! | ||
+ | long tempsCourant = (endTime - startTime); | ||
+ | </code> | ||
+ | |||
+ | <code java> | ||
+ | public void testTempsProcessus() throws InterruptedException { | ||
+ | long nbDeMilliSecondes = 100; | ||
+ | .... | ||
+ | // Attendre | ||
+ | Thread.sleep(nbDeMilliSecondes); | ||
+ | </code> | ||
+ | |||
+ | Pour capturer une string au clavier | ||
+ | |||
+ | <code java> | ||
+ | Scanner s = new Scanner(System.in); | ||
+ | String str = s.nextLine(); | ||
+ | </code> | ||
+ | |||
<html> | <html> |