使用 Graphviz 绘画 UML 图使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 目录 1 简介 2 1.1 使用 Graphviz dot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 类图 4 2.1 继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3 状态图 18 4 参考 19 1 Chapter 1 简介 本文为开放文档,可在 GitHub 提交 issue / PR。本文的 PDF 版本可在 在此下 载。 Graphviz 是 AT&T 实验室开发的一个开源软件,它以一种文本语言去描述图(graph),然后 自动排布节点和边去生成图片。它已有近 30 年历史。 象设计的方法。其中 最常用的是类图(class diagram),用于表示类的构成以及类之间的关系。 利用 Graphviz 去生成 UML 类图有几个好处: 1. 用文本表示图,容易更新,容易做版本管理。 2. 能自动排布节点位置,在大型复杂的图特别方便。 3. 统一文档风格。 实际上,文档生成工具Doxygen 也是采用 Graphviz 生成类图的。不过,我们在软件设计中, 经0 码力 | 20 页 | 331.51 KB | 1 年前3
PlantUML 1.2019.3 语言参考指引• 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • 以 AsciiMath 或 JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.3) 1 / 156 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 157 页 | 1.78 MB | 1 年前3
PlantUML 1.2019.2 语言参考指引• 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • 以 AsciiMath 或 JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.2) 1 / 156 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 157 页 | 1.78 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.1)• 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • 以 AsciiMath 或 JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.1) 1 / 145 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 146 页 | 1.91 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.9)PlantUML 语言参考指引 (Version 1.2019.9) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • MindMap JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.9) 1 / 173 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 174 页 | 2.00 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.6)PlantUML 语言参考指引 (Version 1.2019.6) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • MindMap JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.6) 1 / 173 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 174 页 | 1.98 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.4)PlantUML 语言参考指引 (Version 1.2019.4) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram • 甘特图 • MindMap JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml Alice -> Bob: Authentication database Foo1 -> Foo6 : To collections @enduml PlantUML 语言参考指引 (1.2019.4) 1 / 164 1.2 声明参与者 1 时序图 关键字 as 用于重命名参与者 你可以使用 RGB 值或者颜色名修改 actor 或参与者的背景颜色。 @startuml actor Bob #red ' The only difference0 码力 | 165 页 | 1.89 MB | 1 年前3
PlantUML 1.2020.22 语言参考指引PlantUML 语言参考指引 (Version 1.2020.22) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • JSON Data • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml 用户 -> 认证中心: 登录操作 Foo3 entity Foo4 database Foo5 collections Foo6 PlantUML 语言参考指引 (1.2020.22) 1 / 294 1.2 声明参与者 1 时序图 Foo1 -> Foo2 : To boundary Foo1 -> Foo3 : To control Foo1 -> Foo4 : To entity Foo1 -> Foo5 : To database0 码力 | 295 页 | 3.08 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2020.23)PlantUML 语言参考指引 (Version 1.2020.23) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 活动图 • 组件图 • 状态图 • 对象图 • 部署图 • 定时图 同时还支持以下非 UML 图: • JSON Data • 线框图形界面 • 架构图 • 规范和描述语言 (SDL) • Ditaa diagram JLaTeXMath 符号的数学公式 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml 用户 -> 认证中心: 登录操作 Foo3 entity Foo4 database Foo5 collections Foo6 PlantUML 语言参考指引 (1.2020.23) 1 / 306 1.2 声明参与者 1 时序图 Foo1 -> Foo2 : To boundary Foo1 -> Foo3 : To control Foo1 -> Foo4 : To entity Foo1 -> Foo5 : To database0 码力 | 307 页 | 3.17 MB | 1 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2021.2)PlantUML 语言参考指引 (Version 1.2021.2) PlantUML 是一个开源项目,支持快速绘制: • 时序图 • 用例图 • 类图 • 对象图 • 活动图 • 组件图 • 部署图 • 状态图 • 定时图 同时还支持以下非 UML 图: • JSON Data • YAML Data • Network diagram (nwdiag) • 线框图形界面 Relationship diagram 通过简单直观的语言来定义这些示意图。 1 时序图 1 时序图 1.1 简单示例 你可以用-> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 你也可以使用 --> 绘制一个虚线箭头。 另外,你还能用 <- 和 <--,这不影响绘图,但可以提高可读性。注意:仅适用于时序图,对于其它示意 图,规则是不同的。 @startuml 用户 -> 认证中心: 登录操作 Foo5 collections Foo6 Foo1 -> Foo2 : To boundary PlantUML 语言参考指引 (1.2021.2) 1 / 380 1.2 声明参与者 1 时序图 Foo1 -> Foo3 : To control Foo1 -> Foo4 : To entity Foo1 -> Foo5 : To database Foo1 -> Foo6 : To collections0 码力 | 381 页 | 4.05 MB | 1 年前3
共 14 条
- 1
- 2













