使用 Graphviz 绘画 UML 图
. . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 状态图 18 4 参考 19 1 Chapter 1 简介 本文为开放文档,可在 GitHub 提交 issue / PR。本文的 PDF 版本可在 在此下 载。 Graphviz 是 AT&T 实验室开发的一个开源软件,它以一种文本语言去描述图(graph),然后 的关系。 利用 Graphviz 去生成 UML 类图有几个好处: 1. 用文本表示图,容易更新,容易做版本管理。 2. 能自动排布节点位置,在大型复杂的图特别方便。 3. 统一文档风格。 实际上,文档生成工具Doxygen 也是采用 Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去 hello.dot -o hello.png 就能生成: Hello World 作为程序员,我们可以用常用的 GNU make 去做这个生成,以下的 makefile 也展示生成 PDF 矢量格式: DOTFILES = $(basename $(wildcard *.dot)) all: \ $(addsuffix .png, $(DOTFILES)) \ $(addsuffix0 码力 | 20 页 | 331.51 KB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.6): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication PlantUML 语言参考指引 (1.2019.6) 10 / 173 1.14 Creole 和 HTML 1 时序图 @enduml 1.14 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- Bob ->x] Bob <-] Bob x<-] @enduml 1.23 构造类型和圈点 可以使用 << 和 >> 给参与者添加构造类型。 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 174 页 | 1.98 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.9): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication PlantUML 语言参考指引 (1.2019.9) 10 / 173 1.14 Creole 和 HTML 1 时序图 @enduml 1.14 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- Bob ->x] Bob <-] Bob x<-] @enduml 1.23 构造类型和圈点 可以使用 << 和 >> 给参与者添加构造类型。 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 174 页 | 2.00 MB | 1 年前3
PlantUML 1.2020.22 语言参考指引: Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication rnote over server "r" as rectangle "h" as hexagon endrnote @enduml 1.15 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- {start} <-> {end} : some time @enduml 1.27 构造类型和圈点 可以使用 << 和 >> 给参与者添加构造类型。 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 295 页 | 3.08 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2020.23): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication rnote over server "r" as rectangle "h" as hexagon endrnote @enduml 1.16 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- {start} <-> {end} : some time @enduml 1.29 构造类型和圈点 可以使用 << 和 >> 给参与者添加构造类型。 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 307 页 | 3.17 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2021.2): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication 语言参考指引 (1.2021.2) 13 / 380 1.18 Creole 和 HTML 1 时序图 [Ref. QA-354] 1.18 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- << 和 >> 给参与者添加构造类型。 PlantUML 语言参考指引 (1.2021.2) 23 / 380 1.31 构造类型和圈点 1 时序图 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 381 页 | 4.05 MB | 1 年前3
PlantUML 1.2021.1 语言参考指引: Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication 语言参考指引 (1.2021.1) 13 / 375 1.18 Creole 和 HTML 1 时序图 [Ref. QA-354] 1.18 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- << 和 >> 给参与者添加构造类型。 PlantUML 语言参考指引 (1.2021.1) 23 / 375 1.31 构造类型和圈点 1 时序图 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 376 页 | 4.00 MB | 1 年前3
PlantUML 1.2021.3 语言参考指引: Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication 12 / 397 1.16 在多个参与者添加备注 [across] 1 时序图 [参见 QA-1765] 1.16 在多个参与者添加备注 [across] 你可以之直接在所有参与者之间添加备注,格式是: • note across: 备注描述 @startuml Alice->Bob:m1 Bob->Charlie:m2 note over Alice, Charlie: 创建跨越所有参与者的备注的旧方法:\n note over Bob : Bob的初始状态 Bob -> Alice : hello @enduml [参见 QA-354] 1.18 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there--0 码力 | 398 页 | 4.22 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2023.11): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication 14 / 538 1.17 在多个参与者添加备注 [across] 1 序列图 [参见 QA-1765] 1.17 在多个参与者添加备注 [across] 你可以之直接在所有参与者之间添加备注,格式是: • note across: 备注描述 @startuml Alice->Bob:m1 Bob->Charlie:m2 note over Alice, Charlie: 创建跨越所有参与者的备注的旧方法:\n note over Bob : Bob的初始状态 Bob -> Alice : hello @enduml [参见 QA-354] 1.19 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there--0 码力 | 539 页 | 7.74 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.1): Yet another authentication Response @enduml 你可以在双引号内指定编号的格式。 格式是由 Java 的 DecimalFormat 类实现的:(0 表示数字;# 也表示数字,但默认为 0)。 你也可以用 HTML 标签来制定格式。 @startuml autonumber "[000]" Bob -> Alice : Authentication rnote over server "r" as rectangle "h" as hexagon endrnote @enduml 1.14 Creole 和 HTML 可以使用 creole 格式。 @startuml participant Alice participant "The **Famous** Bob" as Bob Alice -> Bob : hello --there-- Bob ->x] Bob <-] Bob x<-] @enduml 1.23 构造类型和圈点 可以使用 << 和 >> 给参与者添加构造类型。 在构造类型中,你可以使用 (X,color) 格式的语法添加一个圆圈圈起来的字符。 @startuml participant "Famous Bob" as Bob << Generated >> participant Alice << (C0 码力 | 146 页 | 1.91 MB | 1 年前3
共 14 条
- 1
- 2













