E.D. de Génie Logiciel

Conception avec U.M.L.

II - Analyse: Point de vue statique

Les Diagrammes de Classe UML

 

 

EXERCICE I:

On considère un système simplifié de réservation de vols pour une agence de voyages.

Des entrevues avec un certain nombre d'experts du métier, on peut tirer les éléments de connaissance suivants sur le domaine, fournis dans l'ordre où ils ont été énoncés par les Experts (sans regroupement sémantique ultérieur):

  1. Des compagnies aériennes proposent différents vols.
  2. Un vol est ouvert à la réservation et refermé sur ordre de la Compagnie.
  3. Un client peut réserver des places sur un ou plusieurs vols, pour des passagers différents.
  4. Une réservation concerne un seul passager sur un seul vol.
  5. Une réservation peut être annulée ou confirmée.
  6. Un vol a un aéroport de départ et un aéroport d'arrivée.
  7. Un vol a une date et une heure de départ, une date et une heure d'arrivée.
  8. Un vol peut comporter des escales dans des aéroports.
  9. Une escale a une heure d'arrivée et une heure de départ.
  10. Chaque aéroport dessert une ou plusieurs villes.

On se propose de réaliser progressivement un modèle conceptuel statique (encore appelé modèle du domaine) à partir des éléments de connaissance décrits par les phrases ci-dessus.


QUESTIONS:

  1. Modéliser les phrases 1 et 2 en termes de classes, de comportements (opérations), et d'associations entre elles. A l'aide de la phrase 7, compléter la description de la classe Vol ainsi mise en évidence, en identifiant ses attributs.
  2. Modélisation des phrases 6 et 10, autour de la notion d'Aéroport :
    1. Quelles sont les différentes solutions pour modéliser la phrase 6? Donner leurs avantages et leurs inconvénients.
    2. Quelle est la multiplicité du côté de la classe Aéroport impliquée par la modélisation de la phrase 10?
  3. Modélisation des escales (phrases 8 et 9) :
    1. Effectuez une modélisation préliminaire des phrases 8 et 9 à l'aide d'une nouvelle classe Escale.
    2. Complétez la multiplicité des associations sur le modèle (3,a).
    3. Proposez une solution plus élaborée pour modéliser les escales, homogénéisant les relations Vol / Aéroport.
  4. Modélisation des phrases 3, 4 et 5 traitant du concept de réservation:
    1. Faut-il distinguer les concepts de client et de passager?
    2. A l'aide des phrases 4 et 5, complétez alors le modèle à l'aide de nouvelles classes ad hoc.
    3. Modélisez la phrase 3 et complétez les multiplicités des associations entre les classes.
  5. Récapituler le diagramme de classe général auquel on aboutit.
  6. Affiner le diagramme de classes en y ajoutant des contraintes, et une association qualifiée entre les classes Compagnie et Vol.
  7. Proposer une solution plus élaborée pour modéliser les vols, utilisant le concept de métaclasse, ou classe générique. Répertorier au passage les attributs indispensables pour chacune des classes du modèle, en suivant les conventions de nomination UML.
  8. Structurer le modèle statique de classes précédent en 2 paquetages. Quelles sont les solutions possibles ? Comparez-en avantages et inconvénients.

 

 

EXERCICE 2: Relations structurelles entre classes.

Soient les phrases suivantes:

  1. Un répertoire contient des fichiers.
  2. Une pièce contient des murs.
  3. Les modems et les claviers sont des périhériques d'entrée-sortie.
  4. Les transactions boursières sont des achats ou des ventes.
  5. Un compte bancaire peut appartenir à une personne physique ou morale.

 

QUESTION

Déterminez la relation statique appropriée (généralisation, composition, agrégation ou association) dans chaque phrase de l'énoncé précédent. Dessinez le diagramme de classe correspondant.