0% ont trouvé ce document utile (0 vote)
34 vues4 pages

Correction Multiplicité

Le document décrit un exercice de modélisation d'un système de gestion de bibliothèque en utilisant UML, en se concentrant sur les classes Livre, Auteur, Membre et Emprunt. Chaque classe est définie avec ses attributs et méthodes, reflétant les relations et multiplicités entre elles. Un exemple de code Java est fourni pour illustrer l'implémentation des classes et leur interaction.

Transféré par

kathywassu
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 TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
34 vues4 pages

Correction Multiplicité

Le document décrit un exercice de modélisation d'un système de gestion de bibliothèque en utilisant UML, en se concentrant sur les classes Livre, Auteur, Membre et Emprunt. Chaque classe est définie avec ses attributs et méthodes, reflétant les relations et multiplicités entre elles. Un exemple de code Java est fourni pour illustrer l'implémentation des classes et leur interaction.

Transféré par

kathywassu
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 TXT, PDF, TXT ou lisez en ligne sur Scribd

Exercice d’approfondissement multiplicité : Gestion d'une Bibliothèque

En s’inspirant de ce qui a été vu dans le cours, on aimerait créer un système de


gestion d'une bibliothèque qui modélise les relations entre les livres, les
auteurs, les membres et les emprunts. Les relations doivent refléter les
différentes multiplicités possibles en UML.
Classe Livre :
 Un livre peut avoir plusieurs auteurs (0..*).
 Un livre peut être emprunté par plusieurs membres (0..*).
 Attribut : titre
 Méthodes
 void ajouterEmprunt(Emprunt emprunt)
 void afficherInformations()
Classe Auteur :
 Un auteur peut écrire plusieurs livres (0..*).
 Attribut : nom
Classe Membre :
 Un membre peut emprunter plusieurs livres (0..*).
 Attribut : nom
Classe Emprunt :
 Un emprunt est associé à un seul membre (1..1).
 Un emprunt est associé à un ou plusieurs livres (1..*).
 Attribut : Date emprunt
 Méthode
 Date getDateEmprunt()
1. Donnez le diagramme de classe UML correspondant
2. Créez les classes Livre, Auteur, Membre et Emprunt avec les attributs et
méthodes nécessaires pour refléter les relations ci-dessus et en complétant les
éléments manquants correspondants aux multiplicités dans les classes impactées.
3. Implémentez des méthodes pour afficher les informations des livres, des
auteurs, des membres et des emprunts.
4. Créez un programme principal qui crée des instances des classes et affiche
les informations des relations.

Correction
Détails des Méthodes :
Classe Livre
• Constructeur :
o Livre(String titre, List<Auteur> auteurs) : Initialise un livre avec un titre
et une liste d'auteurs.
• Getters :
o String getTitre() : Renvoie le titre du livre.
o List<Auteur> getAuteurs() : Renvoie la liste des auteurs du livre.
o List<Emprunt> getEmprunts() : Renvoie la liste des emprunts du livre.
• Méthodes :
o void ajouterEmprunt(Emprunt emprunt) : Ajoute un emprunt à la liste des
emprunts du livre.
o void afficherInformations() : Affiche les informations du livre, ses auteurs
et les emprunts.
Classe Auteur
• Constructeur :
o Auteur(String nom) : Initialise un auteur avec un nom.
• Getter :
o String getNom() : Renvoie le nom de l'auteur.
Classe Membre
• Constructeur :
o Membre(String nom) : Initialise un membre avec un nom.
• Getter :
o String getNom() : Renvoie le nom du membre.
Classe Emprunt
• Constructeur :
o Emprunt(Membre membre, List<Livre> livres, Date dateEmprunt) : Initialise un
emprunt avec un membre, une liste de livres et une date d'emprunt.
• Getters :
o Membre getMembre() : Renvoie le membre associé à l'emprunt.
o List<Livre> getLivres() : Renvoie la liste des livres empruntés.
o Date getDateEmprunt() : Renvoie la date de l'emprunt.
Classe Main
• Méthode principale :
o main(String[] args) : Point d'entrée du programme qui crée des instances des
classes et affiche les informations des relations.

import java.util.List;
import java.util.ArrayList;
import java.util.Date;

public class Livre {


private String titre;
private List<Auteur> auteurs;
private List<Emprunt> emprunts;

public Livre(String titre, List<Auteur> auteurs) {


this.titre = titre;
this.auteurs = auteurs;
this.emprunts = new ArrayList<>();
}

public String getTitre() {


return titre;
}

public List<Auteur> getAuteurs() {


return auteurs;
}

public List<Emprunt> getEmprunts() {


return emprunts;
}

public void ajouterEmprunt(Emprunt emprunt) {


emprunts.add(emprunt);
}

public void afficherInformations() {


System.out.println("Titre du livre : " + titre);
System.out.println("Auteurs :");
for (Auteur auteur : auteurs) {
System.out.println("- " + auteur.getNom());
}
System.out.println("Emprunts :");
for (Emprunt emprunt : emprunts) {
System.out.println("- Par : " + emprunt.getMembre().getNom() + " le " +
emprunt.getDateEmprunt());
}
}
}

public class Auteur {


private String nom;

public Auteur(String nom) {


this.nom = nom;
}

public String getNom() {


return nom;
}
}

public class Membre {


private String nom;

public Membre(String nom) {


this.nom = nom;
}

public String getNom() {


return nom;
}
}

public class Emprunt {


private Membre membre;
private List<Livre> livres;
private Date dateEmprunt;

public Emprunt(Membre membre, List<Livre> livres, Date dateEmprunt) {


this.membre = membre;
this.livres = livres;
this.dateEmprunt = dateEmprunt;
}

public Membre getMembre() {


return membre;
}

public List<Livre> getLivres() {


return livres;
}

public Date getDateEmprunt() {


return dateEmprunt;
}
}

public class Main {


public static void main(String[] args) {
Auteur auteur1 = new Auteur("Cabral Libii");
Auteur auteur2 = new Auteur("Mongo Beti");

List<Auteur> auteurs = new ArrayList<>();


auteurs.add(auteur1);
auteurs.add(auteur2);
Livre livre = new Livre("Java pour les nuls", auteurs);

Membre membre1 = new Membre("Charlie");


Membre membre2 = new Membre("David");

List<Livre> livres1 = new ArrayList<>();


livres1.add(livre);

List<Livre> livres2 = new ArrayList<>();


livres2.add(livre);

Emprunt emprunt1 = new Emprunt(membre1, livres1, new Date());


Emprunt emprunt2 = new Emprunt(membre2, livres2, new Date());
livre.ajouterEmprunt(emprunt1);
livre.ajouterEmprunt(emprunt2);
livre.afficherInformations();
}
}

Vous aimerez peut-être aussi