@startuml

'les hypothèses permettant le calcul de certains indicateurs
class ref_Hypothese{
*String clé
String valeur
String source
}

'liste des types d'items autorisés
class ref_TypeItem{
*String type
' Equipement, BATIMENT, RESEAU_FIXE, DEPLACEMENT_ELECTRIQUE...
String categorie
'le booléen "serveur" permet de distinguer les équipements inclus dans le calcul de l'impact d'un serveur applicatif à l'utilisation
boolean serveur
'le commentaire permet notamment de détailler les catégories équipements contenues dans un même type
String commentaire
Double dureeVieDefaut
' la référence de l'hypothese doit exister dans la table ref_Hypothese.cle
String refHypothese
String source
' la référence de l'item par defaut doit exister dans la table ref_FacteurCaracterisation.nom
String refItemParDefaut
}

'Impact environnementaux de référence
class ref_FacteurCaracterisation {
* String nom
* String etape
* String critere
'description du facteur de caractérisation
String description
String niveau
String tiers
String categorie
Double consoElecMoyenne
String localisation
Double valeur
String unite
String source
}

class ref_CorrespondanceRefEqP {
'modèle d'équipement de l'organisation, la valeur du champ doit exister dans en_EqP.modele
* String modeleEquipementSource
'Equipement de référence, la valeur du champ doit exister dans ref_ImpactEquipement.refEquipement
String refEquipementCible
}

' Critère d'impact
Class ref_Critere {
*String nomCritere
String unité
String description
}

' étapes du cycle de vie des items pris en compte dans les calculs
class ref_EtapeACV {
* String code
String libelle
String description
}

'Impact environnemental Messagerie
class ref_ImpactMessagerie{
'L'équation d'impact est une fonction affine de la forme a * x + b
'Cette constante correspond à "a" dans la fonction affine
Double constanteCoefficientDirecteur
'Cette constante correspond à "b" dans la fonction affine
Double constanteOrdonneeOrigine
'Critère associé à l'impact
String critere
String source
}
@enduml
