Files
Yggdrasil/infotro/PTR/UML.md
T
2024-01-30 17:39:21 +01:00

119 lines
1.6 KiB
Markdown

<header><h1>
UML
</h1></header>
## 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 : <<usage>>\n<<include>>\n<<import>>\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