软件工程中会用到各种UML图,例如用例图、时序图等。那我们能不能像写代码一样去画图呢?
今天推荐一款软件工程师的作图利器--PlantUML,它能让你用写代码的方式快速画出UML图。
一、什么是PlantUML?
PlantUML是一个允许你快速作出UML图的组件:
也支持以下非UML图表:
此外:
关于PlantUML的更多信息,可通过查阅PLantUML官网获取:
https://plantuml.com/zh/
二、如何使用PlantUML?
使用PlantUML画图有多种方式,一种是使用PlantUML在线编辑器,另一种是使用VSCode/PyCharm/IDEA等软件支持的插件来编写。
PlantUML在线编辑器:
http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
下面我们演示一个PlantUML画时序图例子:
- @startuml
- /'boundary 分界; control 控制器; entity 数据对象; database 数据库; collections 集合'/
- '为了图标更加简洁,去掉底部重复的对象
- hide footbox
- autonumber
-
- participant SERVICE
- database DB
- participant AGENT
-
- rnote over DB
- Database, 数据驱动设计
- endnote
-
- SERVICE ->o SERVICE: 服务端处理
- SERVICE [#Red]-> DB: 写状态,触发更新事件
- note right
- Pub/Sub机制
- endnote
- DB -> AGENT: 发布更新事件
-
- activate AGENT
- alt 激活事件
- AGENT --> AGENT: 激活处理
- else 去激活事件
- AGENT --> AGENT: 去激活处理
- else 升级事件
- AGENT <--> AGENT: 升级处理
- end
- AGENT [#Blue]-> DB: 写状态,触发更新事件
- deactivate AGENT
-
- @enduml
时序图用来标识某个操作的整个流程,通过时序图可以很清晰地知道某个操作的全流程,以及相关的交互方。
如下是上述代码作出的时序图:
更多PlantUML作图演示,可参考:
https://www.cnblogs.com/wangbin2188/p/16128832.html