用 plantUML 快速绘制 UML 图

发布时间 2023-08-26 16:18:39作者: 白露~

用 plantUML 快速绘制 UML 图

UML(统一建模语言)是一种用于软件开发中的可视化建模语言,它可以帮助我们描述系统的结构、行为和交互等方面。UML 包括了多种不同的图,例如类图、时序图、用例图等,每种图都有自己的符号和规则。

但是,要用传统的绘图工具来画 UML 图,可能会比较繁琐和耗时,而且难以维护和修改。有没有一种更简单和高效的方法来画 UML 图呢?

答案是有的,那就是 plantUML。

什么是 plantUML?

plantUML 是一个开源项目,它可以让我们用简单的文本语言来编写 UML 图,然后自动转换成图片。plantUML 支持绘制多种 UML 图,例如:

  • 时序图
  • 用例图
  • 类图
  • 对象图
  • 活动图
  • 组件图
  • 部署图
  • 状态图
  • 定时图

plantUML 还支持以下非 UML 图:

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

plantUML 的优点有:

  • 简洁:只需要写几行文本就可以生成复杂的 UML 图,无需拖拽或调整符号和位置。
  • 易读:文本语言是自然语言的扩展,容易理解和记忆,也方便注释和文档化。
  • 易维护:修改文本就可以更新 UML 图,无需重新绘制或导出图片。
  • 易集成:plantUML 可以与多种编辑器、IDE 和文档工具集成,例如 VS Code、Eclipse、Word、Markdown 等,也可以作为一个独立的应用程序或服务器运行。

如何使用 plantUML?

要使用 plantUML,您需要以下几个步骤:

  1. 安装 Java 运行环境(JRE),因为 plantUML 是基于 Java 开发的。
  2. 下载 plantUML 的 jar 文件,这是 plantUML 的核心程序。
  3. 编写 plantUML 的源代码文件,这是用文本语言描述 UML 图的文件,通常以 .puml 或 .plantuml 为扩展名。
  4. 使用 plantUML 的 jar 文件来转换源代码文件为图片文件,这可以通过命令行或集成工具来实现。
  5. 查看生成的图片文件,这是最终的 UML 图。

下面我们以时序图为例,来演示一下 plantUML 的使用方法。

时序图

时序图(Sequence Diagram)是一种用于描述对象之间交互顺序的 UML 图,它可以展示对象之间发送和接收的消息以及时间顺序。

要画时序图,我们需要遵循以下几个步骤:

  1. 使用 @startuml 和 @enduml 标记来定义时序图的开始和结束。

使用 -> 或 `<-来表示两个参与者之间的消息传递,也可以使用–><–来表示点状的箭头。 3. 使用activatedeactivate来表示参与者的激活和去激活状态,以及使用altoptloop等关键字来表示条件、选择和循环等逻辑。 4. 使用notetitlelegend` 等标记来添加注释、标题和图例等信息。

例如,我们可以用以下源代码来描述一个用户登录的时序图:

@startuml
title 用户登录时序图
actor 用户
boundary 界面
control 控制器
entity 服务
database 数据库

用户 -> 界面 : 输入用户名和密码
activate 界面
界面 -> 控制器 : 验证用户输入
activate 控制器
控制器 -> 服务 : 调用登录服务
activate 服务
服务 -> 数据库 : 查询用户信息
activate 数据库
数据库 --> 服务 : 返回用户信息
deactivate 数据库
alt 用户信息匹配
  服务 --> 控制器 : 返回登录成功
  控制器 --> 界面 : 显示欢迎信息
else 用户信息不匹配
  服务 --> 控制器 : 返回登录失败
  控制器 --> 界面 : 显示错误信息
end
deactivate 服务
deactivate 控制器
deactivate 界面

@enduml

使用 plantUML 的 jar 文件来转换源代码文件为图片文件,我们可以得到以下时序图:

 

从上面的例子可以看出,plantUML 的文本语言非常简洁和易读,而且可以生成清晰和美观的 UML 图。

总结

plantUML 是一个非常强大和实用的工具,它可以让我们用简单的文本语言来绘制 UML 图,而无需使用复杂和繁琐的绘图工具。plantUML 支持绘制多种 UML 图和非 UML 图,而且可以与多种编辑器、IDE 和文档工具集成。plantUML 可以帮助我们提高软件开发中的可视化建模能力,也可以增加我们的沟通和协作效率。

如果您想了解更多 plantUML 的语法和功能,您可以参考以下链接: