flowchart TD
classDef contexte fill:#f9f9f9,stroke:#999,stroke-width:1px,font-size:12px;
classDef role fill:#fffbe6,stroke:#f0ad4e,stroke-width:1px,font-size:11px;
classDef logique fill:#e6f7ff,stroke:#3399cc,stroke-width:1px,font-size:12px;
classDef method fill:#ffffff,stroke:#4caf50,stroke-width:1px,font-size:11px;
MWBS["MWBS
chargé"]
MWBS --> EnsembleListe["MWBSEnsembleListe"]
MWBS --> ComposantListe["MWBSComposantListe"]
EnsembleListe --> MWBSEnsemble
ComposantListe --> MWBSComposant
subgraph MWBSEnsemble [MWBSEnsemble]
ENS_Obj["m_pclEnsemble
(hérite de AEnsemble)"]
ENS_Ctx["MEnsembleContexte"]:::contexte
ENS_Ctx --> Ctx1a["m_nRefContexte = m_nRefWBS"]:::contexte
ENS_Ctx --> Ctx1b["m_nRef = m_nRefEnsemble"]:::contexte
ENS_Ctx --> Ctx1c["m_nRefPere = ref parent"]:::contexte
ENS_Obj --> ENS_Ctx
ENS_Obj --> ENS_Role["m_sRole"]:::role
ENS_Obj --> ENS_Construire["Construire()"]:::method
ENS_Obj --> ENS_Calculer["Calculer()"]:::method
end
subgraph MWBSComposant [MWBSComposant]
COMP_Obj["m_pclComposant
(hérite de AComposant)"]
COMP_Ctx["MComposantContexte"]:::contexte
COMP_Ctx --> Ctx2a["m_nRefContexte = m_nRefWBS"]:::contexte
COMP_Ctx --> Ctx2b["m_nRef = m_nRefComposant"]:::contexte
COMP_Ctx --> Ctx2c["m_nRefEnsemble = ref parent"]:::contexte
COMP_Obj --> COMP_Ctx
COMP_Obj --> COMP_Role["m_sRole"]:::role
COMP_Obj --> COMP_Construire["Construire()"]:::method
COMP_Obj --> COMP_Calculer["Calculer()"]:::method
end
MWBSEnsemble -->|Ajouté dans| Provider["MEnsembleProvider"]
MWBSComposant -->|Ajouté dans| Provider
subgraph ProviderContent [MEnsembleProvider]
Provider --> MEnsembleListe["MEnsembleListe
(liste de AEnsemble)"]
Provider --> MComposantListe["MComposantListe
(liste de AComposant)"]
end