Utilisation de la notation UML

Simulation d'un voyage en voiture

Ce thème permet d'aborder différents diagrammes de la notation UML (Unified Modeling Language). Il s'agit de développer un simulateur de voyage en voiture. A travers une description textuelle de cas d'utilisation, la présentation d'un diagramme d'activités et d'un diagramme de séquence, l'élève est invité à produire un diagramme de classes et des éléments de code associés.

Des éléments de cours sur le diagramme de séquence et le diagramme de classes sont fournis pour aider à la réalisation du problème posé.


Public Section de TS Informatique de gestion option Développeur d'applications
Objectifs Utiliser une description textuelle de cas d'utilisation, un diagramme d'activités et un diagramme de séquence pour produire un diagramme de classes puis le code de certaines méthodes.
Compétences concernées C15 Proposer une solution à un problème d’informatisation

C26 Concevoir et représenter la solution algorithmique d'un processus à automatiser

C36  Modéliser une partie d’un système d’information à différents niveaux d’abstraction

Prérequis Principes de la programmation orientée objet
Prolongement possible Réaliser le système à l'aide d'un langage de programmation orientée objet
Auteur Patrice Grand (pgrand@chello.fr)
Date de publication Avril 2002

On se propose de créer un logiciel de simulation d’un voyage d'une voiture.

  • Règles de gestion

- La voiture a un numéro d'immatriculation.

- La voiture possède un réservoir d’essence qui a une capacité et un contenu en litres ; un compteur indique à tout moment la vitesse et le kilométrage.

- La consommation d'essence dépend de la puissance (nombre de chevaux) et de la vitesse à un moment donné. Ainsi pour une voiture d'au plus 4 chevaux, le tableau de consommation pour 100 km est le suivant :

6 litres/100 km de plus de 0 jusqu’à 80 km/h
7 litres/100 km  de plus de 80 jusqu’à 100 km/h
8 litres/100 km  de plus de 100 jusqu’à 120 km/h
9 litres/100 km  de plus de 120 jusqu’à 130 km/h

Par ailleurs un coefficient multiplicateur augmente la consommation selon la puissance : plus 0.15% par cheval supplémentaire.

- La vitesse de toutes les voitures est limitée à 130 km/h.

- Le litre d’essence coûte 1 €.

- Au départ, le compteur indique un kilométrique nul. Le réservoir est plein.

- Les réservoirs ont une capacité de 40 litres pour les voitures jusqu’à 6 chevaux et 60 litres au delà.

- Lorsqu’une voiture roule, elle le fait à vitesse constante et ceci pour un nombre de kilomètres prévus. Si elle tombe en panne d’essence, le dépannage coûte 100 €, le plein est fait et le reste de la distance prévue est effectué.

- Le coût du voyage dépend des kilomètres réellement parcourus et des éventuels surcoûts dûs à des pannes d’essence.

  • Cas d'utilisation

Une description de cas d'utilisation du système simulateur de voyage est fourni : Accéder à la description du cas d'utilisation.

  • Diagramme d'activités

En étudiant les différentes activités de la voiture, nous pouvons les modéliser sous la forme d'un diagramme d'activités.

  • Diagramme de séquence

Le diagramme de séquence permet de mettre en évidence les objets en interaction pour la réalisation du système et les messages échangés :

Travail à Réaliser

1. Etablir le diagramme de classes. Une présentation de la syntaxe UML du diagramme de classes est disponible : Accéder au cours sur le diagramme de classes.

2. Lors de la déclaration des classes, comment implémenter les liens de multiplicité 1 ?

3. Ecrire les méthodes suivantes :

- Réservoir ::init

- Réservoir ::distanceMaxi

- Voiture ::init

- Voiture ::conso qui retourne la consommation d’essence pour 100 kms

- Voiture ::rouler
Si la voiture tombe en panne pour la distance prévue, elle fait le plein et termine son trajet pour le reste de la distance à parcourir, mais attention car la voiture peut tomber plusieurs fois en panne !

En téléchargement
  • L'énoncé du problème et ses annexes

Télécharger l'énoncé et ses annexes (fichier ZIP 189 Ko)

  • Une proposition de solution

Une proposition de solution est disponible en format RTF dans un fichier ZIP protégé. Le mot de passe peut être demandé à Patrice Grand.

Télécharger la proposition de solution (fichier ZIP 80 Ko).