This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
2015_2016:s2:td:td_associations [2016/03/11 12:05] blay [Des modèles aux classes : focus sur les associations] |
2015_2016:s2:td:td_associations [2016/03/11 13:38] blay [Un exemple un peu plus complexe] |
||
---|---|---|---|
Line 8: | Line 8: | ||
<note warning>Un rendu sous la forme d'un cahier de bord est attendu pour **le 18 avril**. 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=2015_2016:s2:start#notations|ici]] pour le détail, dont les critères de notation. </note> | <note warning>Un rendu sous la forme d'un cahier de bord est attendu pour **le 18 avril**. 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=2015_2016:s2:start#notations|ici]] pour le détail, dont les critères de notation. </note> | ||
+ | ===== Terminer le TD de la semaine dernière ===== | ||
+ | |||
+ | [[https://mbf-iut.i3s.unice.fr/doku.php?id=2015_2016:s2:td:td_classes-code-avancees|Enoncé de la semaine dernière]]: Il est important d'aller au bour du précédent TD pour au moins bien visualiser l'importance d'une bonne modélisation pour aborder un problème relativement simple avant de s'intéresser à un exemple un peu plus complexe. | ||
+ | ===== Un exemple un peu plus complexe ===== | ||
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. | ||
Vous pouvez choisir de commencer par implémenter, mais nous vous le déconseillons vivement... Le problème parait simple, mais l'est-il vraiment? | Vous pouvez choisir de commencer par implémenter, mais nous vous le déconseillons vivement... Le problème parait simple, mais l'est-il vraiment? | ||
Line 24: | Line 28: | ||
- | 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 modèle de processus est la somme des temps prévus par chacun des modèles d'étapes. |
+ | - A partir d'un modèle de processus on crée un processus. | ||
+ | - A partir d'un modèle d'étape on crée un étape. | ||
+ | - Afficher une étape revient à afficher l'intitulé du modèle d'étape qui lui est associé. | ||
+ | - On peut comparer le temps réalisé par une étape avec le temps prévu. | ||
+ | - On peut comparer le temps réalisé par un processus avec le temps prévu par son modèle. | ||
+ | - On peut savoir parmi les processus correspondant à un modèle celui qui a fait le meilleur temps, c'est pour cela que nous associons le nom d'une personne à un processus. | ||
- | A partir d'un modèle de processus on crée un processus. | ||
- | A partir d'un modèle d'étape on crée un étape. | ||
- | Afficher une étape revient à afficher l'intitulé du modèle d'étape qui lui est associé. | + | <note tip>Vous devez "deviner" les méthodes non explicitées mais pourtant absolument nécessaires.</note> |
- | On peut comparer le temps réalisé par une étape avec le temps prévu. | + | |
- | On peut comparer le temps réalisé par un processus avec le temps prévu par son modèle. | + | |
- | + | ||
- | On peut savoir parmi les processus correspondant à un modèle celui qui a fait le meilleur temps, c'est pour cela que nous associons le nom d'une personne à un processus. | + | |
- | + | ||
- | + | ||
- | <note tip>Vous devez "deviner" les méthodes non explicitées mais pourtant absolument nécessaires sur les étapes par exemple.</note> | + | |
Line 44: | Line 45: | ||
- | Surtout pensez aux tests unitaires, ils sont essentiels ici. | + | Surtout pensez aux ''tests unitaires'' (si vous connaissez), ils sont essentiels ici pour tester chaque élément du modèle avant de les assembler. |
Voici un exemple de traces correspondant à un test de validation (pas à un test unitaire!) | Voici un exemple de traces correspondant à un test de validation (pas à un test unitaire!) | ||
Line 102: | Line 103: | ||
</code> | </code> | ||
+ | |||
+ | Pour vous aider, dans cette trace : | ||
+ | - d'après vous qu'est-ce qui correspond à un modèle de processus? A un modèle d'étape? | ||
+ | - Qu'est-ce qui correspond à l'exécution d'un processus? à l'exécution d'une étape? | ||
+ | - 4081.0/5000 signifie que pour exécuter l'étape il vous a fallu 4081 quand le modèle de l'étape en prévoyait 5000 | ||
===== Boîte à outils ===== | ===== Boîte à outils ===== |