Jeu Questions Réponses Mysql + Java Table des matières Contexte............................................................................................................................................ 1 Objectif pédagogique........................................................................................................................ 1 Cahier des charges du client ............................................................................................................. 2 Les questions ................................................................................................................................ 2 Les utilisateurs .............................................................................................................................. 2 Une partie ..................................................................................................................................... 2 L’UI .................................................................................................................................................... 2 Travail à faire .................................................................................................................................... 3 Contexte Nous avons créé au premier semestre une application de questions/réponses simpliste. Nous allons dans ce TP continuer et faire évoluer cette application. Objectif pédagogique L’objectif de ce TP et de pouvoir concevoir une application Java de A à Z avec connexion à une base de données. Il s’agit donc de commencer par établir un MCD de la base de données nécessaire au stockage des informations. Après avoir créé le MCD du contexte d’après l’UI fournie, vous pourrez commencer le développement. Pour une manipulation plus aisée de la base de données, nous allons utiliser ici le concept de Singleton. Anthony MEDASSI – SIO1 – SLAM1/2 - Questions/Réponses, Java, Mysql Cahier des charges du client Les questions Afin d’évaluer des connaissances, l’application doit proposer à l’utilisateur une série de 5 questions et 4 Réponses possibles par question. L’utilisateur devra sélectionner la réponse et savoir au fur et à mesure s’il a bien répondu. A la fin de la partie, donc après les 5 questions, son score lui est donné. Chaque utilisateur peut, grâce au module associé, ajouter des questions/réponses à la base. La date et l’heure d’insertion de la nouvelle question devront être ajoutées. Nous devons pouvoir retrouver l’utilisateur qui a proposé la question. Les utilisateurs Chaque utilisateur doit être mémorisé dans la base de données. On veut son nom, prénom, mail, login, sa date d’inscription, son mot de passe. L’accès est conditionné par un couple login/mot de passe. Un nouvel utilisateur a la possibilité de s’inscrire s’il ne possède pas de compte sur le serveur. Pour chacun, des utilisateurs, on veut connaître le nombre de parties qu’il a faites, ainsi que le pourcentage de réponses correctes auxquelles il a répondu. Une partie Une partie est composée de 5 questions. Ces questions sont tirées aléatoirement dans la base. Pour une question, 4 réponses sont proposées, mais une seule est correcte. Les utilisateurs doivent s’identifier avant de pouvoir interagir avec l’application. Pour chacune des parties, on doit connaître la date et l’heure de lancement de la partie. Le serveur doit mémoriser toutes les questions posées à l’utilisateur durant la partie et également les réponses qu’il a fournies à chacune d’elles. On veut pouvoir retrouver également le pourcentage de réponses correctes de la partie. L’UI Anthony MEDASSI – SIO1 – SLAM1/2 - Questions/Réponses, Java, Mysql Travail à faire Le travail s’effectue par groupe de 2 étudiants avec utilisation du gestionnaire de versions GIT Etablir le MCD avec JMerise (Ensemble) Générer la base de données (Ensemble) Ensuite, il s’agit de créer les modules 1 par 1 : Créer le module d’identification Créer le module d’enregistrement de nouveaux utilisateurs(E1) Créer la fenêtre d’accueil Créer le module de gestion de Q/R Créer le module de Jeu Anthony MEDASSI – SIO1 – SLAM1/2 - Questions/Réponses, Java, Mysql