diff --git a/README.md b/README.md index f8493c4..652a974 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/uml/README.md b/uml/README.md new file mode 100644 index 0000000..2d9271f --- /dev/null +++ b/uml/README.md @@ -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) diff --git a/uml/use-case-diagram.puml b/uml/use-case-diagram.puml new file mode 100644 index 0000000..5ce7ba8 --- /dev/null +++ b/uml/use-case-diagram.puml @@ -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