## Exercice II ```plantuml class Admin class Salle { creneauLibre() : Creneau[] } class Semaine class Jour class Creneau { heureDebut : integer heureFin : integer } Admin --|> "planning" Salle Admin -- "calendrier" Semaine Semaine -- "ouvrables" Jour Creneau -- Jour Salle -- "occupation *" Creneau ``` ## Exercice III Q1. ```plantuml skinparam classAttributeIconSize 0 class Singleton { - {static} instance : Singleton - value : String - Singleton(s : String) + {static} getInstance(s : String) : Singleton + getValue() } ``` Q2. Une seule instance de la classe, à laquelle on accède via `getInstance()` ## Exercice IV ```plantuml skinparam classAttributeIconSize 0 class Etudiant { id : long nom : String prénom : String naissance : String } class Enseignant { id : long nom : String prénom : String naissance : String } class Cours { nom : String nbHeuresTD : int nbHeuresCM : int nbHeuresTP : int } class Groupe Cours "1..n" -- "1" Enseignant Cours "1..n" -- "1..n" Groupe Groupe "1" -- "1..n" Etudiant ``` Q7. Non Q8. Non plus