0% ont trouvé ce document utile (0 vote)
43 vues3 pages

Système de Gestion de Prêts Bibliothèque

Transféré par

createursite
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues3 pages

Système de Gestion de Prêts Bibliothèque

Transféré par

createursite
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Tunis El Manar

Institut supérieur d’informatique 2 ème Computer Science


Département Génie Logiciel Programmation Orientée Objet

Série TP N=°3 Héritage && Polymorphisme

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

rations telles que :


— Inscription et désinscription des adhérents.
— Ajout et suppression d’ouvrages.
— Enregistrement et restitution des prêts.
— Affichage des listes d’adhérents et d’ouvrages.
Exigences Supplémentaires
— Tous les attributs doivent respecter le principe d’encapsulation pour garantir la sécurité des données.
— Constructeurs : Chaque classe doit avoir au moins deux constructeurs pour initialiser les attributs lors de la création
d’instances avec différentes configurations.
— Méthode toString() : Doit être implémentée pour fournir une représentation textuelle claire et informative, facili-
tant le débogage et l’affichage des informations pertinentes sur les objets.
— Getters et Setters : Doivent être définis pour permettre un accès sécurisé aux attributs et autoriser leur modification
tout en préservant l’intégrité des données.
— Utiliser des collections appropriées, comme ArrayList, pour stocker efficacement les adhérents, les ouvrages et
les prêts.
— Le programme doit inclure une gestion des erreurs robuste pour traiter les cas où un adhérent ou un ouvrage
n’existe pas dans le système.

Vous aimerez peut-être aussi