Projet : Gestionnaire de tournois d’échecs
Réalisé par :
Aymen FAYADHI
Aymen FOURATI
Mehdi JERBI
Mohamed AYADI
Professeur : Sonia Bouzidi
Année universitaire : 2021 2022
Groupe : RT3/2
Plan :
I. Contexte du projet
II. Spécifications fonctionnelles
III. Spécifications non fonctionnelles
IV. Diagramme de Cas d'utilisations
V. Interface graphique d’utilisateurs
VI. Description des cas d’utilisations
VII. Conclusion
I. Contexte du projet :
Le jeu d'échecs est le jeu le plus populaire et ancien de l’histoire de
l’humanité. En effet, les joueurs se battent pour les titres de meilleurs joueurs
avec une avidité croissante surtout avec la prolifération digitale du jeu appuyé
par les réseaux sociaux et les films consacrés à ce fameux art. On se propose de
realis
1. Description du tournoi :
D'une manière générale, les tournois d'échecs se présentent sous trois
formes : le système suisse, le tournoi à la ronde et le match. Le système suisse,
ou "suisse" en abrégé, est le plus populaire.
a. Le système à la ronde :
Un tournoi round-robin est un tournoi où tout le monde joue contre tout
le monde.Les tournois roundrobin sont utilisés pour déterminer la plupart des
championnats nationaux et sont la norme dans les tournois internationaux.
Un tournoi toutes rondes permet les avantages suivants:
- La part du hasard est minimisée puisque tous les participants se
rencontrent.
- Un participant peut remporter la victoire finale en dépit de quelques
contre-performances, ce qui n'est pas le cas dans un système à
élimination directe.
Et impose les inconvénients suivants :
- Le format rond robin est très gourmand en termes de temps : vu que tout
le monde joue contre tout le monde.
- L’asymétrie nuit à l'équité, puisque la motivation de l'adversaire n'est pas
la même au début et à la fin de la compétition.
- Il n'y a pas de match final spectaculaire.
b. Le système suisse :
Le système suisse couramment utilisé dans les compétitions d'échecs où
les joueurs ou les équipes doivent s'affronter deux à deux. Il s'agit d'une méthode
d'appariement permettant d'organiser des tournois regroupant un grand nombre
de protagonistes en un nombre de confrontations réduit.
En effet pour un nombre 2 a la puissance n de joueurs on n’a besoin que de
n rounde pour déterminer un classement final.
c. Le système à élimination directe :
Un tournoi à élimination directe est un tournoi où le perdant de n'importe
quelle partie est éliminé. Cependant, il n'est pas éliminé de la compétition, dans
certains cas, des matchs supplémentaires sont ajoutés, comme la troisième
place, par exemple.
2. Intérêt du projet :
On se propose de réaliser une application de gestion de tournoi d’échecs
qui vise à englober les différents types de tournoi sur une seule plateforme. En
effet, l’utilisateur peut composer entre différents types afin de générer un
système d'appariement adéquats à un nombre données de joueurs.
Nous considérons que ce projet lie innovation et efficacité puisque
n’importe quel utilisateur, doté d’une simple connaissance des jeux d'échecs et
des algorithmes d'appariements, peut aisément manier notre application.
II. Spécifications fonctionnelles :
● Gérer les organisateurs.
● Ajouter un participant.
● Consulter le classement.
● Consulter les matchs joués.
● Gérer un profil.
● Consulter le programme du tournoi.
● Spécifier l’issue d’un match.
● Authentification (participant ou administrateur).
● Générer les matchs du tournoi.
● Créer un tournoi.
● Éliminer un participant.
● Choisir un type de tournoi.
III. Spécifications non fonctionnelles :
● Assurer la responsivité du design.
● Assurer la confidentialité des données.
● Convivialité
● Toutes les actions ne dépassent pas 5 secondes.
● Assurer un système de notification pour les joueurs une fois un
changement au niveau des programmes se produit.
● La fiabilité.
● Mise à jour instantanée après chaque modification
● Le système doit être sécurisé.
IV. Diagramme de cas d’utilisation :
VI. Interface graphique d’utilisateurs :
Interface de login de l’admin / joueur
Menu principale pour le joueur
Menu principale pour l’admin
Cas d’utilisation gestion de tournois
Cas d’utilisation Consulter programme
Cas d’utilisation Consulter Programme
VI. Description des cas d’utilisations :
Description de cas d’utilisation : «Gestion des tournois » :
Résumé :
Création d’un tournoi , l’ajout des participants et l’annulation d’un tournoi.
Acteur :
Administrateur
Précondition :
Le cas d’utilisation « Se loger » est déjà exécuté et le compte est associé à
un administrateur.
Déroulement nominal :
L’administrateur demande la gestion des tournois
Le système affiche 4 options “Créer tournoi” , “Affecter joueur” et
“Terminer tournoi”, “Déclarer une nouvelle phase”.
cas 1 : Créer tournoi
L’administrateur choisit l’option “Créer tournoi”
Le système présente une fiche contenant les champs liés à un tournoi,
comme nom, date, système, nombre de joueurs...etc.
L’administrateur remplit la fiche.
Le système crée le tournoi et met son état à “en cours”.
cas 2 : Affecter joueur
L’administrateur choisit l’option “Affecter joueur”
Le système affiche la liste des tournois dont l’administrateur est gérant.
L’administrateur choisit un tournoi.
Le système affiche la liste des joueurs inscrits.
L’administrateur choisit un joueur à ajouter.
Le système affecte le joueur au tournoi avec un score initial nul.
cas 3 : Terminer tournoi
L’administrateur choisit l’option “Terminer tournoi”
Le système affiche la liste des tournois dont l’administrateur est gérant.
L’administrateur choisit un tournoi.
Le système change l'état du tournoi à “terminé”.
Le système met à jour le classement.
Le système met à jour le programme.
cas 4 : Déclarer une nouvelle phase
L’administrateur choisit l’option “Déclarer une nouvelle phase”
Le système affiche la liste des tournois dont l’administrateur est gérant.
L’administrateur choisit un tournoi.
Le système présente une fiche contenant les champs : nombre de joueurs
à prendre, système d'appariement suivant.
L’administrateur remplit la fiche.
Le système met à jour le tournoi, prend les meilleurs joueurs du
classement précédent (nombre de joueurs à été précisé par
l’administrateur) et élimine les autres.
Post condition :
Le tournoi est bien modifié ou créé.
Description de cas d’utilisation : « Ajouter un administrateur » :
Résumé :
Ajouter un administrateur et saisir les données relatives.
Acteur :
Administrateur
Précondition :
Le cas d’utilisation « Se loger » est déjà exécuté et le compte est associé à
un administrateur.
Déroulement nominal :
L’administrateur demande l’ajout d’un autre administrateur
Le système présente une fiche contenant les champs liés à un
administrateur, comme nom, prénom, pseudonyme, mot de passe...etc.
L’administrateur remplit la fiche
Le système sauvegarde les données en cryptant le mot de passe.
L’exception :
L’administrateur demande de sauvegarder sans remplir tous les champs :
->Le système affiche un message « Tous les champs sont obligatoires »
L’administrateur saisie un pseudonyme déjà utilisé :
->Le système affiche un message « Le pseudo existe déjà »
Post condition :
L’administrateur est ajouté au système.
Description de cas d’utilisation : « Se loger »
Résumé :
S’authentifier en donnant les données personnelles pour se loger à la
plateforme
Acteur :
Administrateur
Joueur
Précondition :
L’utilisateur (Administrateur/Joueur) possède un compte pour s’identifier.
Déroulement nominal :
-L’utilisateur demande de se loger.
-Le système lui présente une fiche contenant les champs login et
motDePasse.
-L’utilisateur remplit la fiche.
-Le système demande à l’utilisateur de remplir un test Captcha pour
vérifier qu’il n’est pas un robot
-Le système vérifie la correspondance des données
-Le système distingue le type du compte ( Administrateur or Joueur)
-Le système affiche un message de bienvenue
-Le système affiche les fonctionnalités selon le type du compte.
L’exception :
L’utilisateur demande de se loger sans remplir tous les champs :
->Le système affiche un message « Tous les champs sont obligatoires »
L’utilisateur demande de se loger sans vérifier le test Captcha :
->Le système affiche un message « Le Captcha doit être verifier »
L’utilisateur demande de se loger avec des données erronées :
->Le système affiche un message « login ou mot de passe erroné »
Post condition :
L’utilisateur a accès à la plateforme.
Description de cas d’utilisation : « Consulter Le classement »
Résumé :
Consulter le classement et voir le score de chaque joueur durant le
tournoi.
Le système actualise le contenu à chaque génération d’une nouvelle
ronde.
Acteur :
Administrateur
Joueur
Précondition :
-Le cas d’utilisation « Se loger » est déjà exécuté.
Déroulement nominal :
-L’utilisateur clique sur le bouton du Classement
-Le système affiche une page de joueurs organisés en fonction de leurs
scores
-L’utilisateur peut contrôler la manière d'affichage du classement
(Ascendant/Descendant)
-L’utilisateur peut consulter les profils des joueurs a partir de la page du
classement en cliquant sur leur noms
Description de cas d’utilisation : « Consulter l’historique des matchs joués»
Résumé :
Consulter l’historique des matchs joués et voir les joueurs de chaque
partie.
Acteur :
Joueur
Précondition :
-Le cas d’utilisation « Se loger » est déjà exécuté et le compte est associé à
un Joueur.
Déroulement nominal :
-Le Joueur clique sur le bouton “Consulter l’historique des matchs joués”
-Le système affiche une page contenant son historique.
-L’utilisateur choisit le match qu’il veut consulter.
-Le système affiche une page contenant les joueurs et l’issue de ce match.
-L’utilisateur peut consulter les profils des joueurs en cliquant sur leur
nom.
Post condition :
L’historique a été consulté.
Description de cas d’utilisation : « Spécifier l’issue d’un match » :
Résumé :
Saisir le résultat d'un match spécifié
Acteur :
Administrateur
Précondition :
-Le cas d’utilisation « Se loger » est déjà exécuté et le compte est associé à
un administrateur.
Déroulement nominal :
-L’administrateur clique sur le bouton “Spécifier l’issue d’un match”
-Le système lui affiche les matchs de la ronde actuelle.
-L’administrateur choisit un match.
-Le système lui affiche 4 options “nulle”, “blanc gagne”, “noir gagne” et
“annulé” .
-L’administrateur choisit le résultat d'un match parmi ces options.
-Le système sauvegarde les données.
-Le système réaffiche les matchs de la ronde actuelle.
Post condition :
Le résultat du match est bien enregistré.
Description de cas d’utilisation : «Éliminer un joueur » :
Résumé :
Eliminer un joueur d’un tournoi (pour des raisons de triche, d’absence ou
autre)
Acteur :
Administrateur
Précondition :
-Le cas d’utilisation « Se loger » est déjà exécuté et le compte est associé à
un administrateur.
Déroulement nominal :
-L’administrateur clique sur le bouton "Éliminer un joueur”
-Le système lui affiche la liste des tournois dont il est gérant.
-L’administrateur choisit un tournoi.
-Le système affiche la liste des joueurs du tournoi choisi.
-L’administrateur choisit un joueur à éliminer.
-Le système élimine le joueur
-Le système affiche la nouvelle liste des joueurs .
Post condition :
Le joueur est éliminé.
Description de cas d’utilisation : « Générer les matchs d’une ronde » :
Résumé :
On génère les matchs par un algorithme choisi. Ce cas d’utilisation
s’entend jusqu'à la fin de la dernière ronde.
Acteur :
Administrateur
Précondition :
-Une ronde est arrivée à sa fin.
-Le tournoi a été créé.
Déroulement nominal :
L’administrateur entre les résultats d’une ronde .
Le système génère la ronde suivante.
Le système actualise le classement des joueurs.
Le système actualise le programme.
L’exception :
Il n’existe pas de ronde précédente ; Le tournoi vient d'être créé :
->Le système génère les matchs de la ronde à partir des paramètres
initiaux du tournoi , il génère un classement initial et un programme
initial.
Post condition :
Les matchs de la ronde ont été générée.
Description de cas d’utilisation : « Consulter le programme du tournoi » :
Résumé :
Tous les joueurs et administrateurs peuvent consulter le programme du
tournoi qui est mis à jour au fur et à mesure de l’avancement du tournoi. Il
contient les matchs des rondes suivantes ainsi que les pauses.
Acteur :
Administrateur
Joueurs
Précondition :
Le tournoi a été créé.
Déroulement nominal :
Le système génère le programme.
L’administrateur entre les résultats de la première ronde.
Le système met à jour le programme avec les nouveaux matchs.
Le même processus se répète jusqu'à la fin du tournoi.
L’exception :
Un joueur est éliminé entre les rounds, le système doit mettre à jour le
programme. `
Post condition :
Le programme est prêt à être consulté par les joueurs et administrateurs.
Description de cas d’utilisation : « Gérer le profile » :
Résumé :
Chaque joueur peut gérer son profil : voir ou changer sa photo, sa
biographie. consulter les matchs qu’il va jouer dans le cas où il est inscrit dans un
tournoi.
Acteur :
Joueur
Précondition :
Un joueur s’inscrit sur la plateforme.
Déroulement nominal :
Un joueur crée un profil sur la plateforme.
Le joueur accède à son profil et effectue des modifications. `
Post condition :
Le profil d’un joueur a été géré.
Exemple de gestion pour le joueur : Cas d'utilisation “‘s’inscrire”
diagramme de classes d’analyse
diagramme de classes détaillé
Diagramme de séquence : Générer les matchs d’une ronde
Diagramme de séquence : Spécifier l’issue d’un match
Diagramme de packages
Diagramme de composants
Diagramme de déploiement
VII. Conclusion :
En conclusion, EasytoChess présente, malgré son allure simple, une
réponse à la contrainte d’évolutivité imposée par la nature progressive des
compétitions. Nous pouvons affirmer avec une grande confiance que ce projet
peut rivaliser avec les plus grands produits sur le marché.
A l’intention d’en faire plus qu’un simple modèle de conception, on vous
remercie pour votre attention.