45 lines
1.3 KiB
Plaintext
45 lines
1.3 KiB
Plaintext
@startuml Usecase
|
|
' Diagramme de cas d'utilisation — Application web Flashcards (SPA/PWA)
|
|
' Le CRUD et le jeu sont volontairement isolés : le jeu ne dépend d'aucun cas du catalogue.
|
|
left to right direction
|
|
skinparam actorStyle awesome
|
|
skinparam packageStyle rectangle
|
|
|
|
actor "Utilisateur" as User
|
|
|
|
rectangle "Jeu — révision" {
|
|
usecase "Afficher une carte au hasard" as UC_Jouer
|
|
usecase "Tirer des cartes d'un thème" as UC_Theme
|
|
usecase "Révéler la réponse" as UC_Revele
|
|
}
|
|
|
|
rectangle "Gestion des cartes (CRUD)" {
|
|
usecase "Lister les cartes" as UC_Liste
|
|
usecase "Consulter une carte" as UC_Detail
|
|
usecase "Créer une carte" as UC_Create
|
|
usecase "Modifier une carte" as UC_Update
|
|
usecase "Supprimer une carte" as UC_Delete
|
|
}
|
|
|
|
' --- Jeu ---
|
|
User --> UC_Jouer
|
|
UC_Jouer ..> UC_Theme : <<extend>>
|
|
UC_Jouer --> UC_Revele : <<include>>
|
|
|
|
' --- CRUD : la liste est l'entrée unique, le détail est le point d'ancrage des actions ---
|
|
User --> UC_Liste
|
|
UC_Liste ..> UC_Detail : <<extend>>
|
|
UC_Liste ..> UC_Create : <<extend>>
|
|
UC_Detail ..> UC_Update : <<extend>>
|
|
UC_Detail ..> UC_Delete : <<extend>>
|
|
|
|
note bottom of UC_Delete
|
|
Suppression avec confirmation
|
|
end note
|
|
|
|
note bottom of UC_Revele
|
|
La réponse est cachée tant que
|
|
l'utilisateur ne la déroule pas
|
|
end note
|
|
|
|
@enduml |