You are here: Links of Interest » HEIG-VD » [GEN] Génie Logiciel » Ars Tactica: Rapport Intermédiaire » Ars Tactica: Rapport Intermédiaire - Cas d'Utilisation
Ars Tactica: Rapport Intermédiaire - Cas d'Utilisation
−Table of Contents
Ars Tactica: Rapport Intermédiaire - Cas d'Utilisation
<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
- Les credentials de l'utilisateur ne sont pas valides
- Le serveur répond de manière négative
- Le jeu présente un message d'erreur à l'utilisateur
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
- La connexion est interrompue lors d'une partie
- Si un joueur met plus d'un certain temps à ne rien faire durant son tour il est éliminé
- Si un joueur est éliminé
- Le jeu affiche une notification “Vous avez perdu”
- Le jeu affiche le menu principal
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