Version definitive mercredi 10 decembre 2003 a 9h15. Travail demande pour le projet de Bases de donnees -------------------------------------------------- Le but de ce petit fichier est de preciser le contenu attendu des projets, afin de permettre a chacun de bien comprendre les points importants et de s'y preparer (et d'eviter les mauvaises surprises dues essentiellement a un malentendu au niveau de la comprehension des sujets). La qualite sera bien sur evaluee au vu du projet lui-meme. Il donne aussi quelques indications et garde-fous concernant la soutenance. En particulier, la duree d'une soutenance en monome est de 30 minutes, qui se decomposent comme suit. Un expose + demonstration de votre appli, sur une duree de 15 a 17 minutes *maximum*. Puis 13 a 15 minutes de questions. Dans la mesure ou aucun rapport ecrit n'est demande, il est attendu que la soutenance soit soigneusement preparee et de qualite. Le temps de 15 minutes est court, mais suffisant. Il est indispensable de ne pas depasser, afin que les questions puissent clarifier les points qui resteraient obscurs apres. Pour un binome la duree totale est de 45 minutes, dont 20 a 25 minutes d'expose + demonstration. A tous les niveaux, l'ordre d'apparition des points cites ci-dessous est aleatoire et ne correspond absolument pas a une priorite par importance. Ce document a ete fourni en version manuscrite a la seance de projet numero 3 du mercredi 3 decembre (sauf les questions de duree). Projet *minimal* : ------------------ Tables bien concues (voir exo conception, repertoire projet), manipulations, requetes (quotient), contraintes, vues (pertinentes), confidentialite, 2 categories d'utilisateurs, ergonomie corecte (minitel), initialisation schema et contenu de la base (=drop toutes tables et recreation totale), un langage de programmation (Java ou PHP, c'est a dire pas possible utiliser uniquement SQL*Plus), nombre minimal de fonctionnalites (4 ou 5, pas seulement "emprunter et rapporter un livre"). Projet correct : ---------------- Projet minimal + tous points (exercices) vus en TD (donc par exemple JDBC et PHP). Bon projet : ------------ Projet correct + sequences (voir exo sequences, repertoire projet, et aussi utilisation dans TD PL/SQL), "load/dump/system", plus de fonctionnalites (mais pas trop quand meme). Tres bon projet : ----------------- Bon projet + ergonomie, interface, originalite, richesse, utilisation de donnees reelles, maitrise des points de TD, aspects facultatifs du TD ou non vus en TD, par exemple : PL/SQL, triggers, procedures stockees (voir TD PL/SQL), XML, XSLT, JSP, etc. (voir ficheir "techniques_avancees.txt) heritage, extension des points du TD (PHP+, JDBC+, mode serialisable de la concurrence Oracle, etc. Bonus : ------- (tout petit, et moins important qu'une bonne gestion de la concurrence par exemple...) pour installation d'un SGBD sur ordi perso, ou pour utilisation de votre appli par d'autres personnes dans la vraie vie. Soutenance : ------------ Citons, parmi les points pertinents a expliquer ou montrer : . montrer le code, nombre de lignes . architecture du programme : modules (genericite : ne pas faire de copie-colle naif), fonctionnalites et principes . conception des tables (rapide et clair) . traintement de chaque probleme BD : le probleme, la solution adoptee (rapide et clair) . fonctionnalites . demo : les fonctionnalites, mais aussi la gestion effective des problemes BD (ex : je lance deux fois mon appli en mode concurrent, et je montre qu'il n'y a pas de deadlock, ni de mise a jour perdues) . la soutenance correspond aussi a un "oral sur le TD", dans la mesure ou les aspects du TD doivent apparaitre . bien distinguer : 1. le "quoi" : ce que fait votre programme, le client potentiel va verifier qu'il remplit les fonctionnalites dont il a besoin 2. le "comment" : le client verifie que c'est bien programme --That's all Folks!