<uml title=“UseCase”>
Anonymous –> (Create Account)
Player –> (Play a Game)
(Play a Game) ..> (Queue up for a Game) : <include>
(Queue up for a Game) ..> (Log in to the Client) : <include>
Player <|– Administrator
Administrator –> (Ban Account)
(Ban Account) ..> (Login in to the Admin)
Administrator <|– :System Administrator:
:System Administrator: –> (Start Server)
</uml>
Acteurs
Nom | Description |
Anonymous | Utilisateur ne possédant pas de compte |
Player | Utilisateur possédant un compte |
Administrator | Rôle permettant d’administrer le système |
Rôles
Nom | Description |
Create Account | Un utilisateur peut créer un compte |
Login to the Game | Un utilisateur peut s’authentifier auprès du serveur et récupérer une session |
Queue up for a Game | Un utilisateur peut entrer dans la file d’attente pour une partie |
Play a Game | Un utilisateur peut participer à une partie |
Login to the Admin | Un administrateur peut se connecter à l’interface d’administration |
Ban Account | Un administrateur peut bannir un joueur |
Start Server | Un administrateur système peut démarrer le serveur de jeu |
Scénarios
Create Account
Prérequis: Le client doit être lancé
Le jeu présente l'écran de création de compte
L'utilisateur remplis le formulaire
L'utilisateur soumet le formulaire
Le client envoie une demande de création de compte au serveur
Le serveur crée le compte (LoginSystem
)
Le serveur répond favorablement au jeu
Le jeu présente l'écran de connexion
Scénarios Alternatifs
Le compte existe déjà
Le nom d'utilisateur est déjà pris
Le serveur répond de manière négative
Le jeu présente un message d'erreur à l'utilisateur
Login to the Game
Prérequis: Le client doit être lancé, L'utilisateur doit avoir crée un compte
Le jeu présente l'écran de connexion
L'utilisateur saisit ses credentials (username, password)
Le client envoie une demand de connexion au serveur
Le serveur authentifie l'utilisateur (LoginSystem
)
Le serveur répond favorablement à la connexion
Le jeu présente le menu principal
Scénarios Alternatifs
Queue up for a Game
Prérequis: L'utilisateur doit être authentifié auprès du serveur
L'utilisateur sélectionne la file d'attente de son choix (1v1, …)
Le jeu envoie une notification au serveur
Le serveur place le joueur dans la file d'attente
Le serveur attend que suffisament de joueurs soient dans la file d'attente (2 joueurs pour du 1v1, 4 joueurs pour du 2v2, etc)
Le serveur crée le lobby et y place les joueurs
Le serveur notifie les clients de la création d'un Lobby
Le jeu affiche l'écran de Lobby
L'utilisateur signale qu'il est prêt
Le jeu envoie une notification au serveur
Le serveur attend que tous les joueurs soient prêts (ou que le timer interne soit échu)
Le serveur crée une partie et y place les joueurs
Le serveur notifie les clients du début de la partie
Le jeu affiche l'écran de jeu
Scénarios Alternatifs
Le timer du lobby expire
Le serveur notifie les clients que le lobby est fermé
Le jeu affiche le menu principal
Le jeu affiche un message d'erreur
Play a Game
Prérequis: Le joueur doit être dans une partie
Le serveur notifie les clients qu'ils sont entrés dans une partie
Le jeu affiche l'écran de jeu
Le serveur crée l'état de jeu original
Le serveur détermine l'ordre de passage des joueurs
A effectuer tant qu'il reste plus d'un joueur
Le serveur informe les clients du joueur en cours
Tant que le joueur peut effectuer une action
Le joueur effectue une action (déplacement, attaque, …)
Le serveur valide l'action et l'applique à l'état de jeu
Le serveur informe les clients des changements dans l'état de jeu
Si un joueur à été éliminé
Informer tous les joueurs du joueur éliminé
Le joueur termine son tour
Le serveur sélectionne le prochain joueur dans l'ordre de passage
La serveur notifie de la fin de la partie
Le jeu affiche le menu principal
Scénarios Alternatifs
Login to the Admin
L'administrateur ouvre son navigateur à l'adresse de la console d'administration
L'administrateur entre ses credentials pour se connecter
La console d'administration vérifie la validité des credentials
La console d'administration affiche son menu de gestion
Ban Account
Prérequis: Connexion à la console d'administration
L'administrateur sélectionne un compte utilisateur
L'administrateur ajoute un banissement
Start Server
L'administrateur système se connecte au serveur
L'administrateur système lance l'application serveur