feat: meilleur layout de l'UML ?

This commit is contained in:
Laureηt 2021-11-19 13:23:48 +01:00
parent 8bbd6b2e0c
commit c8a6811546
No known key found for this signature in database
GPG key ID: D88C6B294FD40994

View file

@ -1,64 +1,5 @@
@startuml jeu
Jeu "1" -- "1" Explorateur
Jeu "1" -- "1" Territoire
class Jeu
{
}
Territoire "1" -- "1..*" Lieu
Territoire "1" -- "0..*" Chemin
Territoire "1" -- "1" Depart
Territoire "1" -- "1" Fin
class Territoire
{
}
Lieu "1" -- "0..*" Chemin
Lieu "1" -- "0..*" Chemin
Lieu "1" -- "0..*" Connaissance
Lieu "0..1" -- "0..*" Objet
Lieu "1" -- "0..*" Personne
Lieu <|-- Depart
Lieu <|-- Fin
class Lieu
{
- exploré : bool
- déposable : Condition
}
Chemin "0..1" -- "0..*" Connaissance : transmettre
Chemin "0..1" -- "0..*" Objet : transmettre
Chemin "0..1" -- "0..*" Objet : consommer
class Chemin
{
- ouvert : Condition
- visible : Condition
- obligatoire : Condition
}
Explorateur "0..1" -- "0..*" Connaissance
Explorateur "0..1" -- "0..*" Objet
Explorateur "0..1" -- "1" Lieu
class Explorateur
{
}
Cachable <|-- Connaissance
Cachable <|-- Objet
Cachable <|-- Personne
class Cachable
{
- caché : Condition
}
class Connaissance
{
- transmissible : Condition
}
abstract class Objet
{
- taille : int
@ -66,53 +7,50 @@ abstract class Objet
- transmissible : Condition
}
Personne "1" -- "1.." Interraction
class Connaissance
{
- transmissible : Condition
}
class Lieu
{
- exploré : bool
- déposable : Condition
}
class Jeu{}
class Territoire{}
class Chemin
{
- ouvert : Condition
- visible : Condition
- obligatoire : Condition
}
class Explorateur{}
class Personne
{
- obligatoire : Condition
}
class Depart
{
class Depart{}
class Fin{}
interface Cachable
{
- caché : Condition
}
class Fin
{
}
Condition "1" -- "0..*" ConditionOU
class Condition
{
}
ConditionOU "1" -- "1..*" ConditionET
ConditionET "1" -- "1..*" Test
Test <|-- TestConnaissance
Test <|-- TestObjet
TestConnaissance "0..1" -- "1" Connaissance
TestObjet "0..1" -- "1" Objet
class TestObjet
{
- nombre : int
- supérieurEgale : bool
}
Interraction "0..1" -- "0..*" Objet
Interraction "0..1" -- "0..*" Connaissance
Interraction "1" -- "1" Choix
class Interraction
{
- disponible : Condition
}
Choix "1" -- "1..*" Action
class Choix
{
}
class Choix{}
class Action
{
@ -120,6 +58,74 @@ class Action
- finInterraction : Condition
}
class Condition{}
class ConditionOU{}
class ConditionET{}
class Test{}
class TestObjet
{
- nombre : int
- supérieurEgale : bool
}
class TestConnaissance{}
' Links
Condition "1" -down- "0..*" ConditionOU
ConditionOU "1" -down- "1..*" ConditionET
ConditionET "1" -down- "1..*" Test
Test <|-down- TestConnaissance
Test <|-down- TestObjet
TestConnaissance "0..1" -up- "1" Connaissance
TestObjet "0..1" -up- "1" Objet
Cachable <|-down- Connaissance
Cachable <|-down- Objet
Cachable <|-down- Personne
Depart -up-|> Lieu
Fin -up-|> Lieu
Jeu "1" -- "1" Explorateur
Jeu "1" -- "1" Territoire
Territoire "1" -- "1..*" Lieu
Territoire "1" -- "0..*" Chemin
Territoire "1" -- "1" Depart
Territoire "1" -- "1" Fin
Lieu "1" -- "0..*" Chemin
Lieu "1" -- "0..*" Chemin
Lieu "1" -- "0..*" Connaissance
Lieu "0..1" -- "0..*" Objet
Lieu "1" -- "0..*" Personne
Chemin "0..1" -left- "0..*" Connaissance : transmettre
Chemin "0..1" -- "0..*" Objet : transmettre
Chemin "0..1" -- "0..*" Objet : consommer
Explorateur "0..1" -- "0..*" Connaissance
Explorateur "0..1" -- "0..*" Objet
Explorateur "0..1" -- "1" Lieu
Personne "1" -- "1.." Interraction
Interraction "0..1" -- "0..*" Objet
Interraction "0..1" -- "0..*" Connaissance
Interraction "1" -- "1" Choix
Choix "1" -- "1..*" Action
@enduml