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):
- Des compagnies aériennes proposent différents vols.
- Un vol est ouvert à la réservation et refermé sur
ordre de la Compagnie.
- Un client peut réserver des places sur un ou plusieurs
vols, pour des passagers différents.
- Une réservation concerne un seul passager sur un seul
vol.
- Une réservation peut être annulée ou confirmée.
- Un vol a un aéroport de départ et un aéroport d'arrivée.
- Un vol a une date et une heure de départ, une date et une
heure d'arrivée.
- Un vol peut comporter des escales dans des aéroports.
- Une escale a une heure d'arrivée et une heure de départ.
- 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:
- 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.
- Modélisation des phrases 6 et 10, autour de la notion
d'Aéroport :
- Quelles sont les différentes solutions pour modéliser
la phrase 6? Donner leurs avantages et leurs
inconvénients.
- Quelle est la multiplicité du côté de la
classe Aéroport impliquée par la modélisation
de la phrase 10?
- Modélisation des escales (phrases 8 et 9) :
- Effectuez une modélisation préliminaire des
phrases 8 et 9 à l'aide d'une nouvelle classe
Escale.
- Complétez la multiplicité des associations sur
le modèle (3,a).
- Proposez une solution plus élaborée pour modéliser
les escales, homogénéisant les relations Vol / Aéroport.
- Modélisation des phrases 3, 4 et 5 traitant du
concept de réservation:
- Faut-il distinguer les concepts de client et de
passager?
- A l'aide des phrases 4 et 5, complétez alors le modèle à l'aide
de nouvelles classes ad hoc.
- Modélisez la phrase 3 et complétez les
multiplicités des associations entre les classes.
- Récapituler le diagramme de classe général auquel on aboutit.
- Affiner le diagramme de classes en y ajoutant des contraintes, et
une association qualifiée entre les classes Compagnie et
Vol.
- 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.
- 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:
- Un répertoire contient des fichiers.
- Une pièce contient des murs.
- Les modems et les claviers sont des périhériques d'entrée-sortie.
- Les transactions boursières sont des achats ou des ventes.
- 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.