PlantUML初探

565 阅读2分钟

如何快速绘制复杂的时序图?

@startuml
actor 用户 as user #green
entity 随心听 as radio
entity dueros语音app as vrapp
entity 度秘云端 as dumi
entity QQ音乐 as qq

autonumber

||20||
user -> vrapp:语音输入:"我要听歌"
activate vrapp
vrapp -> dumi:DCS格式PCM音频流

activate dumi
dumi --> dumi:语音识别
activate dumi
deactivate dumi

dumi -> qq:根据识别结果查询音频资源
activate qq
qq -> dumi:返回音频资源,含收藏、喜欢等状态
deactivate qq

dumi -> vrapp:第二条DCS:\n1、Play指令;\n2、播放地址
vrapp -> radio:透传第二条DCS
radio -> radio:取出单任务缓存池缓存的数据,比对token是否一致
activate radio #red
deactivate radio
alt token一致
   radio -> radio:解析播放地址,组装MediaBean
   activate radio
   radio -> radio:检测MediaBean是否完整
   alt 完整
     radio -> radio:进入播放页面
   end
   deactivate radio
else 不一致
   radio ->radio:清空单任务缓存池
   activate radio
   deactivate radio
end

deactivate dumi
deactivate vrapp
deactivate radio

||45||
@enduml
  • 10分钟完成绘制
  • 方便修改
  • 易传输,便于维护,git、svn支持
  • 免费好用

使用纯文本编辑器PlantUML绘制

@startuml
actor 用户 as user #green
entity 随心听 as radio
entity dueros语音app as vrapp
entity 度秘云端 as dumi
entity QQ音乐 as qq

autonumber

||20||
user -> vrapp:语音输入:"我要听歌"
activate vrapp
vrapp -> dumi:DCS格式PCM音频流

activate dumi
dumi --> dumi:语音识别
activate dumi
deactivate dumi

dumi -> qq:根据识别结果查询音频资源
activate qq
qq -> dumi:返回音频资源,含收藏、喜欢等状态
deactivate qq

dumi -> vrapp:第二条DCS:\n1、Play指令;\n2、播放地址
vrapp -> radio:透传第二条DCS
radio -> radio:取出单任务缓存池缓存的数据,比对token是否一致
activate radio #red
deactivate radio
alt token一致
   radio -> radio:解析播放地址,组装MediaBean
   activate radio
   radio -> radio:检测MediaBean是否完整
   alt 完整
     radio -> radio:进入播放页面
   end
   deactivate radio
else 不一致
   radio ->radio:清空单任务缓存池
   activate radio
   deactivate radio
end

deactivate dumi
deactivate vrapp
deactivate radio

||45||
@enduml

常见UML绘图工具比较

file:///Users/yangke08/Documents/mwebdoc/docs/media/15688110739040/15689502688247.jpg

PlantUML简介

PlantUML不足之处

  • 操作不灵活
  • 需配置java环境(非java语言开发者)