5.5 KiB
5.5 KiB
classDiagram
class Campus {
+int id
+String nom
+String adresse
+String ville
+String codePostal
+Boolean actif
}
class SallePret {
+int id
+String nom
+String localisation
+Boolean actif
}
class PosteEmprunt {
+int id
+String nom
+String identifiantPoste
+Boolean actif
}
class Utilisateur {
+int id
+String microsoftId
+String nom
+String prenom
+String email
+String classe
+Boolean actif
}
class Role {
+int id
+String code
+String libelle
+String description
}
class CarteEtudiante {
+int id
+String qrCode
+DateTime dateActivation
+DateTime dateExpiration
+Boolean actif
}
class CategorieMateriel {
+int id
+String nom
+String description
+Boolean actif
}
class Materiel {
+int id
+String nom
+String marque
+String modele
+String reference
+String numeroInventaire
+String numeroSerie
+StatutMateriel statut
+String etatGeneral
+Boolean actif
+verifierDisponibilite()
+changerStatut()
}
class Accessoire {
+int id
+String nom
+String description
+Boolean actif
}
class MaterielAccessoire {
+int id
+int materielId
+int accessoireId
+int quantiteAttendue
+Boolean obligatoire
}
class Emprunt {
+int id
+DateTime dateEmprunt
+DateTime dateRetourPrevue
+DateTime dateRetourReelle
+StatutEmprunt statut
+ModeIdentification modeIdentificationEmprunt
+ModeIdentification modeIdentificationRetour
+String commentaireDepart
+String commentaireRetour
+confirmerDepartInchange()
+soumettreEcartDepart()
+confirmerEcartDepart()
+initialiserRetourDepuisDepart()
+confirmerRetourInchange()
+soumettreEcartRetour()
+confirmerEcartRetour()
+marquerEnRetard()
}
class Checklist {
+int id
+TypeChecklist type
+DateTime dateVerification
+String commentaire
+valider()
}
class ChecklistElement {
+int id
+String nomElement
+EtatChecklistElement etat
+int quantiteConstatee
+String commentaire
}
class Anomalie {
+int id
+String type
+String description
+StatutAnomalie statut
+Boolean detecteeAutomatiquement
+String observation
+DateTime dateDetection
+DateTime dateResolution
+ajouterObservation()
+changerStatut()
+cloturer()
}
class Historique {
+int id
+String action
+String description
+DateTime dateAction
}
class Notification {
+int id
+String titre
+String message
+String type
+Boolean lu
+DateTime dateCreation
+marquerCommeLue()
}
class StatutMateriel {
<<enumeration>>
DISPONIBLE
RESERVE
EMPRUNTE
NON_CONFORME
DETERIORE
MAINTENANCE
INDISPONIBLE
}
class StatutEmprunt {
<<enumeration>>
EN_ATTENTE_VALIDATION_DEPART
EN_COURS
EN_RETARD
EN_ATTENTE_VALIDATION_RETOUR
CLOTURE
RETOUR_NON_CONFORME
ANNULE
}
class TypeChecklist {
<<enumeration>>
DEPART
RETOUR
}
class EtatChecklistElement {
<<enumeration>>
PRESENT
ABSENT
DETERIORE
}
class StatutAnomalie {
<<enumeration>>
DETECTEE
EN_COURS_TRAITEMENT
RESOLUE
CLOTUREE
}
class ModeIdentification {
<<enumeration>>
QR_CODE
MAIL_ENSUP
}
Campus "1" --> "0..*" SallePret : contient
Campus "1" --> "0..*" Utilisateur : rattache
Campus "1" --> "0..*" Materiel : possede
Campus "1" --> "0..*" Emprunt : localise
Campus "0..1" --> "0..*" Historique : concerne_campus
SallePret "1" --> "0..*" PosteEmprunt : possede
SallePret "1" --> "0..*" Emprunt : concerne
SallePret "0..1" --> "0..*" Historique : localise
PosteEmprunt "1" --> "0..*" Emprunt : enregistre
PosteEmprunt "0..1" --> "0..*" Historique : trace
Role "1" --> "0..*" Utilisateur : attribue
Utilisateur "1" --> "0..*" CarteEtudiante : possede
Utilisateur "1" --> "0..*" Emprunt : effectue
Utilisateur "1" --> "0..*" Checklist : renseigne
Utilisateur "1" --> "0..*" Historique : declenche
Utilisateur "1" --> "0..*" Notification : recoit
CategorieMateriel "1" --> "0..*" Materiel : classe
Materiel "1" --> "0..*" MaterielAccessoire : possede
Accessoire "1" --> "0..*" MaterielAccessoire : compose
Materiel "1" --> "0..*" Emprunt : concerne
Emprunt "1" --> "1..2" Checklist : possede
Checklist "1" --> "1..*" ChecklistElement : contient
Accessoire "0..1" --> "0..*" ChecklistElement : verifie
Emprunt "1" --> "0..*" Anomalie : genere
Materiel "1" --> "0..*" Anomalie : concerne
Utilisateur "1" --> "0..*" Anomalie : concerne_etudiant
Utilisateur "0..1" --> "0..*" Anomalie : traitee_par_responsable
Emprunt "0..1" --> "0..*" Historique : trace
Materiel "0..1" --> "0..*" Historique : concerne
Anomalie "0..1" --> "0..*" Notification : genere