User Tools

Site Tools


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”.
  1. Quelle modélisation proposez-vous pour supporter les opérations suivantes :
    1. Je veux pouvoir déclarer que le modèle Clio a une consommation moyenne sur Route de 6,3, urbaine de 8,1, ….
    2. Je veux pouvoir déclarer que le modèle Clio a un coefficient “k” de 3,85*10^-4
    3. Je veux pouvoir demander la consommation moyenne du modèle Clio sur Route (rep. 6,3)? urbaine(rep. 8,1)?
    4. 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é!!! ).
  2. Réfléchissez à l'implémentation sur papier au moins et proposer un modèle de classe qui répond à ces fonctionnalités.
  3. On intègre à présent la consommation “Mixte”, qu'est-ce qui change dans votre modèle? dans votre code?
  4. 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?
  5. Comment est-il possible de créer un modèle de voiture? Quel est le diagramme de séquence associé (sur papier a minima)? Quel est le code?
  6. 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?
  7. Pour certains véhicules on veut pouvoir enregistrer une consommation en Galon pour 100 Miles, que modifiez-vous?
  8. 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:
    1. 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.
    2. 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.

2)
C'est possible, mais je ne l'ai pas trouvé…
2014_2015/s3/concprogobjet/td/td4.1412445040.txt.gz · Last modified: 2014/10/04 19:50 by blay