Modalités de gestion de l'achat d'un billet de train
Un client souhaitant acheter un billet de train doit le faire à partir du site web de la compagnie de train. Une réservation doit être effectuée plus de 2 jours à l'avance. Il choisit sur la page d'accueil les villes de départ et d'arrivée, la date de départ, les heures de départ et d'arrivée et la classe désirée (1ère ou 2nde classe).
S'il ne reste pas de place libre correpondant au choix effectué, un message est affiché à l'écran. Ce message reprend les informations communiquées par le client et précise qu'il n'y a pas de place libre pour ce train.
Si la réservation est possible, un numéro de réservation est communiqué au client, qui s'en servira pour payer puis retirer son billet.
Le client dispose d'un délai de deux jours pour payer son billet. Il doit payer à partir du site web, en communiquant le numéro de réservation, et le numéro et la date de validité de sa carte bancaire. Un message indiquant les formalités pour le retrait du billet est alors affiché.
Le client peut payer de cette manière à tout moment pendant ces deux jours.
Si le client ne paie pas dans les deux jours, la réservation est annulée mais pas détruite, car on souhaite faire des statistiques sur le nombre d'annulations. Le client n'en est pas informé.
Le retrait du billet se fait à partir d'une borne interactive durant la journée du départ. Le client communique son numéro de réservation. S'il a payé son billet, le billet et un reçu sont édités à partir de la borne interactive et le client peut les retirer. Sinon, un message indiquant que sa réservation a été annulée est affiché.
Simplifications :
- On suppose que l'achat concerne un aller simple pour un seul parcours et une seule personne.
- On suppose que le client ne fait pas d'erreurs lorsqu'il tape son numéro de réservation et que le paiement est toujours correct : le montant exact, le numéro et la date de validité de la carte bancaire sont corrects et que le client a payé à temps.
- On ne gère pas le débit du compte bancaire suite au paiement du billet, ni la verification de la carte bancaire.
- On ne modélise pas l'IHM.
- Le diagramme de classes partiel et certains diagrammes de séquences sont donnés ci-dessous.
- Le client vient toujours prendre son billet dans les temps.
Diagramme de classes (partiel)
Un diagramme de séquence (vérifier s'il reste une place libre)
Questions :
1. En vous aidant du diagramme de classes partiel, compléter les diagrammes de séquence fournis, en précisant les arguments des évènements et des méthodes. Trouver les diagrammes de séquences manquants.
2. Compléter le diagramme de classes donné avec les informations suivantes :
- Rubriques de "RESERVATION"
- Noms et cardinalités des associations
- Méthodes (noms uniquement)
- Agrégations et compositions (losange vide et losange plein noir)
Notes sur le diagramme de classes :
- Un parcours est défini pour une ville de départ et une ville d'arrivée. L'attribut LongueurParcours représente la longueur du parcours. L'attribut PrixParcours représente le montant du parcours qui sert de base au calcul du prix des billets.
- La notion de "TRAIN" ici ne représente pas l'objet physique, mais représente plutôt un voyage, pour un parcours bien défini, à une date donnée et des heures de départ et d'arrivée donnée. Un train est identifié par un code.
- Un train est divisé en 2 parties : une 1ère partie pour la 1ère classe et une 2nde pour la 2nde classe. Dans la classe "CLASSE", les attributs NbPlaces, NbRéservées, NbLibres et NbAnnulées représentent respectivement : le nombre total de places, le nombre de places réservées, le nombre de places libres et le nombre de réservations annulées pour un train et une classe donnés. La valeur de l'attribut PrixBillet est calculé à partir des attributs PrixParcours et TauxClasse.
- Une instance de "PLACE", quant à elle, représente une place identifiée dans chaque partie de train par un numéro de wagon et un numéro de place dans le wagon. L'attribut EtatPlace permet de savoir si une place est réservée ou pas.