Prenons quelques exemples
Les cas d'utilisation sont mis entre parenthèses (car deux parenthèses
forment un ovale).
Vous pouvez aussi utiliser le mot-clé usecase pour définir un cas d'utilisation.
Et vous pouvez définir un alias avec le mot-clé as . Cet alias
sera ensuite utilisé lors de la définition des relations.
🎉 Copied!
|
@startuml
(First usecase)
(Another usecase) as (UC2)
usecase UC3
usecase (Last\nusecase) as UC4
@enduml
|
Le nom définissant un acteur est placé entre deux points.
Vous pouvez également utiliser le mot-clé actor pour définir un acteur.
Un alias peut être attribué à l'aide du mot-clé as et peut être utilisé ultérieurement à la place du nom de l'acteur, par exemple lors de la définition des relations.
Les exemples suivants montrent que la définition des acteurs est facultative.
🎉 Copied!
|
@startuml
:First Actor:
:Another\nactor: as Man2
actor Woman3
actor :Last actor: as Person1
@enduml
|
You can change the actor style from stick man (by default) to:
- an awesome man with the
skinparam actorStyle awesome command;
- a hollow man with the
skinparam actorStyle hollow command.
Stick man (by default)
🎉 Copied!
|
@startuml
:User: --> (Use)
"Main Admin" as Admin
"Use the application" as (Use)
Admin --> (Admin the application)
@enduml
|
Awesome man
🎉 Copied!
|
@startuml
skinparam actorStyle awesome
:User: --> (Use)
"Main Admin" as Admin
"Use the application" as (Use)
Admin --> (Admin the application)
@enduml
|
[Ref. QA-10493]
Hollow man
🎉 Copied!
|
@startuml
skinparam actorStyle Hollow
:User: --> (Use)
"Main Admin" as Admin
"Use the application" as (Use)
Admin --> (Admin the application)
@enduml
|
[Ref. PR#396]
Si vous voulez une description sur plusieurs lignes, vous pouvez utiliser des guillemets.
Vous pouvez aussi utiliser les séparateurs suivants: --
.. == __ .
Et vous pouvez mettre un titre dans les séparateurs.
🎉 Copied!
|
@startuml
usecase UC1 as "You can use
several lines to define your usecase.
You can also use separators.
--
Several separators are possible.
==
And you can add titles:
..Conclusion..
This allows large description."
@enduml
|
Vous pouvez utiliser des packages pour regrouper des acteurs ou des cas d'utilisation
🎉 Copied!
|
@startuml
left to right direction
actor Guest as g
package Professional {
actor Chef as c
actor "Food Critic" as fc
}
package Restaurant {
usecase "Eat Food" as UC1
usecase "Pay for Food" as UC2
usecase "Drink" as UC3
usecase "Review" as UC4
}
fc --> UC4
g --> UC1
g --> UC2
g --> UC3
@enduml
|
Vous pouvez utiliser rectangle pour modifier l'affichage du paquet
🎉 Copied!
|
@startuml
left to right direction
actor "Food Critic" as fc
rectangle Restaurant {
usecase "Eat Food" as UC1
usecase "Pay for Food" as UC2
usecase "Drink" as UC3
}
fc --> UC1
fc --> UC2
fc --> UC3
@enduml
|
Pour lier les acteurs et les cas d'utilisation, la flèche --> est utilisée.
Plus il y a de tirets - dans la flèche, plus elle sera longue.
Vous pouvez ajouter un libellé sur la flèche, en ajoutant un caractère : dans
la définition de la flèche.
Dans cet exemple, vous voyez que User n'a pas été défini préalablement,
et qu'il est implicitement reconnu comme acteur.
🎉 Copied!
|
@startuml
User -> (Start)
User --> (Use the application) : A small label
:Main Admin: ---> (Use the application) : This is\nyet another\nlabel
@enduml
|
Si un acteur ou un cas d'utilisation en étend un autre, vous pouvez utiliser le symbole <|-- .
🎉 Copied!
|
@startuml
:Main Admin: as Admin
(Use the application) as (Use)
User <|-- Admin
(Start) <|-- (Use)
@enduml
|
Vous pouvez utiliser les mots clés note left of , note right of ,
note top of , note bottom of pour définir les notes en relation avec un objet.
Une note peut également être définie seule avec des mots-clés, puis
liée à d'autres objets en utilisant le symbole .. .
🎉 Copied!
|
@startuml
:Main Admin: as Admin
(Use the application) as (Use)
User -> (Start)
User --> (Use)
Admin ---> (Use)
note right of Admin : This is an example.
note right of (Use)
A note can also
be on several lines
end note
note "This note is connected\nto several objects." as N2
(Start) .. N2
N2 .. (Use)
@enduml
|
Vous pouvez ajouter des stéréotypes à la définition des acteurs et des cas d'utilisation avec << et >> .
🎉 Copied!
|
@startuml
User << Human >>
:Main Database: as MySql << Application >>
(Start) << One Shot >>
(Use the application) as (Use) << Main >>
User -> (Start)
User --> (Use)
MySql --> (Use)
@enduml
|
Par défaut, les liens entre les classes ont deux tirets -- et sont orientés verticalement.
Il est possible de mettre des liens horizontaux en mettant un seul tiret (ou un point) comme ceci:
🎉 Copied!
|
@startuml
:user: --> (Use case 1)
:user: -> (Use case 2)
@enduml
|
Vous pouvez aussi changer le sens en renversant le lien :
🎉 Copied!
|
@startuml
(Use case 1) <.. :user:
(Use case 2) <- :user:
@enduml
|
Il est possible de changer la direction d'une flèche en utilisant les mots-clé left ,
right , up ou down à l'intérieur de la flèche :
🎉 Copied!
|
@startuml
:user: -left-> (dummyLeft)
:user: -right-> (dummyRight)
:user: -up-> (dummyUp)
:user: -down-> (dummyDown)
@enduml
|
Vous pouvez abréger les noms des flèches en indiquant seulement le premier caractère de la direction (par exemple -d- pour
-down- )
ou les deux premiers caractères (-do- ).
Il est conseillé de ne pas abuser de cette fonctionnalité : Graphviz qui donne d'assez bon résultats quoique non "garantis".
Le mot-clé newpage est utilisé pour découper un diagrame en plusieurs images.
🎉 Copied!
|
@startuml
:actor1: --> (Usecase1)
newpage
:actor2: --> (Usecase2)
@enduml
|
Le comportement général de construction des diagrammes est de haut en bas.
🎉 Copied!
|
@startuml
'default
top to bottom direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
|
Il est possible de changer pour aller plutôt de la droite vers la gauche avec la commande left to right direction . Le résultat est parfois meilleur dans ce cas.
🎉 Copied!
|
@startuml
left to right direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
|
Utilisez la commande skinparam pour changer la couleur et la mise en forme du texte du schéma.
Vous pouvez utiliser cette commande :
Vous pouvez aussi spécifier les polices et les couleurs pour les acteurs et cas d'utilisation avec des stéréotypes.
🎉 Copied!
|
@startuml
skinparam handwritten true
skinparam usecase {
BackgroundColor DarkSeaGreen
BorderColor DarkSlateGray
BackgroundColor<< Main >> YellowGreen
BorderColor<< Main >> YellowGreen
ArrowColor Olive
ActorBorderColor black
ActorFontName Courier
ActorBackgroundColor<< Human >> Gold
}
User << Human >>
:Main Database: as MySql << Application >>
(Start) << One Shot >>
(Use the application) as (Use) << Main >>
User -> (Start)
User --> (Use)
MySql --> (Use)
@enduml
|
🎉 Copied!
|
@startuml
left to right direction
skinparam packageStyle rectangle
actor customer
actor clerk
rectangle checkout {
customer -- (checkout)
(checkout) .> (payment) : include
(help) .> (checkout) : extends
(checkout) -- clerk
}
@enduml
|
Vous pouvez ajouter / pour créer un Business Use Case.
Business Use Case
🎉 Copied!
|
@startuml
(First usecase)/
(Another usecase)/ as (UC2)
usecase/ UC3
usecase/ (Last\nusecase) as UC4
@enduml
|
Acteur commercial
🎉 Copied!
|
@startuml
:First Actor:/
:Another\nactor:/ as Man2
actor/ Woman3
actor/ :Last actor: as Person1
@enduml
|
[Réf. QA-12179]
Vous pouvez modifier la couleur ou le style des flèches individuelles en utilisant la notation suivante en ligne
#color;line.[bold|dashed|dotted];text:color
🎉 Copied!
|
@startuml
actor foo
foo --> (bar) : normal
foo --> (bar1) #line:red;line.bold;text:red : red bold
foo --> (bar2) #green;line.dashed;text:green : green dashed
foo --> (bar3) #blue;line.dotted;text:blue : blue dotted
@enduml
|
[Réf. QA-3770 et QA-3816]
[Voir une fonctionnalité similaire sur le diagramme de déploiement ou le diagramme de classes]
Vous pouvez modifier la couleur ou le style d'un élément individuel en utilisant la notation suivante
#[color|back:color];line:color;line.[bold|dashed|dotted];text:color
🎉 Copied!
|
@startuml
actor a
actor b #pink;line:red;line.bold;text:red
usecase c #palegreen;line:green;line.dashed;text:green
usecase d #aliceblue;line:blue;line.dotted;text:blue
@enduml
|
[Réf. QA-5340 et adapté de QA-6852]
Simple example
🎉 Copied!
|
@startuml
allowmixing
actor Actor
usecase Usecase
json JSON {
"fruit":"Apple",
"size":"Large",
"color": ["Red", "Green"]
}
@enduml
|
[Ref. QA-15481]
For another example, see on JSON page.
|
|