• 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

  • 相关阅读:
    计算机毕业设计Java敬老福利院管理(源码+系统+mysql数据库+lw文档)
    Linux 如何查看.deb文件详细信息版本号包名
    27岁自学Python转行靠谱吗?入行晚吗?
    第九章 设置结构化日志记录(一)
    java毕业设计精准扶贫管理系统统(附源码、数据库)
    21.flink 水位线,彻底站起来
    热点文章采集-热点资讯采集工具免费
    Netty(11)序列化/反序列化、Netty参数
    JSONP接口
    k8s无法删除pv,pvc问题
  • 原文地址:https://blog.csdn.net/hanlizhong85/article/details/132650644