plantuml工具---时序图01


前言

UML,Unified Modeling Language,统一建模语言,是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。——维基百科
Plant UML,基于graphviz的一款绘图工具,very强大。

准备

在正式开始学习使用plantuml语法之前,先展示一张使用plantuml绘制的时序图案例:

  • 代码如下
@startuml

autonumber

actor "用户" as User
participant "浏览器" as Browser
participant "服务端" as Server #orange

activate User

User -> Browser: 输入 URL
activate Browser

Browser -> Server: 请求服务器
activate Server

Server -> Server: 模板渲染
note right of Server: 这是一个注释

Server -> Browser: 返回 HTML
deactivate Server

Browser --> User

@enduml
  • 渲染如下:

基本知识

语句开始与结束

@startuml
@enduml
(注释用'

箭头表示

序列-> 用于绘制两个 参与者之间的信息。 参与者不必明确声明。
要有一个点状的箭头,就用-->
也可以用<- 和<-- 。 这不会改变绘图,但可能提高可读性。 注意,这只适用于序列图,其他图的规则不同。

参与者关键字

actor(角色)
boundary(边界)
control(控制)
entity(实体)
database(数据库)
collections(集合)
queue(队列)
使用这些其他的关键字来声明参与者,将改变参与者的表示形状。
可以使用as 关键字重命名参与者。
可以使用 # 改变参与者的背景颜色。
使用order关键字来定制参与者的显示顺序。

  • 代码验证
@startuml
'使用order改变顺序'
'使用as重命名'
participant Participant as Foo order 5
actor       Actor       as Foo1 order 4
'使用#修改颜色'
boundary    Boundary    as Foo2 #yellow
control     Control     as Foo3 #red
entity      Entity      as Foo4 #green
database    Database    as Foo5 #blue
collections Collections as Foo6 #white
queue       Queue       as Foo7 #pink
Foo -> Foo1 : To actor  
Foo1 -> Foo2 : To boundary 
Foo2 -> Foo3 : To control
Foo3 -> Foo4 : To entity
Foo4 -> Foo5 : To database
Foo5 -> Foo6 : To collections
Foo6 -> Foo7: To queue
@enduml
  • 效果图如下:

基于此,可以初步构建一个简单的时序图