Projet de bases de données:Un site de rencontres Eugene Asarin, Enrica Duchi, Isabelle Fagnot, Roberto Mantaci 1 Présentation Générale Il s’agit de développer une base de données pour un site de rencontres. Les visiteurs ont la possibilité de consulter la liste des personnes qui satisfont leurs critères de recherche. Pour avoir plus de détails sur chaque personne ils doivent s’inscrire dans la base. Un gérant contrôle les informations données par chaque nouveau inscrit avant de les insérer dans la base. 2 Contenu de la base La description d’une personne doit au moins contenir un code l’identifiant, une photo, son prénom, son sexe, sa date de naissance, son mail et le département où elle habite. A une personne on doit aussi pouvoir associer des informations concernant ses cheveux, la couleur de ses yeux, et d’autres caractéristiques physiques comme sa taille et son poids. On peut aussi lui associer hobby/intérêt/signe zodiacal, etc.. Pour chaque personne on veut représenter ses goûts en termes des types de personnes qu’il préfère : un type de personne peut être donné par le sexe, l’âge, la couleur des yeux, etc.. Chaque personne doit enfin avoir la possibilité de mettre dans un panier les personnes sélectionnées pour le retrouver à la prochaine connexion. 3 Utilisateurs et fonctionnalités Cette section décrit les fonctionnalités liées à chaque utilisateur. Le visiteur : il peut afficher la liste des personnes correspondantes à sa requête avec leurs photo, leurs prénom, leurs âge et leurs département. Il a besoin de s’inscrire dans la base pour afficher les autres informations. Le membre : il peut avoir tous les informations qui sont contenues dans la base. Pour ce faire il doit s’inscrire, en laissant ses informations comme sa date de naissance, son pays de résidence et une adresse email. De plus il doit choisir un identifiant et un mot de passe pour accéder à la base. Une fois que le visiteur est inscrit il doit insérer sa photo dans la base et fournir au moins les informations concernant son aspect et ses hobbies/intérêts. Toutes les informations données par le visiteur doivent être validées 1 par le gérant de la base. Tous les changements concernant les informations données par un membre doivent être aussi acceptées par le gérant de la base. Le gérant : le gérant a l’accès à toutes les données de la base. Il vérifie que les informations données par un membre respectent certaines conditions et décide de les accepter ou pas. 4 Travail à faire Le projet doit être réalisé en trinôme, sur les machines et SGBD de votre choix. L’utilisation de BD relationnelles et de SQL est obligatoire. – Concevoir une base de données pour le site décrit ci-dessus. Pour la conception vous devez utiliser la méthode Merise (en passant par les MCD) ou une autre méthod (diagrammes E/A, UML etc.) Obtenir un schéma relationnel de la BD. Proposer sa réalisation concrète (types de données, contraintes d’intégrité). Attention, ne pas utiliser un unique tableau “personne” dans la base mais introduire d’autres tableaux comme par exemple un tableau contenant les tailles possibles, un autre les couleurs des yeux etc... – Écrire sous forme de requêtes SQL les énoncés suivants : R1 Les personnes de sexe masculin qui ont âge inférieur à 40 ans. R2 Les personnes qui ont les cheveux longs et les yeux marrons. R3 Le prénom féminin le plus courant. R4 L’âge moyen des membres de la base. R5 Les prénoms des gens qui ont la danse comme hobby. R6 Pour chaque hauteur, donner le nombre de personnes qui ont cette hauteur. – Écrire une application (ou une applet, ou une servlet) en Java/JDBC qui réalise une interface utilisateur (textuelle ou graphique ou web) et les fonctionnalités décrites dans la section 3. Veillez en particulier à assurer les aspects suivants : – menu spécifiques pour les visiteurs, membres, gérants ; – opérations essentielles : ajout et suppression des clients, affichage, recherche (de préférence en suivant le protocole décrit dans la section 3). – les boutons, liens ou points menu pour les 6 requêtes SQL R1-R6. – 2 à 5 autres fonctionnalités que vous trouverez utiles pour ce genre de site, ou intéressantes à réaliser. – Rédiger un rapport présentant le travail réalisé et justifiant vos choix. – Le rapport doit être remis au secrétariat (Christine Da Silva) lundi le 12 juin au plus tard. Une archive contenant le rapport et tous les codes sources doit être remis à la même date selon une procédure qui sera spécifiée ultérieurement. Si elle n’est pas spécifiée ou ne fonctionne pas pour vous, envoyer l’archive par email à [email protected] – Faire une soutenance de projet accompagnée d’une démonstration de votre programme. 2 5 Critères d’évaluation Barème indicatif : 12 pour la BD, 8 pour Java. Par exemple une BD parfaite + une interface PHP parfait = note 12+0=12. Pour la partie BD on appréciera : – la qualité du modèle MCD, la justification de vos choix ; – la correction du schéma relationnel, sa forme normale ; – la qualité de la bases de données, les contraintes d’intégrité ; – la correction et la clarté des requêtes R1-R6 ; – la correction, la clarté, la richesse fonctionnelle, l’adéquation aux besoins des utilisateurs des requêtes SQL utilisées dans votre programme Java. Pour la partie Java on appréciera : – le fonctionnement sans faille de programme ; – la réalisation des fonctionnalités de base ; – le choix opportun et la réalisation des fonctionnalités avancées ; – la qualité de programmation orientée objet L’utilisation d’une interface graphique, une interface web et autres servlets (à notre connaissance non supportées sur les machines de l’UFR) donnera un petit bonus. Assurezvous que la version simple avec un petit menu textuel fonctionne avant de vous y prendre. La qualité du rapport et de la soutenance (et la participation de tous les membres du trinôme) sera prise en compte pour l’évaluation du projet. 3