UML常用语法基本使用

基本组件语法

一、 箭头

1. 实线箭头:使用 "->" 或 "<-"

@startuml
Alice -> Bob: 1.实线箭头
Alice <- Bob: 1.实线箭头
@enduml

2. 虚线箭头:使用 "-->" 或 "<--"

@startuml
Alice --> Bob: 2.虚线箭头
Alice <-- Bob: 2.虚线箭头
@enduml

3. 指向自身的箭头

@startuml
Bob -> Bob: 3.指向自身的箭头
@enduml

4. 中断的箭头:使用 "->x"

@startuml
Bob ->x Jane: 4.中断的箭头
@enduml

5. 半个箭头:使用 "-\" 或 "-/"

@startuml
Bob -\ Jane: 5.半个箭头
Bob -/ Jane: 5.半个箭头
@enduml

6. 细箭头:使用 "->>" 或 "-//"

@startuml
Jane ->> Tom: 6.细箭头
Jane -// Tom: 6.细箭头
@enduml

7. 带圈的箭头 :箭头末尾加 "o"

@startuml
Jane ->o Tom: 7.带圈的箭头
Jane -/o Tom: 7.带圈的箭头
@enduml

8. 双向箭头:使用 "<->"

@startuml
Tom <-> Carl: 8.双向箭头
@enduml

9. 修改箭头的颜色:使用 "-[#色值]>"

@startuml
Tom -[#blue]> Carl: 9.修改箭头的颜色
Tom -[#ea66a6]> Carl: 9.修改箭头的颜色
@enduml

二、注释

  • 单行注释 :以单引号" ' "开始即是一个单行注释
  • 多行注释:以" /' '" 为起始," '/ " 为结束
@startuml
'这是一个单行注释

/'
 多行注释
 多行注释
 多行注释
'/
@enduml

三、参与者 (角色)

1. 使用关键字来声明参与者

格式:关键字 参与者名称
声明参与者最常用的是关键字 'participant',形状为方形;另外还有几种声明关键字:

  • actor
  • boundary
  • control
  • entity
  • database

例如:

@startuml
  participant A
  actor B
  boundary C
  control D
  entity E
  database F

  A -> B : To actor
  B -> C : To boundary
  B -> D : To control
  B -> E : To entity
  B -> F : To database
@enduml

2. 隐式声明参与者
除了上面使用关键字来声明参与者外,还有一种使用引号来声明参与者的方法,默认的形状和使用关键字 'participant'相同,例如:

@startuml
  "Bob" -> "This is a very\nlong name" as Carl
   Carl --> "Bob" : Hi ~
@enduml

3. 别名
如果参与者的命名过长,可以考虑使用关键字 'as' 为其设置一个别名,例如:

@startuml
  participant marker as m
  F -> m : To marker
@enduml

4. 修改参与者颜色
想修改参与者的颜色,直接在参与者的声明语句末尾加上色值即可,如:

@startuml
  participant Tom #7fb80e
  participant Alice as Li #yellow
@enduml

四、标题和图形背景色

1. 标题
为图形添加标题,使用关键字 'title',例如:

@startuml
 title 标题
 A -> B : send to B
@enduml

2. 图形背景色

@startuml
 skinparam backgroundColor #AAFFFF
 A -> B
@enduml

消息组件设置

一、消息编号

1. 自动生成消息编号
使用关键字 'autonumber' 后,消息编号会以自增形式自动生成;若要指定一个起始的编号,直接在该关键字后加上即可,例如:

@startuml
  autonumber
  A -> B
  A -> B

  autonumber 10
  B -> C
  B -> C
@enduml

2. 修改消息编号样式
格式:autonumber 起始编号 间隔数字 HTML样式
例如:

@startuml
  '表示:起始编号为20,间隔为2,编号长度为3位
  autonumber 20 2 "<b>[000]"
  C -> D
  C -> D

 '表示:起始编号为30,编号长度不限,#为占位符
  autonumber 30 "<b>(#)"
  D -> E
  D -> E

 '表示:起始编号为40,编号长度不限,编号为绿色,#为占位符
  autonumber 40 "<font color=green>编号#"
  E -> F
  E -> F
@enduml

二、为参与者或消息添加注解说明

1. 为消息添加注解说明
关键字 :

  • note left : 在消息左侧添加注解
  • note right : 在消息右侧添加注解

例如:

@startuml
 A -> B : send to B
 note left : A开始发送

 B -> C
 note right : C收到消息
@enduml

2. 为参与者添加注解说明
关键字:

  • note left of:在参与者左侧添加注释
  • note over:在参与者左侧添加注释
  • note right of
@startuml
 A -> B : send to B
 note left of A: A:告诉你一件事
 '设置注解的背景色为 #a3cf62
 note over B #a3cf62: B:什么事?

 B -> C : talk to C
 '设置注解的背景色为 #f7acbc
 note right of C #f7acbc: C:你想说什么?
@enduml

Comments
Write a Comment