Projet de programmation orientée objet : Syst`eme de gestion

Projet de programmation orient´ee objet :
Syst`eme de gestion d’une m´ediath`eque
Iulia Dragomir
29 Octobre 2014
1
Description
Une m´ediath`eque offre `
a ses clients la possibilit´e d’emprunter des livres, mais aussi des films et documentaires
en format num´erique (DVD). Ainsi, la m´ediath`eque est constitu´ee d’une biblioth`eque et d’une vid´eoth`eque.
La biblioth`eque contient des ouvrages, ´eventuellement en plusieurs exemplaires. Un ouvrage a un code, un
titre, un auteur, un ´editeur, une ann´ee de parution et les exemplaires disponibles. Un exemplaire est identifi´e
par un code. De mani`ere similaire, la vid´eoth`eque contient des DVD, ´eventuellement en plusieurs exemplaires.
Un DVD a un code, un titre et les exemplaires disponibles.
Afin de g´erer ces donn´ees, la m´ediath`eque utilise un programme informatique. Cette application permet
au gestionnaire d’acheter (c.a.d ajouter) des ouvrages et DVD `a la collection, acheter des exemplaires d’un
ouvrage ou DVD et obtenir `
a tout moment des informations concernant l’ouvrage le plus emprunt´e et le DVD
le plus visionn´e.
Les clients peuvent emprunter (c.a.d r´eserver) et retourner des ouvrages et DVD. On distingue deux types
de clients : les clients classiques qui ont un acc`es illimit´e `a la biblioth`eque et les clients privil´egi´es qui ont un
acc`es illimit´e `
a la biblioth`eque et `
a la vid´eoth`eque. On suppose qu’un client devient privil´egi´e s’il choisi cette
option on´ereuse `
a l’inscription. Pour emprunter un ouvrage/DVD le client a le choix de regarder dans toute
la biblioth`eque/vid´eoth`eque ou de chercher celui qui correspond au titre ou auteur d´esir´e. De mˆeme, le client
peut retourner un ouvrage/DVD qu’il a auparavant emprunt´e.
A chaque fois qu’un ouvrage/DVD est achet´e, emprunt´e ou retourn´e les informations sont mises `a jours
dans les fenˆetres ouvertes de l’application. Quand le gestionnaire arrˆete l’application la liste des ouvrages et
DVD disponibles, ainsi que les ouvrages/DVD emprunt´es par chaque client, est enregistr´ee sur le disque dur
de fa¸con que les informations soit facilement exploitables.
2
Travail demand´
e
L’objectif de ce projet est de d´evelopper le syst`eme d´ecrit ci-dessus et de r´ealiser la documentation aff´erente.
2.1
Implantation en Java
Votre application doit respecter le patron de conception Mod`ele/Vue/Contrˆoleur. C’est-`a-dire, vous devez
structurer le code en paquetages conform´ement au patron et implanter les relations entre le mod`ele et les vues,
et les contrˆ
oleurs et les vues en utilisant les patrons sur lesquels MVC se repose. L’interface graphique doit
ˆetre enti`erement cod´e, l’utilisation du logiciel Netbeans pour g´en´erer du code Java `a partir d’une conception
graphique est strictement interdite.
Concernant la lecture/´ecriture des donn´ees dans un fichier, choisissez le moyen le plus appropri´e (donn´ees
structur´ees/s´erialisation) tel que les exigences du syst`eme soient satisfaites.
Vous devez implanter une classe de test pour montrer les fonctionnalit´es de votre syst`eme. A l’ex´ecution,
au moins trois interfaces graphiques doivent s’afficher (une par chaque type de client et pour le gestionnaire)
qui sont d´ej`
a peupl´e avec des informations concernant les ouvrages/DVD disponibles/emprunt´es.
Attention : seulement les fonctionnalit´es d´ecrites dans la sp´ecification de l’application nous int´eressent !
1
2.2
Documentation
La documentation doit contenir deux parties : la premi`ere concerne une documentation utilisateur et la
deuxi`eme concerne la conception de l’application. La documentation utilisateur doit montrer les fonctionnalit´es
de l’application et comment s’en servir. La deuxi`eme partie doit d´etailler les notions de programmation orient´ee
objet mis en œuvre dans l’application et peut ˆetre ´eventuellement illustr´ee par un diagramme de classe. Vous
devez d´ecrire les probl`emes rencontr´es et la mani`ere dont vous les avez r´esolus. Aussi, pensez `a d´ecrire la fa¸con
dont vous vous ˆetes organis´es dans le temps et en groupe (partage de tˆaches, etc.). N’attendez pas la derni`ere
minute pour la r´ealiser !
3
Organisation
Ce projet sera r´ealis´e en binˆ
ome. Les groupes sont constitu´es `a partir de la premi`ere s´eance et ne peuvent pas
´evoluer. Le travail individuel pourrait ˆetre exceptionnellement autoris´e et il doit ˆetre signal´e.
Vous avez 6 s´eances de TP libre pour r´ealiser ce travail. Ceci peut ˆetre poursuit en dehors des heures
r´eserv´ees, s’il vous paraˆıt n´ecessaire.
Vous devez envoyer par mail `
a l’adresse [email protected] au plus tard le 14 d´ecembre 2014 un
archive contenant :
• une archive (zip) avec le code source,
• le rapport enregistr´e comme pdf.
Attention, vos fichiers/r´epertoires doivent respecter les extensions demand´ees et commencer par vos noms de
famille par ordre alphab´etique (exemple : Nom1Nom2Rapport.pdf). N’oubliez pas de mentionner aussi dans
la documentation les noms des ´etudiants ayant travaill´e ensemble.
La validation du projet aura lieu le 16 d´ecembre 2014 `a partir de 13h30, salle `a pr´eciser. Lors de la
validation, vous devez :
• pr´esenter un programme qui fonctionne. Le programme doit compiler sous peine d’une note nulle.
• pouvoir modifier votre programme `
a la demande,
• pouvoir justifier vos choix de conception.
Vous ˆetes en binˆ
ome, mais not´es individuellement, pensez `a vous r´epartir astucieusement le travail. Attention,
les modifications faites apr`es que le d´elai d’envoi soit atteint ne seront pas prises en compte.
4
´
Evaluation
La note de ce projet compte pour 70% de la note du module “Programmtion orient´ee objet” et elle est
structur´ee comme suit :
• 4/5 repr´esente la note sur l’application. En plus des fonctionnalit´es, la qualit´e du code sera ´evalu´e ainsi
que vos capacit´es de le modifier sur demande.
• 1/5 repr´esente la note sur la documentation.
5
Plagiat
Toute fraude, mˆeme partielle, sera sanctionn´ee par des notes de groupe ET individuelles nulles. Le travail
collectif entre diff´erents groupes de projet est interdit.
2