December 3, 2021

分类

IT技能点

PlantUML 是一个强大的文本画图引擎,本文整理下技术文档中用 PlantUML 支持的画图类型。

1. 类图

PlantUML 画类图

2. ER 图

数据模型中的对象关系图(Entity-Relation Diagram),是系统设计技术文档中必不可少的组件。PlantUML 支持 ER 图的创建,它本质上是通过对现有的类图进行扩展来实现的。

文中代码块都是通过 Kroki! 渲染的,同时代码块中的 !include C4_Context.puml 语句,目的是 C4 的渲染配色,去除这一句,就是普通的 PlantUML 语句。

2.1 基本图例

@startuml
!include C4_Context.puml

hide circle
hide empty members

entity Entity {
   * identifying_attribute
   --
   * mandatory_attribute
   optional_attribute
}

' zero or one
A |o--o| B

' exactly one
C ||--|| D

' zero or many
E }o--o{ F

' one or many
G }|--|{ H

@enduml

2.1.1 实体

实体(entity)的语法是继承自类(class),class 语法都可以用于 entity 中。

其次,* 可以用于标识强制属性。为了不与加粗的语法 ** 冲突,可以通过在 * 后面添加一个空格来使其生效。

@startuml
!include C4_Context.puml

hide circle

entity 订单 {
   * **订单号** 
   --
   * 数量
   ..
   订单时间
}

@enduml

2.1.2 关系

类型 标识
0或1(Zero or One)
只有1(Exactly One)
0或N(Zero or Many) }o--
1或N(One or Many) }

上述表格示例中都给了 --,表示都是实线。如果把 -- 换成 ..,那么最终就会展示虚线。

同时,-- 表示垂直方向,- 表示水平方向