一 )拆分解释
一 顺序图:
顺序图用 -> , –>, <-, <– 来绘制参与者(Participants)之 间的消息(Message)。
- ( * ) –> Alice :( * ) 表示起点
二 注释
‘这是个单行注释
/’这是个多行注释
‘/
三 参与者
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
附:
1.消息名如果需要有多行文本,可以用 \n 来表示换行。
四 改变箭头的样式
使用 \ 或 / 来替换 < 或 > 可以让箭头只显示上半部分或下半 部分。
重复输入箭头或斜杠( >> // ),用来绘制空心箭头。
使用双横线 – 替代 - 可以用来绘制点线。
在箭头后面加个 o 可以在箭头前绘制一个圆圈。
使用 <-> 可用来绘制双向箭头。
- 改变箭头的颜色
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
五 消息序号
autonumber 用来给自动的给消息添加上序号。如果需要指定一个起始号码,可以直接在 autonumber 后面加个数字就行 了,如果要设置自增量,再在后面加一个数字就行了。
autonumber 40 10
Bob -> Alice : Authentication Request
Bob <- Alice : Authentication Response
六 标题
标题(Title)
要给图形加一个标题可以用 title 关键词来设置。
例如 title Simple Comunication example
七 对齐
使用 legend 和 end legend 关键词可以设置图形的图例。图例可以设 为左对齐、右对齐和居中对齐。
八 消息分组
九 消息注解
我们可能经常会在消息的左边或右边使用注解,要添加注解,只要使用 note left 或 note right 关键词就可以了。
二)实例讲解
1 类图:
代码块:
@startuml
abstract AbstrctList
abstract AbstractCollection
interface List
interface Collection
class ClassActivity
AbstractCollection --|> List
AbstractCollection --|> Collection
List -|> Collection
AbstrctList -|> AbstractCollection
ArrayList --|> AbstractList
class ArrayList{
Object[] elementData
size()
}
enum TimeUnit{
DAYS
HOURS
MINUTES
}
@enduml
结果:
解释:
首先定义各个类,普通类class ,抽象类abstract ,接口 interface
箭头样式,一个-表示水平展示,两个-表示竖直展示,|>代表的是空心箭头,只有>表示实体箭头。<|–表示右边的类泛化左边的类;–|>表示左边的类泛化右边的类。
类中方法设置,使用
class 类名{
直接写方法名即可
}方法定义的权限
包的使用package 包名 样式{}
2.时序图
含义: