UML

## Class ### Association bidirectionnel ```plantuml @startuml A - B : " " @enduml ``` ### Association unidirectionnel ```plantuml @startuml class A A -> B : " " @enduml ``` ### Aggregation bidirectionnel ```plantuml @startuml class A { -ptrB: B* } class B { +ptrA: A* } A "+ptrA" o- "-ptrB" B : " " @enduml ``` ```plantuml @startuml class A { -ptrB: B* } A o- "1" B : " " @enduml ``` ### Composition (pas bidirectionnel) ```plantuml @startuml class A { #aB: B } A *-> B : " " @enduml ``` ### Dépendance ```plantuml @startuml A .> B : <>\n<>\n<>\n" " @enduml ``` ### Généralisation ```plantuml @startuml class "A extends B" as A class B { -myFunc(a: integer): void } A <|- B : " " @enduml ``` ### Implémentation ```plantuml @startuml interface B A .|> B : " " @enduml ``` ## Timing ```plantuml @startuml robust "Virus Timing" as vt vt is Infection @2023/02/01 vt is Incubation @2023/02/05 vt is Illnes @2023/02/17 vt is Infection @enduml ``` ## Sequence ```plantuml @startuml participant A as a participant B as b a -> b: synchrone / call a ->>(10) b++: asynchrone b -->> a--: replay a -\\ b : signal b -> b b ->> b @enduml ``` ## State machine