Vous êtes sur la page 1sur 9

Contrôle Continu : POO (C++)

Réaliser par : Lyna Adib-Hajar Mouamine


Professeur : Marouane Nazih
CAHIER DE CHARGE
Nous allons développer une application de gestion d'un tournoi d'échecs. Cette
application permettra de planifier et d'organiser des parties d'échecs pour un tournoi.
Voici les fonctionnalités attendues :

1. Gestion des Joueurs :

➔ Ajout et suppression d'un joueur.

➔ Consultation et recherche d'un joueur par nom, score, etc.

2. Gestion des Salles :

➔ Ajout et suppression d'une salle.

➔ Consultation et recherche d'une salle par nom, capacité, etc.

3. Planification des Parties :

➔ Création des parties pour les différentes rondes du tournoi.

➔ Attribution aléatoire des joueurs pour chaque partie.

➔ Sélection des joueurs pour les phases suivantes en fonction de leurs scores. 4.
Inscriptions:

➔ Les joueurs peuvent s'inscrire au tournoi.

➔ Validation des inscriptions par l'organisateur.

4. Gestion des Parties :

➔ Enregistrement des résultats des parties.

➔ Affichage des parties en cours et des parties terminées.


5. Gestion des Arbitres :
➔ Attribution d'arbitres aux différentes parties.
➔ Enregistrement des décisions arbitrales en cas de litige.
6. Réservations de Places :
➔ Les spectateurs peuvent réserver des places pour assister aux parties.
➔ Prix des places varient en fonction de l'emplacement dans la salle.
➔ Vérification de la disponibilité des places avant la réservation.
7. Affichage des Résultats :

➔ Sauvegarde et affichage des résultats des parties.

➔ Affichage des joueurs éliminés, du gagnant du tournoi, etc.

9. Recherche : (optionnel) Possibilité de faire une recherche à partir d'une


information (nom du joueur, nom de la salle, etc.).

I. INTRODUCTION

Dans le cadre de ce projet captivant, nous nous lançons dans le développement d'une application de
gestion de tournoi d'échecs, utilisant le langage de programmation C++ comme pilier de notre
démarche. Cette application vise à offrir une plateforme complète et intuitive pour la planification et
l'organisation de parties d'échecs au sein d'un tournoi, avec un éventail étendu de fonctionnalités.

Afin de garantir la clarté et la robustesse de notre conception, nous avons recours à l'Unified Modeling
Language (UML), un langage de modélisation standard dans le domaine du génie logiciel. L'UML
nous permettra de visualiser et de structurer les différents aspects de notre application avant même de
commencer à coder, facilitant ainsi la compréhension de son architecture et de son fonctionnement.

Les fonctionnalités clés attendues dans notre application incluent la gestion des joueurs et des salles, la
planification des parties, les inscriptions, la gestion des parties et des arbitres, les réservations de
places, ainsi que l'affichage des résultats. Chacune de ces fonctionnalités sera soigneusement
modélisée à l'aide de diagrammes UML permettant ainsi une représentation visuelle précise de
l'ensemble du système.

En intégrant la conception UML à notre processus de développement en C++, nous nous assurons de
construire une base solide et bien structurée pour notre application de gestion de tournoi d'échecs.
Cette approche méthodique nous permettra de développer un code propre, cohérent et maintenable, en
garantissant une correspondance étroite entre la conception théorique et l'implémentation pratique.

Avec cette combinaison de puissance du langage C++ et de rigueur de la conception UML, nous
sommes prêts à relever le défi de créer une application de gestion de tournoi d'échecs à la fois
performante et intuitive, répondant aux besoins des organisateurs, des joueurs et des spectateurs.
II. CONCEPTION
1)Explication
Joueur: Un joueur peut être ajouté, supprimé, consulté et recherché par
nom, score, etc.
Salle: Une salle peut être ajoutée, supprimée, consultée et recherchée par
nom, capacité, etc.
Partie: Une partie est planifiée pour une ronde spécifique du tournoi, avec
des joueurs sélectionnés aléatoirement pour chaque partie. Les résultats
des parties sont enregistrés et affichés.
Inscription: Les joueurs peuvent s'inscrire au tournoi, et leurs inscriptions
sont validées par l'organisateur.
Arbitre: Les arbitres sont attribués aux différentes parties et enregistrent
leurs décisions en cas de litige.
Spectateur: Les spectateurs peuvent réserver des places pour assister aux
parties, avec des prix variant en fonction de l'emplacement dans la salle. La
disponibilité des places est vérifiée avant la réservation.
Tournoi: Le tournoi est le point central de l'application, orchestrant les
différentes fonctionnalités et interactions entre les joueurs, les parties, les
salles, les arbitres et les spectateurs.
2)Diagramme de classe

III. RESULTAT ET DISCUSSION


La classe Joueur représente un joueur avec un nom, un âge et un
score. La classe Salle représente une salle avec un nom et une
capacité. La classe Partie représente une partie entre deux
joueurs, avec un arbitre potentiellement. La classe Arbitre
représente un arbitre avec un nom. La classe Inscription
représente l'inscription d'un joueur à un tournoi, pouvant être
validée ou non. Enfin, la classe Tournoi est le conteneur principal,
stockant les joueurs inscrits, les salles disponibles, les parties
prévues, les arbitres désignés et les inscriptions en cours.
Les méthodes permettent de gérer différents aspects d'un
tournoi, y compris l'inscription des joueurs, la création des
parties, la gestion des arbitres et des inscriptions.
Ce code met en œuvre un menu interactif pour gérer un tournoi. Le menu propose plusieurs
options, y compris l'ajout et la suppression de joueurs, la création et l'affichage des parties, la
recherche de joueurs par nom, l'ajout d'arbitres, l'inscription de joueurs au tournoi, la validation
des inscriptions et la sortie du programme.
IV. CONCLUSION GENERALE :
Ce programme constitue une implémentation efficace pour la gestion de tournois, en
mettant en œuvre plusieurs concepts clés de la programmation orientée objet et des
algorithmes de la bibliothèque standard C++.

À travers une architecture modulaire, chaque classe remplit un rôle précis dans le
processus global du tournoi. La classe Joueur encapsule les données individuelles des
participants, tandis que la classe Partie permet de représenter les confrontations entre
joueurs. En utilisant des conteneurs tels que vector, le programme offre une gestion
efficace des données, facilitant ainsi la manipulation des joueurs et des salles.

L'interaction utilisateur est soigneusement gérée grâce à un menu intuitif, permettant


aux utilisateurs d'accéder facilement aux différentes fonctionnalités du programme.

En conclusion, ce programme fournit une base solide pour la gestion de tournois,


exploitant judicieusement les principes de l'UML. Avec des améliorations futures, il
pourrait devenir un outil complet et polyvalent pour l'organisation de divers événements
compétitifs.

Vous aimerez peut-être aussi