使用 Graphviz 绘画 UML 图# 使用 Graphviz 绘画 UML 图 Milo Yip 2019/10/28 ## 目录 1 简介 1.1 使用 Graphviz dot 2 类图 2.1 继承 2.2 关联 2.3 聚合 2.4 组成 2.5 依赖 2.6 类成员 2.7 包 2.8 排布技巧 2.9 颜色 3 状态图 4 参考 18 ## Chapter 1 去描述图(graph),然后自动排布节点和边去生成图片。它已有近 30 年历史。 UML(unified modeling language,统一建模语言)是一种常用的面向对象设计的方法。其中最常用的是类图(class diagram),用于表示类的构成以及类之间的关系。 利用 Graphviz 去生成 UML 类图有几个好处: 1. 用文本表示图,容易更新,容易做版本管理。 2. 能自动排布节点位置,在大型复杂的图特别方便。 dot $\le -Tpng -o $@ %.pdf: %.dot dot $\le -Tpdf -o $@ ## Chapter 2 ## 类图 UML 类图(class diagram)是最常见的图,用于表示系统的静态结构。UML 中类是以矩形表示。我们可以在 dot 文件中预设节点的形状,并且设置一些如字体等属性: digraph { node [shape=box, fo0 码力 | 20 页 | 331.51 KB | 2 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2019.4)# Drawing UML with PlantUML  #### PlantUML Language Reference Guide (Version 1.2019.4) PlantUML is a component that allows diagram • State diagram • Object diagram • Deployment diagram • Timing diagram The following non-UML diagrams are also supported: • Wireframe graphical interface • Archimate diagram • Specification results without tweaking. ### 6.7 Use UML2 notation The skinparam componentStyle uml2 command is used to switch to UML2 notation. @startuml skinparam componentStyle uml2 interface "Data Access"0 码力 | 167 页 | 1.83 MB | 2 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2019.9)# Drawing UML with PlantUML  #### PlantUML Language Reference Guide (Version 1.2019.9) PlantUML is a component that allows diagram • State diagram • Object diagram • Deployment diagram • Timing diagram The following non-UML diagrams are also supported: • Wireframe graphical interface • Archimate diagram • Specification results without tweaking. ### 6.7 Use UML2 notation The skinparam componentStyle uml2 command is used to switch to UML2 notation. @startuml skinparam componentStyle uml2 interface "Data Access"0 码力 | 175 页 | 1.95 MB | 2 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2019.3)# Drawing UML with PlantUML  #### PlantUML Language Reference Guide (Version 1.2019.3) PlantUML is a component that allows diagram • State diagram • Object diagram • Deployment diagram • Timing diagram The following non-UML diagrams are also supported: • Wireframe graphical interface • Archimate diagram • Specification results without tweaking. ### 6.7 Use UML2 notation The skinparam componentStyle uml2 command is used to switch to UML2 notation. @startuml skinparam componentStyle uml2 interface "Data Access"0 码力 | 159 页 | 1.73 MB | 2 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2023.11)# Drawing UML with PlantUML  #### PlantUML Language Reference Guide (Version 1.2023.11) PlantUML is a component that allows diagram • Component diagram • Deployment diagram • State diagram • Timing diagram The following non-UML diagrams are also supported: • JSON Data • YAML Data • Network diagram (nwd) • Wireframe graphical ef07782a743b35f/p43_3.jpg) [Ref. QA-2794] #### 1.39.3 style strictuml To be conform to strict UML (for arrow style: emits triangle rather than sharp arrowheads), you can use: • skinparam style strictuml0 码力 | 551 页 | 7.79 MB | 2 年前3
Drawing UML with PlantUML - PlantUML Language Reference Guide(Version 1.2020.23)# Drawing UML with PlantUML  #### PlantUML Language Reference Guide (Version 1.2020.23) PlantUML is a component that allows diagram • State diagram • Object diagram • Deployment diagram • Timing diagram The following non-UML diagrams are also supported: • JSON Data • Wireframe graphical interface • Archimate diagram • ee88d1220cf0b80/p36_2.jpg) [Ref. QA-2794] #### 1.36.3 style strictuml To be conform to strict UML (for arrow style: emits triangle rather than sharp arrowheads), you can use: • skinparam style strictuml0 码力 | 311 页 | 3.15 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2021.2)# 使用 PlantUML 绘制的 UML  PlantUML 语言参考指引 (Version 1.2021.2) PlantUML 是一个开源项目,支持快速绘制: · 时序图 • 用例图 类图 • 对象图 · 活动图 · · 组件图 · 部署图 • 状态图 • 定时图 同时还支持以下非 UML 图: • JSON Data • YAML Data • Network diagram (nwd) · 线框图形界面 • 架构图 规范和描述语言 (SDL) - 规范和描述语言 (SDL) • Ditaa diagram 甘特图 • MindMap diagram • Work Breakdown 6d89f594bdf68a9/p38_2.jpg) [Ref. QA-2794] #### 1.38.3 style strictuml To be conform to strict UML (for arrow style: emits triangle rather than sharp arrowheads), you can use: • skinparam style strictuml0 码力 | 381 页 | 4.05 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.6)# 使用 PlantUML 绘制的 UML  PlantUML 语言参考指引 (Version 1.2019.6) PlantUML 是一个开源项目,支持快速绘制: · 时序图 • 用例图 · 类图 · 活动图 · 组件图 · 状态图 · 对象图 · 部署图 · 定时图 同时还支持以下非 UML 图: · 线框图形界面 · 架构图 • 规范和描述语言 (SDL) • Ditaa diagram · 甘特图 • MindMap diagram • Work Breakdown Structure diagram • 以 AsciiMath 或 JLaTeX Math 符号的数学公式 通过简单直观的语言来定义这些示意图。 请不要乱用这些功能:Graphviz(PlantUML 的后端引擎) 不喜欢这个样子。 ### 6.7 使用 UML2 标记符 命令 skinparam componentStyle uml2 可以切换到 UML2 标记符。 @startuml skinparam componentStyle uml2 interface "Data Access" as DA DA - [First0 码力 | 174 页 | 1.98 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.9)# 使用 PlantUML 绘制的 UML  PlantUML 语言参考指引 (Version 1.2019.9) PlantUML 是一个开源项目,支持快速绘制: · 时序图 • 用例图 · 类图 · 活动图 · 组件图 · 状态图 · 对象图 · 部署图 · 定时图 同时还支持以下非 UML 图: · 线框图形界面 · 架构图 • 规范和描述语言 (SDL) • Ditaa diagram · 甘特图 • MindMap diagram • Work Breakdown Structure diagram • 以 AsciiMath 或 JLaTeX Math 符号的数学公式 通过简单直观的语言来定义这些示意图。 请不要乱用这些功能:Graphviz(PlantUML 的后端引擎) 不喜欢这个样子。 ### 6.7 使用 UML2 标记符 命令 skinparam componentStyle uml2 可以切换到 UML2 标记符。 @startuml skinparam componentStyle uml2 interface "Data Access" as DA DA - [First0 码力 | 174 页 | 2.00 MB | 2 年前3
使用 PlantUML 绘制 UML - PlantUML 语言参考指引(Version 1.2019.1)# 使用 PlantUML 绘制的 UML  PlantUML 语言参考指引 (Version 1.2019.1) PlantUML 是一个开源项目,支持快速绘制: · 时序图 • 用例图 · 类图 · 活动图 · 组件图 ·状态图 · 对象图 · 部署图 · 定时图 同时还支持以下非 UML 图: · 线框图形界面 · 架构图 • 规范和描述语言 (SDL) • Ditaa diagram · 甘特图 • 以 AsciiMath 或 JLaTeXMath 符号的数学公式通过简单直观的语言来定义这些示意图。 ## 1 时序图 ### 1.1 简单示例 你可以用 -> 来绘制参与者之间传递的消息,而不必显式地声明参与者。 请不要乱用这些功能:Graphviz(PlantUML 的后端引擎) 不喜欢这个样子。 ### 6.7 使用 UML2 标记符 命令 skinparam componentStyle uml2 可以切换到 UML2 标记符。 @startuml skinparam componentStyle uml2 interface "Data Access" as DA DA - [First0 码力 | 146 页 | 1.91 MB | 2 年前3
共 140 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













