240 lines
5.3 KiB
Markdown
240 lines
5.3 KiB
Markdown
```mermaid
|
|
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
|
|
+creer()
|
|
+enregistrerRetour()
|
|
+cloturer()
|
|
+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
|
|
EMPRUNTE
|
|
NON_CONFORME
|
|
DETERIORE
|
|
MAINTENANCE
|
|
INDISPONIBLE
|
|
}
|
|
|
|
class StatutEmprunt {
|
|
<<enumeration>>
|
|
EN_COURS
|
|
EN_RETARD
|
|
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
|
|
|
|
``` |