Skip to content

Exercice : Gestion d'une bibliothèque

Objectif : Créer un système simple pour gérer une bibliothèque.

Étape 1 : Création des classes

Classe Auteur :

  • Attributs nom, prénom, date de naissance.
  • Les accesseurs et les méthodes que vous jugez pertinentes.

Classe Livre :

  • Attributs : titre, une ArrayList de Auteur et ISBN.
  • Méthodes : Les accesseurs et les méthodes que vous jugez pertinentes.

Classe Bibliothèque :

  • Attributs : Une ArrayList pour stocker les livres.
  • Méthodes :
  • ajouterLivre(Livre livre) : pour ajouter un livre à la bibliothèque.
  • supprimerLivre(String isbn) : pour supprimer un livre de la bibliothèque en utilisant son ISBN.
  • supprimerLivre(Livre livre) : pour supprimer un livre de la bibliothèque.
  • afficherLivres() : pour afficher tous les livres de la bibliothèque.
  • trouverLivre(Livre livre) : recherche un livre précis.
  • trouverLivre(String ISBN) : recherche un livre en fonction de son ISBN.
  • trouverLivre(Auteur auteur) : recherche un livre selon l'auteur.
  • trouverLivre(String titre) : recherche un livre selon le titre.

Étape 2 : Implémentation

Implémentez les classes Auteur, Livre et Bibliothèque.

Dans la méthode main, créez quelques livres et ajoutez-les à la bibliothèque.

Affichez tous les livres, supprimez-en un, puis affichez à nouveau tous les livres pour vérifier que la suppression a bien été effectuée.

Utiliser chaque méthode de recherche afin de valider leur fonctionnement.

Étape 3 : Extension

Ajoutez une classe Emprunteurs avec des attributs comme nom, prenom id et une ArrayList pour stocker les livres empruntés.

Dans la classe Bibliothèque, ajoutez une méthode pour permettre à un utilisateur de la bibliothèque d'emprunter un livre et une autre pour le retourner.

Système simple de gestion d'une bibliothèqueSystème simple de gestion d'une bibliothèqueAuteur-nom : String-prenom : String-dateNaissance : LocalDate--+Auteur(nom:String, prenom:String, dateNaissance:LocalDate)+getNom() : String+setNom(nom:String) : void+getPrenom() : String+setPrenom(prenom:String) : void+getDateNaissance() : LocalDate+setDateNaissance(date:LocalDate) : void+toString() : StringLivre-titre : String-auteurs : List<Auteur>-isbn : String--+Livre(titre:String, auteurs:List<Auteur>, isbn:String)+getTitre() : String+setTitre(titre:String) : void+getAuteurs() : List<Auteur>+ajouterAuteur(auteur:Auteur) : void+retirerAuteur(auteur:Auteur) : boolean+getIsbn() : String+setIsbn(isbn:String) : void+toString() : StringEmprunteur-id : String-nom : String-prenom : String-emprunts : List<Livre>--+Emprunteur(id:String, nom:String, prenom:String)+getId() : String+getNom() : String+getPrenom() : String+getEmprunts() : List<Livre>+ajouterEmprunt(livre:Livre) : void+retirerEmprunt(livre:Livre) : boolean+toString() : StringBibliotheque-livres : List<Livre>-emprunteurs : List<Emprunteur>--+Bibliotheque()+ajouterLivre(livre:Livre) : void+supprimerLivre(isbn:String) : boolean+supprimerLivre(livre:Livre) : boolean+afficherLivres() : void+trouverLivre(livre:Livre) : Livre+trouverLivre(isbn:String) : Livre+trouverLivre(auteur:Auteur) : List<Livre>+trouverLivre(titre:String) : List<Livre>+emprunterLivre(emprunteur:Emprunteur, livre:Livre) : boolean+retournerLivre(emprunteur:Emprunteur, livre:Livre) : booleancontient10..*gère10..*auteurs11..*emprunte0..*0..*
Système simple de gestion d'une bibliothèqueSystème simple de gestion d'une bibliothèqueAuteur-nom : String-prenom : String-dateNaissance : LocalDate--+Auteur(nom:String, prenom:String, dateNaissance:LocalDate)+getNom() : String+setNom(nom:String) : void+getPrenom() : String+setPrenom(prenom:String) : void+getDateNaissance() : LocalDate+setDateNaissance(date:LocalDate) : void+toString() : StringLivre-titre : String-auteurs : List<Auteur>-isbn : String--+Livre(titre:String, auteurs:List<Auteur>, isbn:String)+getTitre() : String+setTitre(titre:String) : void+getAuteurs() : List<Auteur>+ajouterAuteur(auteur:Auteur) : void+retirerAuteur(auteur:Auteur) : boolean+getIsbn() : String+setIsbn(isbn:String) : void+toString() : StringEmprunteur-id : String-nom : String-prenom : String-emprunts : List<Livre>--+Emprunteur(id:String, nom:String, prenom:String)+getId() : String+getNom() : String+getPrenom() : String+getEmprunts() : List<Livre>+ajouterEmprunt(livre:Livre) : void+retirerEmprunt(livre:Livre) : boolean+toString() : StringBibliotheque-livres : List<Livre>-emprunteurs : List<Emprunteur>--+Bibliotheque()+ajouterLivre(livre:Livre) : void+supprimerLivre(isbn:String) : boolean+supprimerLivre(livre:Livre) : boolean+afficherLivres() : void+trouverLivre(livre:Livre) : Livre+trouverLivre(isbn:String) : Livre+trouverLivre(auteur:Auteur) : List<Livre>+trouverLivre(titre:String) : List<Livre>+emprunterLivre(emprunteur:Emprunteur, livre:Livre) : boolean+retournerLivre(emprunteur:Emprunteur, livre:Livre) : booleancontient10..*gère10..*auteurs11..*emprunte0..*0..*