🖨️ Version PDF
@startuml title Cas d'utilisation : Réserver un vol (Sequence) actor Client participant "Interface Réservation" as IHM participant "Système de Réservation" as System participant "Vol" as Vol participant "Réservation" as Reservation participant "Passager" as Passager == Démarrage avec recherche == Client -> IHM : rechercherVols(critères) IHM -> System : rechercherVols(critères) System -> Vol : getVolDisponible() Vol --> System : listeVols System --> IHM : afficherVols(listeVols) == Sélection du vol == Client -> IHM : sélectionnerVol(vol) IHM -> System : créerRéservation(client, vol) System -> Passager : saisirInfos(passager) Passager --> System : infosValides == Création de la réservation == System -> Reservation : new Réservation(vol, passager) activate Reservation Reservation -> Vol : vérifierDisponibilité() Vol --> Reservation : disponible = true Reservation -> Reservation : état = "en attente" deactivate Reservation System --> IHM : afficherConfirmation("Réservation créée !") IHM --> Client : message("Réservation effectuée avec succès !") @enduml
@startuml title Cas d'utilisation : Annuler une réservation (Sequence) actor Client participant "Interface Réservation" as IHM participant "Système de Réservation" as System participant "Réservation" as Reservation participant "Vol" as Vol Client -> IHM : sélectionnerRéservation(id) IHM -> System : annulerRéservation(id) System -> Reservation : getEtat() Reservation --> System : état = "confirmée" alt [Réservation confirmée ou en attente] System -> Reservation : annuler() activate Reservation Reservation -> Vol : libérerPlace() Vol --> Reservation : OK Reservation -> Reservation : état = "annulée" deactivate Reservation System --> IHM : message("Réservation annulée avec succès") else [Réservation déjà annulée ou vol fermé] System --> IHM : message("Annulation impossible") end @enduml
@startuml title Diagramme d'Etat : Les états d'un Vol [*] --> Fermé : création Fermé --> Ouvert : ouvrirRéservation() Ouvert --> Fermé : fermerRéservation() Fermé --> En_cours : décoller() En_cours --> Terminé : atterrir() Terminé --> [*] @enduml