Système de Gestion de Prêts Bibliothèque
Système de Gestion de Prêts Bibliothèque
Contexte
L’objectif principal est de développer un système pour gérer les prêts d’ouvrages tels que des livres, des magazines, des
bandes dessinées et des dictionnaires. Ce système doit faciliter la gestion des adhérents, des emprunts et des retours, tout
en assurant un suivi efficace des ressources disponibles.
Partie1
— Classe Ouvrage : La classe Ouvrage représente un ouvrage de la bibliothèque. Elle contient des attributs communs
à tous les types d’ouvrages, tels que :
— titre (String) : Le titre de l’ouvrage.
— isbn (String) : L’identifiant unique de l’ouvrage.
— prix (double) : Le prix de l’ouvrage.
— bestseller (boolean) : Indique si l’ouvrage est un bestseller.
— nbExemplaires (int) : Le nombre d’exemplaires disponibles.
— Classe Volume : Représente un ouvrage et hérite de la classe Ouvrage.
— Classe Livre : La classe Livre étend la classe Volume pour représenter un livre spécifique. Elle inclut des attributs
supplémentaires comme :
— auteur (String) : L’auteur du livre.
— genre (String) : Le genre littéraire du livre.
— Classe Magazine : La classe Magazine, également étendant Ouvrage, représente un magazine avec un attribut ad-
ditionnel :
— datePublication (LocalDate) : La date de publication du magazine.
— Classe Dictionnaire : La classe Dictionnaire représente un volume et inclut des attributs spécifiques tels que :
— langue (String) : La langue du dictionnaire.
— nombreDeMots (int) : Le nombre de mots contenus dans le dictionnaire.
— Classe BandeDessinee : La classe BandeDessinee, qui étend Volume, est destinée à gérer les bandes dessinées. Elle
peut inclure des attributs comme :
— illustrateur (String) : L’illustrateur de la bande dessinée.
— Class TestProgramme :
— Créer un tableau d’objets de type Ouvrage en instanciant au moins un objet de chaque sous-classe (Livre, Ma-
gazine, BandeDessinee, Dictionnaire).
— Utiliser le polymorphisme pour afficher les détails de chaque ouvrage.
1
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet
Partie2
— Gestion des Adhérents : Dans cette section, nous allons développer une classe Adherent qui représentera les membres
de la bibliothèque. Cette classe contiendra les attributs suivants :
— cin (int) : Un numéro d’identification unique attribué à chaque adhérent.
— nom (String) : Le nom de l’adhérent.
— prenom (String) : Le prénom de l’adhérent.
— nombreEmprunts (int) : Le nombre de livres actuellement empruntés par l’adhérent, initialisé à 0.
Méthodes à implémenter dans la classe Adherent :
— Getters et Setters : Pour chaque attribut, permettant ainsi un accès et une modification sécurisés.
— toString() : Cette méthode affichera les informations complètes de l’adhérent sous une forme lisible.
— Gestion des Prêts : Nous allons également créer une classe Pret qui gérera toutes les informations relatives aux prêts
de livres. Les attributs de cette classe incluront :
— numeroPret (int) : Identifiant unique du prêt.
— adherent (Adherent) : L’adhérent qui a emprunté le livre.
— livre (Livre) : Le livre qui a été emprunté.
— dateEmprunt (LocalDate) : La date à laquelle le livre a été emprunté.
— dateRetour (LocalDate) : La date à laquelle le livre doit être retourné.
Méthodes à implémenter dans la classe Pret :
— Getters et Setters : Pour chaque attribut afin d’assurer un accès contrôlé.
— afficherDetailsPret() : Cette méthode affichera tous les détails concernant le prêt, incluant les informations sur
l’adhérent et le livre.
— Gestion de la Bibliothèque : La classe Bibliotheque sera responsable de la gestion globale des adhérents, des ou-
vrages et des prêts. Elle inclura les méthodes suivantes :
— public Adherant rechercheAdherentByCin(int cin) : Rechercher un adhérent par son CIN
— public void inscrireAdherant(Adherant adherant) : Inscrire un nouvel adhérent
— void desinscrireAdherant(int cin) : Désinscrire un adhérent par son CIN
— public void afficherAdherants() : Afficher la liste des adhérents
— public Ouvrage rechercheOuvrageByISBN(String isbn) : Rechercher un ouvrage par son ISBN
— public void ajouterOuvrage(Ouvrage ouvrage) : Ajouter un nouvel ouvrage à la bibliothèque
— public void supprimerOuvrage(String isbn) : Supprimer un ouvrage par son ISBN
— public void afficherOuvrages() : Afficher la liste des ouvrages
— public List<Pret> chercherPretParDate(LocalDate date) : Chercher les prêts par date
— public List<Pret> chercherPretParAdherant(int cin) : Chercher les prêts par adhérent CIN
— void enregistrerPret(String isbn, int cin) : Enregistrer un nouveau prêt
— public void restituerPret(int cin) : Restituer un livre emprunté par un adhérent
— public void afficherPret() : : Afficher la liste des prêts.
— Interface Utilisateur : Pour permettre une interaction fluide avec le système, nous créerons une classe TestPro-
gramme. Cette classe proposera un menu en ligne de commande permettant à l’utilisateur d’effectuer diverses opé-
2
Université de Tunis El Manar
Institut supérieur d’informatique 2 ème Computer Science
Département Génie Logiciel Programmation Orientée Objet