docs: add conception diagrams and business rules
This commit is contained in:
@@ -0,0 +1,240 @@
|
||||
```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
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user