IUP MIAGe 3 - Année 2001/2002
Projet commun BD et POO
 
Gestion d'une médiathèque

I) Objectif

Le projet consiste à informatiser une médiathèque gérant les prêts de disques, de vidéos et de livres en utilisant un SGBD relationnel. Pour cela, la médiathèque dispose d'interfaces informatisées permettant de consulter le catalogue, de gérer le fonds documentaire, d'adhérer à la médiathèque, de réserver des oeuvres et d'emprunter des exemplaires.

L'application doit fournir des fonctions permettant de consulter, modifier et ajouter de l'information à cette base. On doit, par exemple, pouvoir consulter le catalogue, prendre en compte des réservations et des emprunts, ajouter une nouvelle oeuvre, de nouveaux ouvrages
(pour chaque oeuvre, la médiathèque peut posséder plusieurs ouvrages, exemplaires de l'oeuvre), ajouter ou supprimer des adhérents.

Les fonctions offertes à un utilisateur dépendent de sa catégorie. Nous distinguons quatre catégories d'utilisateur.

     Public : un tel utilisateur peut, à distance (c'est à dire depuis un poste hors de la médiathèque, par exemple à domicile) consulter les informations liées aux oeuvres en effectuant des recherches documentaires. Il peut également s'enregistrer comme adhérent auprès du système.
     Adhérent : un adhérent peut effectuer les mêmes consultations qu'un utilisateur public. Il peut aussi réserver des oeuvres à distance, qu'il pourra ensuite emprunter auprès du médiathécaire moyennant un coût qui sera prélevé sur son compte. Il peut réapprovisionner son compte. Il peut finalement résilier son adhésion.
     Médiathécaire : le médiathécaire gère le fonds documentaire en enregistrant ou supprimant des oeuvres ou des exemplaires de ces oeuvres. Il peut aussi effectuer des recherches documentaires. Il peut également inscrire ou résilier des adhérents. Il peut enregistrer des emprunts pour des adhérents.
     Administrateur : l'administrateur peut créer des comptes pour les administrateurs et les médiathécaires.

Pour utiliser l'application, l'utilisateur, sauf s'il est Public, devra se ``logger'' comme appartenant à l'une des catégories ci-dessus.

II) Définition du schéma de la base

Les informations de l'application seront gérées par un SGBD relationnel. Une partie du schéma relationnel de cette base vous est fournie. Vous ne devez pas modifier les définitions des relations qui vous sont fournies, mais vous devez ajouter de nouvelles relations pour prendre en compte les informations complémentaires nécessaires à la mise en place de l'application.

II.1) Schéma fourni

La partie du schéma relationnel fourni correspond au catalogue des oeuvres. Elle concerne les informations sur les livres, disques et films répertoriés dans la médiathèque. Ce sont :

Oeuvre (codeoeuvre number, titre varchar(64), genre varchar(12), anneeparution number)

Les oeuvres, que ce soient des livres, films ou disques, ont en commun leur codeoeuvre, leur titre, leur genre et leur anneeparution. Les oeuvres sont déclinées en livre, film ou disque.

Livre (codeoeuvre number, editeur varchar(20), nbpages number)

Auteur (codeoeuvre number, prenom varchar(30), nom varchar(20))

Un livre est un type d'oeuvre. Un ou plusieurs auteurs sont associés à un livre.

Films (codeoeuvre number, duree number, pays varchar(32))

Acteur (codeoeuvre number, prenom varchar(30), nom varchar(20))

Realisateur (codeoeuvre number, prenom varchar(30), nom varchar(20))

Un film est un type d'oeuvre. Un ou plusieurs acteurs ainsi qu'un ou plusieurs réalisateurs sont associés à un film.

Disque (codeoeuvre number, producteur varchar(20), duree number)

Interprete (codeoeuvre number, nom varchar(20), prenom varchar(30))

Un disque est un type d'oeuvre. Un ou plusieurs interprètes sont associés à un disque.

II.2) Schéma à définir

Avec les informations dont elle dispose, la médiathèque peut gérer le fonds documentaire, les adhérents, les emprunts et les réservations.

Le fonds documentaire inclut à la fois les oeuvres elles-mêmes ainsi que les ouvrages, qui sont des exemplaires des oeuvres, avec leur date d'achat, leur état, et leur Codex, code d'indentification des exemplaires.

La gestion des adhérents, des emprunts et des réservations comprend :

III) Fonctions de l'application

