2014_2015:s3:concprogobjet:td:td4
This is an old revision of the document!
Responsabilités et Couplages
On distingue deux formes de consommation pour un même modèle de voiture :
- la consommation moyenne sur route, urbaine ou mixte exemples
- la consommation en fonction de la vitesse qui suit la règle suivante 1), elle ne prétend pas être vraie
C(v) = 2(d/v) + K v^2 avec t en heures, d en km et k un coefficient variable en fonction des voitures.
Si une voiture roule à 150 km/h
sa consommation est donc en litre au 100km
de :
C(150) = 2(100/150) + K * 150^2 pour la Cl
Avec un coefficient de 3,85*10^-4
, C(150) = 9.99583333333; C(64) = 4,7 litres au 100km
Essayez de ne pas tricher, répondez aux questions une par une. Attention, l'exercice peut vous paraitre très facile au départ, mais vous avez vraiment intérêt à maintenir un modèle de classe cohérent à côté pour faire cet exercice.
Certains aspects font penser aux bases de données. Nous verrons plus tard cet aspect. Pour l'instant, réfléchissez uniquement “Objet”.
- 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 un coefficient “k” de 3,85*10^-4
- Je veux pouvoir demander la consommation moyenne du modèle Clio sur Route (rep. 6,3)? urbaine(rep. 8,1)?
- Je veux pouvoir demander la consommation moyenne d'une Clio à 150km/h? (mettons que le coefficient est de 3,85*10^-4 et donc obtenir une réponse de quasi 10, … ce qui n'est pas du tout la réalité!!! ).
- Réfléchissez à l'implémentation sur papier au moins et proposer un modèle de classe qui répond à ces fonctionnalités.
- On intègre à présent la consommation “Mixte”, qu'est-ce qui change dans votre modèle? dans votre code?
- On vient d'établir une formule 2) qui, pour certains modèles de voitures, à partir des données connues en circulation urbaine ou sur route permet de déterminer le coefficient K, selon la formule suivante : Au dessus de 100 km/h on prend en compte la consommation sur route que l'on multiplie par 10^-4, entre 100 et 50, la consommation mixte et en dessous urbaine. Quelle modélisation proposez-vous ? Quel est le couplage entre vos classes? Avez-vous bien supporté l'extension? Il existe plusieurs solutions possibles, c'est à vous de décider!
- 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égrer ce type de “calcul” de la consommation dans votre modélisation, quel est l'impact? - Pour certains véhicules on veut pouvoir enregistrer une consommation en Galon pour 100 Miles, que modifiez-vous?
- Que retenez-vous?
A la fin de cette séance (au plus tard en fin de semaine)
- Dans votre répertoire de projet, sous TD2, se trouvent:
- Un document contenant
- votre modèle final (Tout le monde n'aboutit pas au même modèle, c'est certain)
- 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.
2014_2015/s3/concprogobjet/td/td4.1412445646.txt.gz · Last modified: 2014/10/04 18:00 by blay