User Tools

Site Tools


2014_2015: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
2014_2015:s3:concprogobjet:td:td4 [2014/10/05 10:29]
blay
2014_2015:s3:concprogobjet:td:td4 [2014/10/14 08:12] (current)
blay [Responsabilités et Couplages]
Line 2: Line 2:
  
 On distingue deux formes de consommation pour un même modèle de voiture :  On distingue deux formes de consommation pour un même modèle de voiture : 
-  * la consommation moyenne sur route, urbaine ou mixte [[http://​www.fiches-auto.fr/​articles-auto/​chiffres-consommation/​peugeot.php|exemples]]+  * la consommation moyenne sur route, urbaine ou mixte [[http://​www.fiches-auto.fr/​articles-auto/​chiffres-consommation/​peugeot.php|exemples]] ​
   * la consommation en fonction de la vitesse ​ qui suit la règle suivante ((extraite d'un [[http://​www.ilemaths.net/​forum-sujet-219647.html|forum de mathématiques]])),​ elle ne prétend pas être vraie    * la consommation en fonction de la vitesse ​ qui suit la règle suivante ((extraite d'un [[http://​www.ilemaths.net/​forum-sujet-219647.html|forum de mathématiques]])),​ elle ne prétend pas être vraie 
-<​code>​ C(v) = 2(d/v) + K v^2 avec en heures, d en km et k un coefficient variable en fonction des voitures. </​code>​+<​code>​ C(v) = 2(d/v) + K v^2 avec en km/heures, d en km et k un coefficient variable en fonction des voitures. </​code>​
 Si une voiture roule à ''​150 km/​h''​ sa consommation est donc en ''​litre au 100km''​ de : Si une voiture roule à ''​150 km/​h''​ sa consommation est donc en ''​litre au 100km''​ de :
 <​code>​ C(150) = 2(100/150) + K * 150^2 pour la Cl </​code>​ <​code>​ C(150) = 2(100/150) + K * 150^2 pour la Cl </​code>​
Line 12: Line 12:
  
 <note warning>​Certains aspects font penser aux bases de données. Nous verrons plus tard cet aspect. Pour l'​instant,​ réfléchissez uniquement "​Objet"​.</​note>​ <note warning>​Certains aspects font penser aux bases de données. Nous verrons plus tard cet aspect. Pour l'​instant,​ réfléchissez uniquement "​Objet"​.</​note>​
 +
 +<note tip> Tous les modèles de voiture n'ont pas la même manière de faire les calculs mais à la fin on veut tous les interroger de la même manière ! </​note>​
   -Quelle modélisation proposez-vous pour supporter les opérations suivantes :    -Quelle modélisation proposez-vous pour supporter les opérations suivantes : 
      - Je veux pouvoir déclarer que le modèle Clio a une consommation moyenne sur Route de 6,3, urbaine de 8,1, ....      - Je veux pouvoir déclarer que le modèle Clio a une consommation moyenne sur Route de 6,3, urbaine de 8,1, ....
Line 35: Line 37:
                 * Pour ma clio si je roule pendant 100km à 90km/h, combien vais-je dépenser d'​essence?​                 * Pour ma clio si je roule pendant 100km à 90km/h, combien vais-je dépenser d'​essence?​
              * Quel est le couplage entre la classe calculateur et la classe modèle de voiture?              * Quel est le couplage entre la classe calculateur et la classe modèle de voiture?
-  - En fait, pour certains modèles de voiture (par exemple, les Renaults), les consommations moyennes sont obtenues par des requêtes à un service externe qui, en fonction des informations sur le modèle (on se limite au nom et à l'​année,​ par exemple // Clio 2// et  //2000//), nous renvoie une chaine de caractères au format JSON, par exemple ''​{"​consommation":​ {"​route"​ : "​6.3",​ "​urbaine"​ : "​8.1"​ } }'',​ Intégrez ce type de "​calcul"​ de la consommation dans votre modélisation,​ quel est l'​impact?​ ((voir plus bas pour des détails techniques)) +  - En fait, pour certains modèles de voiture (par exemple, les Peugeots), les consommations moyennes sont obtenues par des requêtes à un service externe qui, en fonction des informations sur le modèle (on se limite au nom et à l'​année,​ par exemple // Peugeot 208// et  //2000//), nous renvoie une chaine de caractères au format JSON, par exemple ''​{"​consommation":​ {"​route"​ : "​6.3",​ "​urbaine"​ : "​8.1"​ } }'',​ Intégrez ce type de "​calcul"​ de la consommation dans votre modélisation,​ quel est l'​impact?​ ((voir plus bas pour des détails techniques)) 
-  - Pour certains véhicules on veut pouvoir enregistrer une consommation en Galon pour 100 Miles, que devez-vous modifier?+  - Donc si on résume, voici des exemples de modèles : 
 +        - A un modèle Clio, on associe des données de consommation fixes et un calcul de la consommation en fonction de la vitesse qui est basé sur un coefficient K donné, on fait pareil pour le modèle Mégane 
 +        - A un modèle Ferrari F430 on associe des données de consommation fixes et un calcul de la consommation en fonction de la vitesse qui est basé sur un coefficient K calculé, on fait pareil pour certaines Porshes 
 +        - A un modèle Peugeot 208, on obtient les données de consommation en faisant appel à un service externe, et la consommation en fonction de la vitesse est basée sur un coefficient K donné; 
 +        - A un modèle Mercedes ClasseA, on obtient les données de consommation en faisant appel à un service externe, et la consommation en fonction de la vitesse est basée sur un coefficient K calculé 
 +  - Si à présent on ajoute un autre mode de détermination de la consommation basée par exemple sur des données statistiques stockées dans un fichier excel, et que l'on décide que le modèle Clio se base sur ces données... Votre solution est-elle toujours valide? ​ 
 +  - Pour certains véhicules on veut pouvoir enregistrer une consommation en Galon pour 100 Miles, que devez-vous modifier? ​On ne vous demande pas de le faire.
   - Que retenez-vous?​   - Que retenez-vous?​
  
  
  
-<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%|A la fin de cette séance (au plus tard en fin de semaine) >  +<box round rgb(150,​290,​190) rgb(198,​226,​150) 75%|A la fin de cette séance (au plus tard en fin de semaine) ​24 octobre pour les S3A >  
-  * Dans votre répertoire de projet, sous TD2, se trouvent: ​+  * Dans votre répertoire de projet, sous TD4, se trouvent ​(s'il y a des doutes sur le répertoire de livraison, mettez un mail à votre encadreur) ​
        - Un document contenant ​        - Un document contenant ​
-             * votre modèle final (Tout le monde n'​aboutit pas au même modèle, c'est certain)+             * votre modèle final (Tout le monde n'​aboutit pas au même modèle, c'est certain) ​(merci de l'​intégrer dans un document pour que nous n'​ayons pas à ouvrir différents modèles dans différentes versions de l'​outil).
              * des explications sur les raisons de ce modèle (dont vous êtes très fiers) et les leçons apprises.              * des explications sur les raisons de ce modèle (dont vous êtes très fiers) et les leçons apprises.
-       - Les codes et les tests. Pensez bien que le service externe ne doit pas être implémenté. Une fonction qui pour l'​instant retourne à chaque fois la même chaine de caractère convient très bien, et vous considérerez ​aussi la transformation d'une chaine de caractère JSON en "autre chose" comme donnée.+       - Les codes et les tests. Pensez bien que le service externe ne doit pas être vraiment ​implémenté. Une fonction qui pour l'​instant retourne à chaque fois la même chaine de caractère convient très bien, et vous pouvez considérer ​aussi la transformation d'une chaine de caractère JSON en "autre chose" comme donnée ​(par exemple : return new Consommation(...)).
 </​box>​ </​box>​
- 
- 
- 
 ==== Tuyaux ==== ==== Tuyaux ====
 Vous pouvez utiliser la bibliothèque "​Jackson"​ pour gérer le format JSON. Vous pouvez utiliser la bibliothèque "​Jackson"​ pour gérer le format JSON.
2014_2015/s3/concprogobjet/td/td4.1412497744.txt.gz · Last modified: 2014/10/05 10:29 by blay