UNIVERSITE DE LA MANOUBA -----¤¤¤¤-----
ECOLE NATIONALE DES SCIENCES DE L'INFORMATIQUE
Matière : ACOO Enseignante : I. FLISS Classes : I.I. 2 A, C, D A-U : 2011-2012
Devoir à la maison n°1
Un championnat de jeu d’échecs en ligne a pour but d’évaluer le niveau des joueurs d’échecs sur le web. Dans un tel championnat chaque joueur oppose successivement tous les autres joueurs. Donc, au total il y a [n*(n-1)/2] parties à jouer (n étant le nombre de joueurs impliqués dans le championnat). On suppose que dans ce championnat, une partie au maximum peut être planifiée pour un joueur donnée pendant une même journée.
Ainsi, on se propose de réaliser une application ‘GestionChampionnat’ permettant de gérer le déroulement de championnats d’échecs. Cette gestion sera effectuée à la fois par un administrateur responsable ainsi que par les participants.
Voici les différentes phases dans l’utilisation de l’application :
o Dans un premier temps les participants peuvent s’inscrire, via le web, comme joueur membre voulant participer aux championnats en ligne. Lors de l’inscription, chaque participant s’identifie et donne des choix sur ses préférences de participation (par exemple : matin, après-midi, les deux à la fois).
o L’administrateur de l’application crée un ou plusieurs championnats. Pour chaque championnat, l’administrateur précise le nombre maximum de joueurs qui peuvent participer à ce championnat.
o Ensuite, un participant (joueur membre) peut s’inscrire à un ou plusieurs championnats exposés par le site. Chaque championnat dispose d’un nom, d’une date de démarrage, ainsi que d’un classement minimum que les joueurs doivent posséder pour pouvoir participer à une catégorie de championnat (allant de non-classé à 2400).
o Une fois qu’il y a suffisamment de joueurs inscrits à un championnat, l’administrateur peut créer l’ensemble des parties, ainsi que le calendrier complet du championnat (date et heure des parties à jouer). A cet effet, l’administrateur choisit un mode de répartition des parties (en fonction de l’ordre d’inscription des joueurs, de manière aléatoire, etc.) et a la possibilité, éventuellement, d’ajouter quelques contraintes pour forcer l’ordre des parties. Cette opération doit se faire via une console d’administration qui doit s’exécuter directement sur le serveur. Il convient de mentionner que l’application ne prend pas en considération le risque de parallélisme des parties pouvant s’engendrer par l’inscription d’un joueur à plusieurs championnats en même temps.
o Les joueurs pourront ensuite consulter ce calendrier pour connaître les modalités concernant les parties qu’ils auront à jouer tout au long du championnat. Cette consultation se fait via le web.
o Les 2 joueurs jouent leur partie. Pour se faire, chaque joueur doit se connecter à la partie. Il récupère alors un identifiant valable pour toute la durée de la partie. Le joueur peut ensuite se déconnecter et se reconnecter en donnant son identifiant. Lors de sa connexion à une partie, chaque joueur dispose d’un logiciel graphique de jeu d’échecs ne faisant pas partie de l’application en question pour jouer ses propres coups. Une partie dure au maximum 4 heures. Ainsi, pour une partie donnée chaque joueur dispose de 2 heures. Si l’un des deux joueurs gagne
1
(échec et mat) le résultat de la partie est alors automatiquement enregistré dans l’application. Si un joueur épuise son temps de jeu il perd la partie et le résultat est automatiquement enregistré dans l’application. La gestion du temps est à la charge de l’application.
o Une fois terminées toutes les parties d’un championnat, le système permet à l’administrateur de générer le classement final de manière automatique ou de manière semi-automatique (cad en déclassant éventuellement les joueurs qu’il juge défaillants). Néanmoins, à tout moment, les joueurs peuvent consulter leur classement. Ces opérations se font via le web.
Travail demandé
1- Identifiez parmi cette liste de noms, les acteurs de l’application ‘GestionChampionnat’. Il s’agit d’encercler l’acteur et de donner une justification dans le cas où le nom n’est pas retenu comme acteur:
Justifications
Publicité
h : c’est l’application elle-même b, c, d, e, g, k et l : ne sont pas des acteurs de l’application, ils ne renferment aucun rôle et ne participent à aucun service
Noms
a. Administrateur.
b. Calendrier.
c. Câble Réseau.
d. Coup.
e. Informaticien.
f. Joueur.
g. Horloge.
h. L’application ‘GestionChampionnat’.
i. Logiciel Graphique De Jeu D’échecs.
j. Participant.
k. Partie.
l. Web.
2- Nous nous proposons de considérer: « Créer un championnat », « s’inscrire à un championnat » et « Créer l’ensemble des parties du Championnat » des cas d’utilisation de l’application en question. Indiquez parmi les actions suivantes celles qui peuvent être retenues comme cas d’utilisation complémentaires de l’application en question. Encerclez l’action et justifiez brièvement votre réponse.
a. Connaître les modalités concernant les parties.
Actions
b. Connecter.
c. Consulter le planning des parties.
Publicité
d. Déconnecter.
Justifications ……………………………………….. c, e et i représentent des cas d’utilisation complémentaires. en effet, ils représentent les fonctionnalités de base de l’application regroupant un ensemble de scénarii.
2
b et d sont des cas d’utilisation encapsulant un comportement complexe. h et k sont des cas d’utilisation qui ne sont pas nécessairement exécutés représentant des scénarii secondaires complexes.
e. Dérouler partie.
f. Développer l’application ‘GestionChampionnat’.
g. Épuiser son temps.
h. Gagner une partie.
i. Générer classement.
j. Jouer un coup.
k. Perdre une partie.
l. Récupérer identifiant.
3- Représentez une partie du diagramme de cas d’utilisation du système en question comportant uniquement les acteurs et les cas d’utilisation retenus dans les deux questions précédentes. Votre
diagramme devra si possible utiliser les stéréotypes <<include>> et/ou <<extend>>.
3
4- Concernant le cas d’utilisation « s’inscrire à un championnat », imaginez trois variantes (nominal, alternatif et exceptionnel) de scénarios relatifs à ce cas. Donnez, en langage naturel, une description
sommaire pour chaque scénario.
Nominal
Alternatif
Publicité
Un joueur non inscrit à des championnats, choisit un championnat pour lequel il vérifie la condition du classement et s’y inscrit.
Un joueur déjà inscrit à d’autres championnats s’inscrit à un championnat s’inscrit à un championnat (pour lequel il vérifie la condition de classement).
Exceptionnel
Un joueur s’inscrit à un championnat qui démarre en même temps qu’un championnat auquel il est déjà inscrit.
5- Concernant le cas d’utilisation « Créer l’ensemble des parties du Championnat » :
a. Proposez une pré-condition à ce cas :
Championnat existant avec suffisamment de joueurs inscrits.
b.
imaginez deux variantes (nominal, alternatif) de scénarios relatifs à ce cas. Donnez, en
langage naturel, une description claire pour chaque scénario.
Nominal
Alternatif
1. L’administrateur choisit un championnat. 2. L’application demande le mode de répartition des parties 3. L’administrateur choisit le mode de répartition en fonction de l’ordre d’inscription des joueurs 4. L’application demande s’il y a ajout de contraintes 5. L’administrateur n’ajoute pas de contraintes 6. L’application génère l’ensemble des parties 7. L’application génère le calendrier complet du championnat
Proposition 1 : 3.1. L’administrateur choisit le mode de répartition de manière aléatoire. 4. L’application demande s’il y a ajout de contraintes 5. L’administrateur n’ajoute pas de contraintes pour forcer l’ordre des parties 6. L’application génère l’ensemble des parties 7. L’application génère le calendrier complet du championnat Proposition 2 : 5.1. L’administrateur ajoute de contraintes pour forcer l’ordre des parties. 5. L’application génère l’ensemble des parties 6. L’application génère le calendrier complet du championnat
4