• PlantUML入门教程:画时序图


    软件工程中会用到各种UML图,例如用例图、时序图等。那我们能不能像写代码一样去画图呢?
    今天推荐一款软件工程师的作图利器--PlantUML,它能让你用写代码的方式快速画出UML图。

    一、什么是PlantUML?
    PlantUML是一个允许你快速作出UML图的组件:

    • 序列图
    • 用例图
    • 类图
    • 对象图
    • 活动图(这里是传统的语法)。
    • 组件图
    • 部署图
    • 状态图
    • 时序图

    也支持以下非UML图表:

    • JSON数据
    • YAML数据
    • Extended Backus-Naur Form (EBNF)图表
    • 网络图(nwdiag)
    • 线框图形界面或UI模拟图(盐)。
    • 架构图
    • 规范和描述语言(SDL)
    • Ditaa图
    • 甘特图
    • 思维导图
    • 工作分解结构图(WBS)
    • 用AsciiMath或JLaTeXMath符号进行数学计算
    • 实体关系图(IE/ER)。

    此外:

    • 超链接和工具提示
    • 克里奥尔语:富文本、表情符号、unicode、图标
    • OpenIconic图标
    • Sprite图标
    • AsciiMath数学表达式

    关于PlantUML的更多信息,可通过查阅PLantUML官网获取:
    https://plantuml.com/zh/


    二、如何使用PlantUML?
    使用PlantUML画图有多种方式,一种是使用PlantUML在线编辑器,另一种是使用VSCode/PyCharm/IDEA等软件支持的插件来编写。
    PlantUML在线编辑器:
    http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

    下面我们演示一个PlantUML画时序图例子:

    1. @startuml
    2. /'boundary 分界; control 控制器; entity 数据对象; database 数据库; collections 集合'/
    3. '为了图标更加简洁,去掉底部重复的对象
    4. hide footbox
    5. autonumber
    6. participant SERVICE
    7. database DB
    8. participant AGENT
    9. rnote over DB
    10. Database, 数据驱动设计
    11. endnote
    12. SERVICE ->o SERVICE: 服务端处理
    13. SERVICE [#Red]-> DB: 写状态,触发更新事件
    14. note right
    15. Pub/Sub机制
    16. endnote
    17. DB -> AGENT: 发布更新事件
    18. activate AGENT
    19. alt 激活事件
    20. AGENT --> AGENT: 激活处理
    21. else 去激活事件
    22. AGENT --> AGENT: 去激活处理
    23. else 升级事件
    24. AGENT <--> AGENT: 升级处理
    25. end
    26. AGENT [#Blue]-> DB: 写状态,触发更新事件
    27. deactivate AGENT
    28. @enduml


    时序图用来标识某个操作的整个流程,通过时序图可以很清晰地知道某个操作的全流程,以及相关的交互方。

    如下是上述代码作出的时序图:

    更多PlantUML作图演示,可参考:
    https://www.cnblogs.com/wangbin2188/p/16128832.html

  • 相关阅读:
    DiFi A Go-as-You-Pay Wi-Fi Access System 精读笔记(三)
    Linux:Gitlab:16.9.2 创建用户及项目仓库基础操作(2)
    MySQL进阶——存储引擎
    【博学谷学习记录】超强总结,用心分享|Hive调优-本地模式
    最佳实践之部署安全且具有韧性的AI系统
    C++多线程学习02 线程的入口参数
    猿创征文|【深度学习前沿应用】文本审核
    手写一个博客平台 ~ 第七天
    WPF开源轻便、快速的桌面启动器
    【JavaEE进阶】Spring事务和事务传播机制
  • 原文地址:https://blog.csdn.net/hanlizhong85/article/details/132650644