PlantUml时序图入门示例

入职新公司之后,写程序文档空前多了起来,画时序图是基本要求。

用vscode里的PlantUml插件可以画时序图,PlantUml官网:https://plantuml.com/zh/

plantuml官网

图中可以看到,除了时序图,这个uml工具还可以画好多图,这里只记录下时序图的常用用法,其他需要的时候再学习一下。

首先去vscode下载plantuml插件


plantuml插件

然后新建一个后缀名为puml或者pu的文件
用vscode打开就可以直接画图了。
一般格式为下面这样

@startuml
skinparam SequenceGroupBodyBackGroundColor transparent
title  I'm title
actor User order 1
box "Offboard App" #ffff99
participant "smartphone app" as app order 2
end box
participant "platform" as pf order 3
participant "background management" as bm order 4
actor Admin order 5

autonumber
==create activity==
Admin -[#blue]>bm:Admin input the activity through the bm
activate bm
bm->pf:Request upload activity (picture or video) (activityInfo,uid)
activate pf
pf-->bm:Response return the save result and status 
deactivate pf
bm -[#blue]-> Admin:Show the result to admin
deactivate bm

== read activity==
group job

User -[#blue]> app:User open the activity's page
activate app
app->pf:Request get the activity
activate pf
pf-->app:Response the result 
deactivate pf
app -[#blue]-> User:Show the activity to User

end
@enduml

上面写了一个小例子,在vscode中编辑完之后,alt+D就可以预览出图效果,
按shift+ctrl+p 就可以调出导出图片


plantuml导出图片

用鼠标点击第一个,右下角会出现review的提示,点击可以显示导出图片的路径,这里可以选择png,svg等多种导出格式。
alt+D运行效果图:


plantuml预览效果图

案例中@startuml和@enduml是固定格式,表示开始和结束,title关键词 可以给时序图设置一个标题,actor 关键词 是定义一个小人,participant 关键词定义一个框框,可以用as给框框起别名,order表示框框的顺序,可以把一个或者多个框框用box框起来,设置skinparam SequenceGroupBodyBackGroundColor transparent从而不会被上一层遮住。
==xx==表示分隔线,->表示实线箭头,-->表示虚线箭头,[#blue] 可以设置颜色,不设置默认是红色,activate 表示一个生命周期的开始,deactivate 表示一个生命周期的结束,group xx和end是一个固定格式,表示框出一段过程,并为这个过程起名。

这个案例虽然看起来很简单,但是已经涵盖了通常用到的场景,可以表达出各种各样的业务代码场景,因为平时还是敲代码多,所以时序图只起辅助作用,学习动力不太大,以后用的多了再深入学习一下,暂时这些就已经很够用了,没错,示例就是这么朴实无华且枯燥~

你可能感兴趣的:(PlantUml时序图入门示例)