Diagramme d'objets

Un diagramme d'objets est une représentation graphique qui met en évidence les objets et leurs relations à un moment précis. Il fournit un instantané de la structure du système, capturant la vue statique des instances présentes et de leurs associations.

PlantUML offre un moyen simple et intuitif de créer des diagrammes d'objets en utilisant du texte simple. Sa syntaxe conviviale permet de créer rapidement des diagrammes sans avoir recours à des outils GUI complexes. En outre, le forum PlantUML offre aux utilisateurs une plateforme pour discuter, partager et demander de l'aide, favorisant ainsi une communauté de collaboration. En choisissant PlantUML, les utilisateurs bénéficient à la fois de l'efficacité des diagrammes basés sur le markdown et du soutien d'une communauté active.

Définition des objets

Les instances d'objets sont défnies avec le mot clé object.

🎉 Copied!

@startuml
object firstObject
object "My Second Object" as o2
@enduml

Relations entre les objets

Les relations entre objets sont définies à l'aide des symboles suivants :

Type Symbol Image
Extension <|--
Composition *--
Aggregation o--

Il est possible de remplacer -- par .. pour avoir des pointillés.

Grâce à ces règles, on peut avoir les dessins suivants:

Il est possible d'ajouter une étiquette sur la relation, en utilisant : suivi par le texte de l'étiquette.

Pour les cardinalités, vous pouvez utiliser les doubles quotes "" sur chaque côté de la relation.

🎉 Copied!

@startuml
object Object01
object Object02
object Object03
object Object04
object Object05
object Object06
object Object07
object Object08

Object01 <|-- Object02
Object03 *-- Object04
Object05 o-- "4" Object06
Object07 .. Object08 : some labels
@enduml

Association d'objects

🎉 Copied!

@startuml
object o1
object o2
diamond dia
object o3

o1  --> dia
o2  --> dia
dia --> o3
@enduml

Ajout de champs

Pour déclarer un champ, vous pouvez utiliser le symbole : suivi par le nom du champs.

🎉 Copied!

@startuml

object user

user : name = "Dummy"
user : id = 123

@enduml

It is also possible to ground between brackets {} all fields.

🎉 Copied!

@startuml

object user {
  name = "Dummy"
  id = 123
}

@enduml

Caractéristiques communes avec les diagrammes de classes

Table de correspondance ou tableau associatif

Vous pouvez définir une table de correspondance ou un tableau associatif, avec le mot clé map et le séparateur =>

🎉 Copied!

@startuml
map CapitalCity {
 UK => London
 USA => Washington
 Germany => Berlin
}
@enduml

🎉 Copied!

@startuml
map "Map **Contry => CapitalCity**" as CC {
 UK => London
 USA => Washington
 Germany => Berlin
}
@enduml

🎉 Copied!

@startuml
map "map: Map<Integer, String>" as users {
 1 => Alice
 2 => Bob
 3 => Charlie
}
@enduml

Et ajouter un lien avec un objet

🎉 Copied!

@startuml
object London

map CapitalCity {
 UK *-> London
 USA => Washington
 Germany => Berlin
}
@enduml

🎉 Copied!

@startuml
object London
object Washington
object Berlin
object NewYork

map CapitalCity {
 UK *-> London
 USA *--> Washington
 Germany *---> Berlin
}

NewYork --> CapitalCity::USA
@enduml

[Réf. n° 307]

WARNING
 This translation need to be updated. 
WARNING

Program (or project) evaluation and review technique (PERT) with map

You can use map table in order to make Program (or project) evaluation and review technique (PERT) diagram.

🎉 Copied!

@startuml PERT
left to right direction
' Horizontal lines: -->, <--, <-->
' Vertical lines: ->, <-, <->
title PERT: Project Name

map Kick.Off {
}
map task.1 {
    Start => End
}
map task.2 {
    Start => End
}
map task.3 {
    Start => End
}
map task.4 {
    Start => End
}
map task.5 {
    Start => End
}
Kick.Off --> task.1 : Label 1
Kick.Off --> task.2 : Label 2
Kick.Off --> task.3 : Label 3
task.1 --> task.4
task.2 --> task.4
task.3 --> task.4
task.4 --> task.5 : Label 4
@enduml

[Ref. QA-12337]

Display JSON Data on Class or Object diagram

Simple example

🎉 Copied!

@startuml
class Class
object Object
json JSON {
   "fruit":"Apple",
   "size":"Large",
   "color": ["Red", "Green"]
}
@enduml

[Ref. QA-15481]

For another example, see on JSON page.


Privacy Policy      Advertise