Les composants doivent être mis entre crochets. Il est aussi possible d'utiliser le mot-clé component pour définir un composant. Et vous pouvez définir un alias, grâce au mot-clé as. Cet alias sera utile plus tard, pour définir des relations entre composants.
@startuml
[First component]
[Another component] as Comp2
component Comp3
component [Last\ncomponent] as Comp4
@enduml
Interfaces
Les interfaces sont définies à l'aide du symbole () (parce que cela ressemble à un cercle). Vous pouvez aussi utiliser le mot-clé interface pour définir une interface. Vous pouvez aussi définir un alias, à l'aide du mot-clé as. Cet alias pourrait être utilisé plus tard, lors de la définition des relations. Nous verrons plus tard qu'il n'est pas obligatoire de définir les interfaces.
@startuml
() "First Interface"
() "Another interface" as Interf2
interface Interf3
interface "Last\ninterface" as Interf4
[component]
footer //Adding "component" to force diagram to be a **component diagram**//
@enduml
Exemple simple
Les liens entre les éléments sont à utiliser avec des combinaisons de lignes pointillés (..), lignes droites(--), et de flèches (-->).
Vous pouvez utiliser les commandes suivantes : note left of , note right of , note top of , note bottom of suivi de l'identifiant du composant pour définir des notes reliées à un seul objet. Une note peut aussi être créée seule avec le mot clé note, puis ensuite reliée à d'autres objets avec le symbole ...
@startuml
interface "Data Access" as DA
DA - [First Component]
[First Component] ..> HTTP : use
note left of HTTP : Web Service only
note right of [First Component]
A note can also
be on several lines
end note
@enduml
Regrouper des composants
Vous pouvez utiliser le mot-clé package pour regrouper des composants et des interfaces ensembles.
Par défaut, les liens entre classes ont deux tirets -- et sont orientées verticalement. Il est possible d'utiliser un lien horizontal en mettant un simple tiret (ou point) comme ceci :
Il est aussi possible de changer la direction des flèches en ajoutant les mots clés left, right, up ou down à l'intérieur des flèches :
@startuml
[Component] -left-> left
[Component] -right-> right
[Component] -up-> up
[Component] -down-> down
@enduml
Vous pouvez raccourcir les flèches en utilisant seulement les premiers caractères de la direction (par exemple, -d- à la place de -down-) ou les deux premiers caractères (-do-). Veuillez noter qu'il ne faut pas abuser de cette fonctionnalité : Graphviz donne généralement de bon résultat sans modification.
Utiliser la notation UML2
Par défaut (à partir de la version v1.2020.13-14), la notation UML2 est utilisée.
@startuml
interface "Data Access" as DA
DA - [First Component]
[First Component] ..> HTTP : use
@enduml
Utiliser la notation UML1
La commande skinparam componentStyle uml1 est utilisée pour changer vers la notation UML1.
@startuml
skinparam componentStyle uml1
interface "Data Access" as DA
DA - [First Component]
[First Component] ..> HTTP : use
@enduml
Utiliser le style rectangle (supprime toute notation UML)
La commande skinparam componentStyle rectangle est utilisée pour changer vers le style rectangle (sans aucune notation UML).
@startuml
skinparam componentStyle rectangle
interface "Data Access" as DA
DA - [First Component]
[First Component] ..> HTTP : use
@enduml
Description longue
Il est possible de mettre un long texte sur plusieurs lignes en utilisant des crochets.
@startuml
component comp1 [
This component
has a long comment
on several lines
]
@enduml
Couleurs individuelles
Il est possible de spécifier une couleur après la définition du composant.
@startuml
component [Web Server] #Yellow
@enduml
Sprites et stéréotypes
Vous pouvez utiliser des sprites dans les stéréotypes des composants.
@startuml
sprite $businessProcess [16x16/16] {
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFF0FFFFF
FFFFFFFFFF00FFFF
FF00000000000FFF
FF000000000000FF
FF00000000000FFF
FFFFFFFFFF00FFFF
FFFFFFFFFF0FFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFF
}
rectangle " End to End\nbusiness process" <<$businessProcess>> {
rectangle "inner process 1" <<$businessProcess>> as src
rectangle "inner process 2" <<$businessProcess>> as tgt
src -> tgt
}
@enduml
Skinparam
Utilisez la commande skinparam pour changer la couleur et la mise en forme du texte du schéma. Vous pouvez utiliser cette commande :
Dans la définition du diagramme, comme pour les autres commandes,