61 Use_Case_Diagram
Alexis Drai edited this page 3 years ago

Diagramme de cas d'utilisation

Diagramme global

@startuml		

left to right direction		

actor "Utilisateur" as u		

rectangle Dice_App {		
  usecase "Créer une nouvelle partie" as UC1		
  usecase "Consulter les parties" as UC2		
  usecase "Faire une partie" as UC3		
  usecase "Supprimer une partie" as UC4		
  usecase "CRUD des joueurs globaux" as UC5		
  usecase "CRUD des groupes de dés" as UC6
}		

u --> UC1		
u --> UC2		
u --> UC3		
u --> UC4		
u --> UC5		
u --> UC6	

@enduml		

Créer une nouvelle partie

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Créer une nouvelle partie" as UC1
    usecase "Y associer un groupe de dés" as UC1_1
    usecase "Y associer un groupe de joueurs" as UC1_2
}

u --> UC1
  UC1 ..> UC1_1 : include
  UC1 ..> UC1_2 : include

@enduml

On peut créer une nouvelle partie.

  • Quand on crée une nouvelle partie, on doit y associer un groupe de dés.

  • Quand on crée une nouvelle partie, on doit y associer un groupe de joueurs.

Consulter les parties

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Consulter les parties" as UC2
}

u --> UC2

@enduml

On peut consulter les parties existantes.

Faire une partie

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Faire une partie" as UC3
    usecase "Lancer des dés" as UC3_1
      usecase "Activer le mode 'analogue'" as UC3_1_1
    usecase "_R__ du groupe favori de dés de la partie" as UC3_2
    usecase "CRUD des joueurs de la partie" as UC3_3
      note right of UC3_3
        C : include ->...
        R : N/A
        U : include ->...
        D : <- extend ...
        ... CRUD des joueurs globaux
      end note
    usecase "Consulter l'historique de la partie" as UC3_4
}

u --> UC3
  UC3_1 ..> UC3 : extend
    UC3_1_1 ..> UC3_1 : extend
  UC3_2 ..> UC3 : extend
  UC3_3 ..> UC3 : extend
  UC3_4 ..> UC3 : extend
  
@enduml

On peut faire une partie. Soit on charge une partie existante, soit on commence par créer une nouvelle partie

  • Quand on fait une partie, on peut lancer des dés.

    • Quand on lance des dés, on peut activer le mode "analogue".
  • Quand on fait une partie, on peut consulter le groupe favori de dés qu'on utilise.

  • Quand on fait une partie, on peut consulter le groupe de joueurs qui participent. On peut en ajouter un -- s'il n'existait pas dans les joueurs globaux, il y sera ajouté. On peut en modifier un, et la modification sera refletée chez les joueurs globaux. On peut en supprimer un : on a alors le choix de le supprimer des joueurs globaux, ou juste de la partie.

  • Quand on fait une partie, on peut consulter l'historique.

Supprimer une partie

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Supprimer une partie" as UC4
    usecase "Archiver le log" as UC4_1
}

u --> UC4
  UC4_1 ..> UC4 : extend

@enduml

On peut supprimer une partie.

  • Quand on supprime une partie, on peut choisir d'archiver le log.

CRUD des joueurs globaux

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Créer des joueurs globaux" as UC5_1
  usecase "Consulter des joueurs globaux" as UC5_2
  usecase "Modifier des joueurs globaux" as UC5_3
  usecase "Supprimer des joueurs globaux" as UC5_4
}

u --> UC5_1
u --> UC5_2
u --> UC5_3
u --> UC5_4

@enduml

On peut créer, consulter, modifer et supprimer les joueurs globaux.

CRUD des groupes de dés

@startuml

left to right direction

actor "Utilisateur" as u

rectangle Dice_App {
  usecase "Créer des groupes de dés" as UC6_1
    usecase "Créer des dés" as UC6_1_1
      usecase "Créer des faces" as UC6_1_1_1
    usecase "Consulter des dés" as UC6_1_2
      usecase "Consulter des faces de dés" as UC6_1_2_1
    useCase "Supprimer des dés" as UC6_1_3
  usecase "Consulter des groupes de dés" as UC6_2
  usecase "Modifier le nom d'un groupe de dés" as UC6_3
  usecase "Supprimer des groupes de dés" as UC6_4
}

u --> UC6_1
  UC6_1 ..> UC6_1_1 : include
    UC6_1_1 ..> UC6_1_1_1 : include
  UC6_1 <.. UC6_1_2 : extend
    UC6_1_2 <.. UC6_1_2_1 : extend
  UC6_1 <.. UC6_1_3 : extend
u --> UC6_2
  UC6_2 <.. UC6_1_2 : extend
u --> UC6_3
  UC6_3 <.. UC6_1_2 : extend
u --> UC6_4
  UC6_4 <.. UC6_1_2 : extend

@enduml

On peut créer, consulter, modifer (le nom), et supprimer les groupes favoris de dés.

  • Quand on créé un groupe, on doit créer, et on peut consulter et supprimer, des dés de ce groupe.

    • Quand on créé un dé, on créé les faces de ce dé.

    • Quand on consulte un dé, on consulte les faces de ce dé.

  • Quand on consulte un groupe, on peut consulter les dés de ce groupe.

  • Quand on modifie le nom d'un groupe de dés, on peut consulter les dés de ce groupe.

  • Quand on supprime un groupe de dés, on peut consulter les dés de ce groupe.