Cahier des charges - jennifer-thiery/projet-dev2 GitHub Wiki
Cahier des charges - Logiciel de gestion de tournoi de tennis de table (M. Delvaux)
Informations générales
- Auteurs du document : Nathan Gosiau, Charles Leclercq, Jennifer Thiery, Antoine Urger
- Historique de version :
- v1 : 05/10/2026 - Version initiale
Convention d’identification
| Élément | Format | Exemple |
|---|---|---|
| Règle métier | RM-xx | RM-01 |
| Donnée | D-xx | D-02 |
| Fonctionnalité | F-xx | F-03 |
| Exigence fonctionnelle | EF-xx.y (avec xx, le numéro de la fonctionnalité associée) | EF-03.1 |
| Exigence non-fonctionnelle | ENF-xx | ENF-04 |
1. Contexte
Présentation du client
Marc Delvaux. Président bénévole du TTC Les Raquettes du Bois, à Ottignies.
1.1. Présentation du projet
Chaque année, le TTC Les Raquettes du Bois organise l'Open de la Saint-Nicolas. Aujourd'hui, celui-ci est entièrement organisé par M. Delvaux à l'aide d'un classeur Excel. Cette organisation lui demande beaucoup de temps et des erreurs arrivent fréquemment.
M. Delvaux souhaiterait donc disposer d'un logiciel qui lui permette de gérer le tournoi de A à Z. Il pourrait y ajouter les joueurs, générer les poules, imprimer les feuilles de match, encoder les scores et obtenir le classement final.
1.2. Objectif du client
Avoir une solution informatique qui lui permet de noter les données du tournoi qui permet de limité le nombre d'erreur en automatisant des tâches comme la répartition des joueurs pour les poules et pour le tableau. La solution informatique doit aussi être capabale de restrancrire tout les matchs dans une liste qui sera prette à entre envoyée à la fédération de manière à éviter de devoir tout retranscrire à la main et à ne plus avoir de problème de retranscription.
2. Description générale
2.1. Vue d’ensemble du produit
…
2.2. Profils utilisateur
Ce produit est destiné à 3 utilisateurs : M. Delvaux, commanditaire du projet, et 2 membres du commité. M. Delvaux est responsable du tournoi et désire remplacer les Excel avec un outils plus fiable. Les membres du commité vont aider pendant le déroulement du tournoi. M. Delvaux désire que l'outils puisse l'aider depuis l'encodage des inscriptions jusque pendant le déroulement du tournoi. Il veux le contrôle sur tout.
2.3. Périmètre
…
2.4. Règles métier
- RM-01 Les participants doivent être réparti en fonction de leur classement fédéral.
- RM-02 Il est préférable de ne pas avoir deux joueurs d'un même club dans une même poule.
- RM-03 Le tournoi est séparer en 4 niveaux :
- Les jeunes (moins de 15 ans)
- Débutant (NC à E0)
- Intermédiaires (D6 à D0)
- Confirmés (C6 et au-dessus)
- RM-04 Un joueur peut être sur maximum 2 tableaux à la fois.
- RM-05 Un jeune (moins de 15 ans) peut jouer dans les tableaux adultes mais un adulte ne peut pas jouer dans le tableau des jeunes.
- RM-06 Un participant peut jouer dans le tableau qui correspond à son classement et le classement juste au-dessus, mais jamais celui en-dessous.
- RM-07 Un résultat n'est Officiel que si le participant possède une licence
- RM-08 Un score ne peut pas être modifié une fois entré.
- RM-09 Les matchs doivent être envoyé à la fédération avec le numéro de license de chaque joueur et le score set par set.
- RM-10 Un participant qui se retire avant le début du tournoi est retiré de la liste des inscrits et les poules sont réajustées. Le tournoi est considéré comme commencé dès que le premier match est lancé. À partir de ce moment, un participant ne peut plus être supprimé de la liste.
- RM-11 Un participant attendu à une table mais ne se présente pas, est déclaré forfait. Il reste dans la liste et la règle suivante s'applique (article 7 du règlement) :
- s'il a joué moins de la moitié de ses matchs de poule, tous ses rencontres sont effacées;
- sinon, ses résultats sont conservés et ses matchs restants sont perdus par forfait.
- RM-12 Chaque poule compte 3 ou 4 joueurs.
2.5. Données
-
D-01 Participant : Un participant est défini par leur nom, leur prénom, leur numéro de licence, leur club, leur classement fédéral, leur email et leur numéro de téléphone.
- Volume : 80 à 120 participants.
- Conservation : Q-02
- Opérations : Ajouter un participant, modier ses informations, supprimer un participant avant le tournois ou (peut-etre après ? Q-02)
-
D-02 Tableau : Un tableau est un regroupement de match dans un certain niveau (RM-03)
- Volume : maximun 4
- Conservation : Q-02
- Opérations : Crétion des tableau avant le tournoi
-
D-03 Match : Un match est défini par les participants au match ainsi que son résultat (F-NEW ajout resultat match)
- Volume : Dépend du nombres d'inscrit
- Conservation : Q-02
- Opérations : ajout automatique des matchs d'un tournoi. ajout d'un résultat après le match
-
D-04 Table : Une table peut etre soit libre soit occupé pa
- Volume : 12 tables
- Conservation : Toujours
- Opérations : Mettre à jour le match en cours sur la table
3. Exigences
3.1. Exigences fonctionnelles
Vue d'ensemble
| ID | Fonctionnalité | Priorité |
|---|---|---|
| F-01 | Ajouter des participants manuellement dans le logiciel | Indispensable |
| F-02 | Gérer la liste des participants | Indispensable |
| F-03 | Répartir les joueurs dans les différentes poules selon leurs niveaux | Indispensable |
| F-04 | Gestion des scores dans chaques poules | Indispensable |
| F-05 | Ajout des gagnants de chaques poules dans l'arbre du tournoi | Indispensable |
| F-06 | Enregistrement des scores de chaques matches pour la fédération | Indispensable |
| F-07 | Gérer l'avancement des matches dans le tableau | Indispensable |
| F-08 | Automatiser la répartition des tables selon leurs disponibilités | Optionnel |
| F-09 | Afficher la liste des prochains matches | Optionnel |
F-01 : Ajouter des participants manuellement dans le logiciel - Jennifer THIERY
L'utilisateur ajoute un participant à la liste des participants en renseignant ses informations (voir D-01). Il peut ensuite consulter la liste avec tous les participants inscrits.
Exigences :
- EF-01.1 Un participant est ajouté dans la liste avec ses informations (voir D-01).
- EF-01.2 L'utilisateur peut consulter la liste de tous les participants.
- EF-01.3 L'ajout ou la modification d'un participant est refusé si le numéro de licence figure déjà dans la liste.
- Critères d'acceptation : Le participant "Pierre Dupont" avec la licence "12345678" est déjà dans la liste. L'ajout d'un nouveau participant avec la licence "12345678" est refusé.
F-02 : Gérer la liste des participants - Jennifer THIERY
Après avoir ajouter des participants, l'utilisateur peut ensuite modifier ou supprimer des participants.
Exigences :
- EF-02.1 L'utilisateur peut modifier les informations d'un participant existant.
- Critères d'acceptation : L'utilisateur change le classement de "Pierre Dupont". La modification est enregistrée et visible dans la liste.
- EF-02.2 L'ajout ou la modification d'un participant est refusé si le numéro de licence figure déjà dans la liste.
- Critères d'acceptation : Le participant "Pierre Dupont" avec la licence "12345678" est déjà dans la liste. L'utilisateur modifie la licence de "Martin Dubois" en "12345678", déjà attribuée à "Pierre Dupont". La modification est refusée, car ce numéro de licence appartient à un autre joueur.
- EF-02.3 L'utilisateur peut supprimer un participant, à condition que le tournoi n'ait pas encore commencé.
- Critères d'acceptation : Le participant "Pierre Dupont" est déjà dans la liste.
- Le tournoi n'a pas encore commencé : L'utilisateur supprime "Pierre Dupont" qui se retire. La suppression est accepté (voir RM-10).
- Le tournoi a déjà commencé : L'utilisateur tente de supprimer "Pierre Dupont". La suppression est refusé (voir RM-11).
- Critères d'acceptation : Le participant "Pierre Dupont" est déjà dans la liste.
F-03 : Répartir les joueurs dans les différentes poules selon leurs niveaux - Jennifer THIERY
L'utilisateur lance la répartition des joueurs inscrits dans un tableau en plusieurs poules. Le logiciel forme les poules selon le classement fédéral des joueurs et leur club, puis l'utilisateur peut consulter la composition de chaque poule de chaque tableau.
Exigences :
- EF-02.1 L'utilisateur peut générer les poules d'un tableau. Le logiciel répartit tous les joueurs inscrits à ce tableau (voir RM-03 et RM-12).
- Critères d'acceptation : Il y a 8 joueurs inscrits dans le tableau "Débutants". Le logiciel généra 2 poules de 4 joueurs
- EF-02.2 Le logiciel répartit les joueurs dans les poules en serpentin (voir RM-01).
- EF-02.3 Tant que le tournoi n'a pas commencé, l'utilisateur peut regénérer une nouvelle composition des poules (voir RM-10).
- Critères d'acceptation : Le tournoi n'a pas encore commencé et le participant "Pierre Dupont" se retire. L'utilisateur régénère une nouvelle composition ou les nouvelles poules ne contiennent plus "Pierre Dupont"
- EF-02.3 L'utilisateur peut consulter la composition de chaque poule d'un tableau.
F-04 : Gestion des scores dans chaque poule - Nathan GOSIAU
Le logiciel doit permettre d'encoder les scores des matchs et de calculer automatiquement le classement des joueurs dans chaque poule.
Exigences :
- EF-03.1 Le logiciel doit permettre d'encoder les scores des matchs.
- Critère d'acceptation : Les scores encodés sont enregistrés et le classement se met à jour automatiquement.
- EF-03.2 Le logiciel doit calculer automatiquement le classement en fonction du nombre de victoires.
- EF-03.3 En cas d'égalité, le logiciel doit départager les joueurs dans l'ordre : confrontation directe pour deux joueurs, rapport Victoire/ défaite, et tirage au sort si nécessaire.
- Critère d'acceptation : En cas d'égalité, le logiciel applique correctement les règles de départage.
Données impliquées : D-01 Participant , D-02 Tableau , D-03 Match
F-05 : Ajout des gagnants de chaque poule dans l'arbre du tournoi - Nathan GOSIAU
Le logiciel doit sélectionner les deux meilleurs joueurs de chaque poule et les placer automatiquement dans un arbre à élimination directe.
Exigences :
- EF-04.1 Le logiciel doit sélectionner automatiquement les deux premiers joueurs de chaque poule.
- Critère d'acceptation : Les deux premiers de chaque poule sont correctement ajoutés dans l'arbre de leur tableau.
- EF-04.2 Le logiciel doit générer un arbre de 8, 16 ou 32 places pour chaque tableau, selon le nombre de qualifiés.
- EF-04.3 Le logiciel doit séparer les deux qualifiés d'une même poule dans des moitiés opposées. Si il y a des places libres, les meilleurs premiers sont exemptés du premier tour.
- Critère d'acceptation : L'arbre respecte le placement des joueurs et gère les places manquantes.
Données impliquées : D-01 Participant , D-02 Tableau , D-03 Match
F-06 : Enregistrement des scores de chaques matchs pour la fédération - Charles LECLERCQ
Les matchs sont enregistrés automatiquement dans un fichier sous forme de liste pour permettre l’envoi à la fédération
Exigences :
- EF-05.1 Les données de chaques match sont enregistré après chaque match.
- EF-05.2 Chaque matchs est introduit automatiquement dans un fichier pour la fédération.
- Critère d’acceptation : Le fichier suit la structure demandé par la fédération (voir RM-09).
Données impliquées : D-01 participant, D-03 Match
F-07 Gérer l'avancement des matches dans le tableau - Antoine URGER
Génere automatiquement les futures match d'après les victoires et defaites des participants.
Exigence :
- EF-06.1 Un match ne doit contenir 2 joueurs
- EF-06.2 Les joueurs doivent avoir finir leurs match précedent pour pouvoir etre inscrit à un autre match
- Critère d'acceptation : Si on essaie de créer un match en quart de final il faut que les joueur ai fini leur match en huitième
Données inpliquées : D-01 Participant D-02 Match
F-08 Automatiser la répartition des tables selon leurs disponibilités - Antoine URGER
Repartir le prochain match à jouer sur une table en fonction d'une liste de tout les match et de son importance d'etre jouer.
- EF-07.1 Pour la phase de poule, la liste des match doit suivre l'ordre il faut privilégier les jour avec moins de match déjà jouer
- Critère d'acceptation : Si joueur 4 à encore un match avec 2 et 1 et qu'il a jouer 1 seul match que joueur 1 en a 2 et que joueur 2 n'en n'a qu'un on privilègera le match avec le joueur 2
- EF-07.2 Pour la phase de tournoi, la liste des match prend en compte le le tour sur lequel le match se trouve pour lui donné son importance
- Critère d'acceptation : Un match de huitième de final sera plus important qu'un match de quart
- EF-07.3 Dès qu'un match sur une table est fini on y affecte le match le plus important dans la liste des matchs.
Données impliquées : D-01 Participant D-02 Match
F-09 : Afficher la liste des prochains matchs. - Charles LECLERCQ
Les matchs sont affichés selon leur ordre et la disponibilité des joueurs. Les matchs en cours ne sont pas affichés dans cette liste.
Exigences :
- EF-08.1 Le programme récupère tout les matchs qu’il y aura.
- EF-08.2 Le programme filtre les matchs qui sont en cours.
- EF-08.3 Le programme actualise la lise à chaque fois qu’un match est terminé.
Données impliquées : D-01 Participants, D-03 Match
3.2. Exigences non-fonctionnelles
- ENF-01 Les données Doivent les meme entre les différents utilisateur.
4. Contraintes
…
5. Enveloppe budgétaire
…
6. Planification et livrables
…
7. Questions ouvertes
| ID | Question | À poser à … | Éléments impactés | Statut |
|---|---|---|---|---|
| Q-01 | Comment comptez-vous définir si un participant est jeune ou non? Demandez vous l'age ou simplement si il/elle a moins de 15 ans ? | M. Delvaux | RM-05 | Ouverte |
| Q-02 | Que doit-on faire des donnée après le tournois | Ouverte | ||
| Q-03 | Ouverte |