Let's have few examples : Note that you can disable the shadowing using the skinparam shadowing false command. 유즈케이스는 (두개의 괄호는 원으로 보이기 때문에) 괄호로 싸서 표현합니다. 아니면 usecase 키워를 이용하여 정의할 수 있습니다. 그리고 as 키워드를 이용하여 별칭을 정의 할 수 있습니다. 별칭은 관계를 정의할 때 사용됩니다. 🎉 Copied! 
 | @startuml
(First usecase)
(Another usecase) as (UC2)
usecase UC3
usecase (Last\nusecase) as UC4
@enduml
| 액터를 정의하는 이름은 콜론 사이에 있습니다. Actor 키워드를 사용하여 액터를 정의할 수도 있습니다. 별칭은 as 키워드로 할당될 수 있으며, 나중에 관계를 정의할 때 액터 이름 대신 사용될 수 있습니다. 다음 예에서 액터 정의는 선택 사항임을 알 수 있습니다. 🎉 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] If you want to have description on several lines, you can use quotes. You can also use the following separators: -- .. == __ . And you can put titles within the separators. 🎉 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
| You can use packages to group actors or use cases. 🎉 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
| You can use rectangle to change the display of the package. 🎉 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
|
To link actors and use cases, the arrow --> is used. The more dashes - in the arrow, the longer the arrow. You can add a label on the arrow, by adding a : character in the arrow definition. In this example, you see that User has not been defined before, and is used as an actor. 🎉 Copied! 
 | @startuml
User -> (Start)
User --> (Use the application) : A small label
:Main Admin: ---> (Use the application) : This is\nyet another\nlabel
@enduml
| If one actor/use case extends another one, you can use the symbol <|-- . 🎉 Copied! 
 | @startuml
:Main Admin: as Admin
(Use the application) as (Use)
User <|-- Admin
(Start) <|-- (Use)
@enduml
| You can use the note left of , note right of , note top of , note bottom of keywords to define notes related to a single object. A note can be also define alone with the note keywords, then linked to other objects using the .. symbol. 🎉 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
| You can add stereotypes while defining actors and use cases using << and >> . 🎉 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
| 기본적으로, 클래스간의 링크는 대쉬2개 -- 로 표시하고 수직방향이다. 다음 처럼 대쉬1개 (혹은 점)을 넣어서 수평방향 링크를 사용할 수 있다: 🎉 Copied! 
 | @startuml
:user: --> (Use case 1)
:user: -> (Use case 2)
@enduml
| You can also change directions by reversing the link: 🎉 Copied! 
 | @startuml
(Use case 1) <.. :user:
(Use case 2) <- :user:
@enduml
| It is also possible to change arrow direction by adding left , right , up or down keywords inside the arrow: 🎉 Copied! 
 | @startuml
:user: -left-> (dummyLeft)
:user: -right-> (dummyRight)
:user: -up-> (dummyUp)
:user: -down-> (dummyDown)
@enduml
| You can shorten the arrow by using only the first character of the direction (for example, -d- instead of -down- ) or the two first characters (-do- ). Please note that you should not abuse this functionality : Graphviz gives usually good results without tweaking. The newpage keywords to split your diagram into several pages or images. 🎉 Copied! 
 | @startuml
:actor1: --> (Usecase1)
newpage
:actor2: --> (Usecase2)
@enduml
| The general default behavior when building diagram is top to bottom. 🎉 Copied! 
 | @startuml
'default
top to bottom direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
|
You may change to left to right using the left to right direction command. The result is often better with this direction. 🎉 Copied! 
 | @startuml
left to right direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
| You can use the skinparam command to change colors and fonts for the drawing. You can use this command : You can define specific color and fonts for stereotyped actors and usecases. 🎉 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
|
You can add / to make Business Use Case. Business Usecase 🎉 Copied! 
 | @startuml
(First usecase)/
(Another usecase)/ as (UC2)
usecase/ UC3
usecase/ (Last\nusecase) as UC4
@enduml
|
Business Actor 🎉 Copied! 
 | @startuml
:First Actor:/
:Another\nactor:/ as Man2
actor/ Woman3
actor/ :Last actor: as Person1
@enduml
| [Ref. QA-12179] You can change the color or style of individual arrows using the inline following notation: #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
| [Ref. QA-3770 and QA-3816][See similar feature on deployment-diagram or class diagram] You can change the color or style of individual element using the following notation: #[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
| [Ref. QA-5340 and adapted from 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. | |