L'application doit fournir les fonctionnalités nécessaires à la gestion du fonds documentaire, des adhérents, des réservations et des emprunts, ainsi que certaines fonctions d'administrations. Nous donnons ci-dessous les fonctions essentielles. Vous pouvez en rajouter si vous le souhaitez.

III.1) Utilisateurs Publics

Les utilisateurs publics peuvent effectuer des recherches documentaires, et éventuellement décider d'adhérer à la médiathèque (voir section 3.1.2).

III.1.1) Recherches documentaires

Les recherches documentaires peuvent être effectuées par des utilisateurs publics, par des adhérents ou par des médiathécaires. Le programme de recherche documentaires doit permettre d'effectuer des recherches sur tout ou partie du fonds, e.g. rechercher seulement les livres, les livres et les films... Pour chaque type de recherche, l'utilisateur peut rentrer une liste de mots clés. Par exemple, une recherche par mots clé sur les livres avec comme critère "Camus" peut retourner le livre "L'etranger" car Camus est le nom de son auteur. Pour simplifier, lors de la recherche par mots cle, on donnera la possibilite à l'utilisateur de preciser les champs ou les mots cles doivent apparaitre. La liste des champs est contextuelle (les attributs proposés dépendent de la classe d'ouvrage choisie) et permet de sélectionner le ou les attributs d'une oeuvre au(x)quel(s) le(s) mot(s) clé(s) doi(ven)t correspondre.

Le programme de recherche documentaire devra :

III.1.2) Adhésions

Les utilisateurs publics peuvent décider d'adhérer à la médiathèque au travers du programme de gestion des adhésions. Le programme d'adhésion devra demander à l'utilisateur public un ensemble d'informations permettant de renseigner son profil d'adhérent.

III.2) Adhérents

III.2.1) Gestion des adhésions

Une fois devenus adhérents, les utilisateurs peuvent modifier les paramètres de leur adhésion ou réapprovisionner leur compte.

Ils peuvent également résilier leur adhésion. Une résiliation n'est possible que lorsqu'il n'y a aucun emprunt en cours pour cet adhérent. Une résiliation annule toutes les réservations faites par cet adhérent.

Le programme de gestion des adhésions devra :

III.2.2) Réservations

Les adhérents accèdent au système en donnant leur identifiant et leur mot de passe.

Les adhérents peuvent effectuer des réservations. Le programme de réservation accessible par l'adhérent doit permettre :

Les contraintes suivantes s'appliquent aux réservations : L'adhérent doit aussi pouvoir demander l'affichage des emprunts en cours.

III.3) Médiathécaire

III.3.1) Gestion du fonds documentaire

La gestion du fonds documentaire est effectuée par le médiathécaire. Le programme de gestion du fonds doit :

III.3.2) Emprunts

Les médiathécaires enregistrent des emprunts d'ouvrages pour le compte des adhérents. C'est leur fonction principale. Typiquement, l'adhérent se présente au médiathécaire avec un ouvrage à emprunter. Le programme d'emprunt accessible par le médiathécaire pour le compte d'un adhérent doit permettre : Les contraintes suivantes s'appliquent aux emprunts. Les médiathécaires peuvent également inscrire de nouveaux adhérents, ou résilier des adhérents existants, en utilisant l'interface décrite en section 3.1.2.

III.4) Administrateur

Ces fonctions sont autorisées seulement aux utilisateurs de la catégorie Administrateur. Lors de la mise en place de l'application, vous devrez créer au moins un utilisateur de la catégorie Administrateur, et un utilisateur de la catégorie Médiathécaire. Les adhérents sont ensuite gérés par l'application.

Travail demandé

L'application sera développée en Java, en utilisant JDBC et le SGBD Oracle. Ce projet étant commun à deux cours, il vous est demandé deux rapports distincts.

Sous-projet Bases de Données

La démarche pour concevoir votre schéma de relations doit être rigoureuse : Le projet se termine par une démonstration de l'application développée et la remise d'un rapport qui : Préparer votre démonstration en incluant des jeux de test significatifs.

Barême indicatif (sur 20 points)

Sous-projet Programmation Orientée-Objets

Nous vous demandons de développer une application possédant les fonctionnalités suivantes : Pour cela nous vous demandons d'utiliser certains modèles de conception : et de rendre un rapport contenant obligatoirement les points suivants :

Barême indicatif (sur 20 points)

Contraintes administratives