Vous êtes sur la page 1sur 2

Mini-Projet 1 : gestion d'une bibliothèque avec l'API Java Collection

Niveau : 2ème année DSI


Module : Programmation orientée objet avancée

Ce mini-projet a pour but de valider et consolider les connaissances des étudiants en matière de
la manipulation de l'API JCF (Java Collection Framework).

Description du travail demandé

Une bibliothèque est composée de plusieurs rayons (exemples : littérature, histoire, géographie,
civilisation, ...). Chaque rayon contient un ensemble de livres. Chaque bibliothèque est
caractérisée par un nom et l'ensemble des rayons et des livres dans ces rayons. Chaque livre est
caractérisé par sa référence, son intitulé, la liste des noms de ses auteurs, son type (exemples :
roman, encyclopédie, dictionnaire, registre, ...) et son année d'édition. Pour Modéliser une
bibliothèque, vous devez suivre le schéma de conception proposé par la figure 1 :

Description des classes

Votre travail consiste à créer les classes nécessaires pour modéliser une bibliothèque :
• La classe "Bibliotheque" doit contenir la déclaration des attributs privés :
- son nom (chaine)
- son contenu (les noms des rayons et l'ensemble de leurs livres (tableau
associatif HashMap))
ainsi que la définition d'un constructeur avec arguments, les accesseurs et les
modificateurs
• La classe "Livre" doit contenir la déclaration des attributs privés :
- sa référence (chaine)
- son intitulé (chaine)
- la liste des noms de ses auteurs (ArrayListe) : un livre peut avoir un ou
1
plusieurs auteurs
- son type (chaine)
- son année d'édition (entier)
ainsi que la définition d'un constructeur avec arguments, les accesseurs et les
modificateurs ainsi qu'une méthode d'affichage
• La classe "Services" qui contient la définition des fonctions statiques suivantes :
- public static Bibliotheque creerBiblbiotheque(String nom) : qui permet de
créer une nouvelle bibliothèque
- public static void ajouterRayon(String rayon, Bibliotheque B) : qui permet
d'ajouter un nouveau rayon à une bibliothèque donnée
- public static void afficherRayons(Bibliotheque B) : qui permet d'afficher les
noms des rayons d'une bibliothèque donnée
- public static void ajouterLivreAuRayon(String rayon, Livre L,
Bibliotheque B) : qui permet d'ajouter un livre à un rayon donné d'une
bibliothèque donnée
- public static void afficherIntituleLivres(Bibliotheque B) : qui permet
d'afficher les intitulés de tous les livres d'une bibliothèque donnée
- public static void afficherIntituleLivresParRayon (String rayon,
Bibliotheque B) : qui permet d'afficher les intitulés de tous les livres d'un
rayon donné dans une bibliothèque
- public static boolean rechercherRayon (String rayon, Bibliotheque B) : qui
permet de rechercher si un rayon donné se trouve dans une bibliothèque
donnée
- public static boolean rechercherLivre (String intitule, Bibliotheque B) : qui
permet de rechercher si un livre donné (à travers son intitulé) existe dans une
bibliothèque donnée
- public static void afficherLivreParType (String type, Bibliotheque B) : qui
permet d'afficher la liste des livres, contenus dans une bibliothèque donnée,
ayant un type donné
- public static void afficherLivreParAuteur (String auteur, Bibliotheque B) :
qui permet d'afficher la liste des livres, contenus dans une bibliothèque donnée,
d'un auteur donné
- public static void afficherLivreParAnnee (int annee, Bibliotheque B) : qui
permet d'afficher la liste des livres, contenus dans une bibliothèque donnée,
ayant une année d'édition donnée
- public static void supprimerRayon (String rayon, Bibliotheque B) : qui
permet de supprimer un rayon à partir d'une bibliothèque donnée à travers son
nom
- public static void supprimerLivre (String reference, Bibliotheque B) : qui
permet de supprimer un livre à partir d'une bibliothèque à travers sa référence
• La classe principale "Test" qui contient un jeu de test de toutes les fonctions définies
dans la classe "Services"

Vous aimerez peut-être aussi