docs(uml): add use case diagram (#3)

This commit is contained in:
djelalb 2024-11-18 11:39:39 +01:00 committed by GitHub
parent a297f92f03
commit ab088c3e9d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 97 additions and 0 deletions

View File

@ -15,6 +15,7 @@ Développement d'une reproduction du jeu [Geometry Dash](https://fr.wikipedia.or
- [Sujet](./docs/Sujet-Projet-Geometry-Dash.pdf)
- [Conventions développement informatique](./docs/conventions.md)
- [Kanban Board (Trello)](https://trello.com/b/ugG5Siaw/cnam-geometry-dash)
- [Diagrammes UML](./uml/README.md)
## Prérequis

10
uml/README.md Normal file
View File

@ -0,0 +1,10 @@
# Diagramme UML
Les modélisation UML du projet sont disponibles sous forme de [PlantUML](https://www.plantuml.com) dans ce dossier. Les diagrammes sont générés automatiquement à partir des fichiers `.puml` afin de pouvoir être versionnés et mis à jour facilement. Vous pouvez les consulter en récupérant le contenu des fichiers et en les prévisualisant sur [PlantUML](https://www.plantuml.com).
## Diagrammes
- [Diagramme de classes](./class-diagram.puml)
- [Diagramme d'activités](./activity-diagram.puml)
- [Diagramme de cas d'utilisation](./use-case-diagram.puml)
- [Diagramme d'états du joueur](./player-state-diagram.puml)

86
uml/use-case-diagram.puml Normal file
View File

@ -0,0 +1,86 @@
@startuml Geometry Dash - Diagramme de cas d'utilisation
left to right direction
actor Joueur as Joueur
actor "Créateur de cartes" as Createur
rectangle Jeu {
usecase "Démarrer le jeu" as DemarrerJeu
usecase "Afficher le menu principal" as AfficherMenu
}
rectangle "Menu principal" {
usecase "Configurer les paramètres" as ConfigurerParametres
usecase "Accéder à la sélection des niveaux" as SelectionNiveau
usecase "Accéder à l'éditeur de cartes" as EditeurCartes
usecase "Consulter les statistiques" as ConsulterStats
usecase "Voir les trophées et récompenses" as VoirTrophees
}
rectangle "Sélection des niveaux" {
usecase "Parcourir les niveaux disponibles" as ParcourirNiveaux
usecase "Afficher les détails d'un niveau" as AfficherDetailsNiveau
usecase "Commencer un niveau" as CommencerNiveau
}
rectangle "Pendant un niveau" {
usecase "Jouer et interagir avec le niveau" as JouerNiveau
usecase "Mettre le jeu en pause" as MettrePause
}
rectangle "Paramètres" {
usecase "Régler le volume du jeu" as ReglerVolume
usecase "Changer la musique de fond" as ChangerMusique
usecase "Lire les instructions d'aide" as LireAide
}
rectangle "Création de cartes" {
usecase "Créer une nouvelle carte" as CreerNouvelleCarte
usecase "Modifier une carte existante" as ModifierCarte
usecase "Tester une carte" as TesterCarte
usecase "Partager une carte" as PartagerCarte
usecase "Télécharger des cartes de la communauté" as TelechargerCartes
}
rectangle "Statistiques" {
usecase "Afficher les statistiques globales" as AfficherStatsGlobales
usecase "Afficher les statistiques de session" as AfficherStatsSession
}
rectangle "Trophées et récompenses" {
usecase "Voir les trophées débloqués" as VoirTropheesDebloques
usecase "Voir les pièces collectées" as VoirPieces
}
Joueur --> DemarrerJeu
DemarrerJeu --> AfficherMenu
AfficherMenu --> ConfigurerParametres
AfficherMenu --> SelectionNiveau
AfficherMenu --> EditeurCartes
AfficherMenu --> ConsulterStats
AfficherMenu --> VoirTrophees
SelectionNiveau --> ParcourirNiveaux
ParcourirNiveaux --> AfficherDetailsNiveau
ParcourirNiveaux --> CommencerNiveau
CommencerNiveau --> JouerNiveau
JouerNiveau --> MettrePause
ConfigurerParametres --> ReglerVolume
ConfigurerParametres --> ChangerMusique
ConfigurerParametres --> LireAide
EditeurCartes --> CreerNouvelleCarte
EditeurCartes --> ModifierCarte
CreerNouvelleCarte --> TesterCarte
ModifierCarte --> TesterCarte
CreerNouvelleCarte --> PartagerCarte
ModifierCarte --> PartagerCarte
EditeurCartes --> TelechargerCartes
ConsulterStats --> AfficherStatsGlobales
ConsulterStats --> AfficherStatsSession
VoirTrophees --> VoirTropheesDebloques
VoirTrophees --> VoirPieces
Createur --> CreerNouvelleCarte
Createur --> ModifierCarte
@enduml