使用 Graphviz 绘画 UML 图
实验室开发的一个开源软件,它以一种文本语言去描述图(graph),然后 自动排布节点和边去生成图片。它已有近 30 年历史。 UML(unified modeling language,统一建模语言)是一种常用的面向对象设计的方法。其中 最常用的是类图(class diagram),用于表示类的构成以及类之间的关系。 利用 Graphviz 去生成 UML 类图有几个好处: 1. 用文本表示图,容易更新,容易做版本管理。 用文本表示图,容易更新,容易做版本管理。 2. 能自动排布节点位置,在大型复杂的图特别方便。 3. 统一文档风格。 实际上,文档生成工具Doxygen 也是采用 Graphviz 生成类图的。不过,我们在软件设计中, 经常以类图表示系统中某个部分,并且按需展示某些重点,而不是简单地全部列出,所以还是 需要手工去描述我们想要画什么,表示我们的软件设计。 1.1 使用 Graphviz dot 首先,下载 Graphviz Hello -> World } 在命令行执行: 2 dot -Tpng hello.dot -o hello.png 就能生成: Hello World 作为程序员,我们可以用常用的 GNU make 去做这个生成,以下的 makefile 也展示生成 PDF 矢量格式: DOTFILES = $(basename $(wildcard *.dot)) all: \ $(addsuffix0 码力 | 20 页 | 331.51 KB | 1 年前3
PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2023.11)自然に促 進し、生産性を高め、ミスの可能性を減らします。 • 簡単な編集と修正: 重要なのは、既存のダイアグラムの編集が手間のかからないプロセスであるということです。ダイア グラムはテキストから生成されるため、グラフィカルなツールを使って画像を変更するよりも、調整 がかなり簡単で正確であることがわかります。 PlantUML は、シーケンス・ダイアグラムの作成と編集に、わかりやすくユーザフレンドリーなアプ return rc bob -> george !! : delete return success @enduml 1.26 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること 言語リファレンスガイド (1.2023.11) 22 / 544 1.27 分類子の生成 1 シーケンス図 return bye @enduml 1.27 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice :0 码力 | 545 页 | 7.75 MB | 1 年前3
PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2021.1)return rc bob -> george !! : delete return success @enduml 1.25 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること 1.26 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello PlantUML 言語リファレンスガイド (1.2021.1) 20 / 392 1.27 活性化、非活性化、生成のショートカット 1 Alice --> Bob : ok @enduml 1.27 活性化、非活性化、生成のショートカット 対象の分類子を記述した直後に、次の記法を使うことができます。 • ++ 対象を活性化する (続けて #color のように色を記述することもできます) • -- 起点側を非活性化する • ** 対象のインスタンスを生成する • !! 対象のインスタンスを破棄する @startuml alice0 码力 | 393 页 | 4.27 MB | 1 年前3
PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2021.2)return rc bob -> george !! : delete return success @enduml 1.25 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること 1.26 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello PlantUML 言語リファレンスガイド (1.2021.2) 20 / 398 1.27 活性化、非活性化、生成のショートカット 1 Alice --> Bob : ok @enduml 1.27 活性化、非活性化、生成のショートカット 対象の分類子を記述した直後に、次の記法を使うことができます。 • ++ 対象を活性化する (続けて #color のように色を記述することもできます) • -- 起点側を非活性化する • ** 対象のインスタンスを生成する • !! 対象のインスタンスを破棄する @startuml alice0 码力 | 399 页 | 4.33 MB | 1 年前3
PlantUML 1.2021.3 言語リファレンスガイドreturn rc bob -> george !! : delete return success @enduml 1.25 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること 1.26 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello PlantUML 言語リファレンスガイド (1.2021.2) 20 / 411 1.27 活性化、非活性化、生成のショートカット 1 Alice --> Bob : ok @enduml 1.27 活性化、非活性化、生成のショートカット 対象の分類子を記述した直後に、次の記法を使うことができます。 • ++ 対象を活性化する (続けて #color のように色を記述することもできます) • -- 起点側を非活性化する • ** 対象のインスタンスを生成する • !! 対象のインスタンスを破棄する @startuml alice0 码力 | 412 页 | 4.46 MB | 1 年前3
PlantUML 1.2020.23 言語リファレンスガイドは、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること ができます。 PlantUML 言語リファレンスガイド (1.2020.23) 18 / 305 1.24 分類子の生成 1 シーケンス図 Alice Alice -> Alice : some action return bye @enduml 1.24 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello create Other String Alice -> String note right : You can also put notes! Alice --> Bob : ok @enduml 1.25 活性化、非活性化、生成のショートカット 対象の分類子を記述した直後に、次の記法を使うことができます。 • ++ 対象を活性化する (続けて #color のように色を記述することもできます) PlantUML 言語リファレンスガイド0 码力 | 306 页 | 3.19 MB | 1 年前3
PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2020.22)は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること ができます。 PlantUML 言語リファレンスガイド (1.2020.22) 17 / 293 1.23 分類子の生成 1 シーケンス図 Alice Alice -> Alice : some action return bye @enduml 1.23 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello create Other String Alice -> String note right : You can also put notes! Alice --> Bob : ok @enduml 1.24 活性化、非活性化、生成のショートカット 対象の分類子を記述した直後に、次の記法を使うことができます。 • ++ 対象を活性化する (続けて #color のように色を記述することもできます) PlantUML 言語リファレンスガイド0 码力 | 294 页 | 3.11 MB | 1 年前3
统一建模语言 UML 参考手册 - 基本概念应用领域和媒介一同使 用 它意图统一过去建模技术的经验 将当前软件最佳实践合并至标准的方法 ��� 包括 语义概念 标记符号和指南 具有静态 动态 环境上的和组织性的部分 它可以被具有 代码产生和报表生成的交互式可视建模工具所支持 ��� 规范没有定义标准过程 但可用 于迭代的开发过程 并支持现有的大多数面向对象的开发过程 � ��� 捕捉系统静态结构和动态行为的信息 系统建模成独立对象的集合 它们互相交互 它允许软件团队将系统分解为可工作的单 元 对包之间的依赖进行理解和在复杂的开发环境中管理模型单元的版本 它包含了表达 实现上的决策和用构件来组织运行时元素的结构 � ��� 不是编程语言 工具可以提供 ��� 至各种编程语言的代码生成 以及可以从现有 的程序逆向构筑模型 ��� 不是用于定理证明的高度正式的语言 实际上有很多正式的语 言 但它们不易理解或不适用于多种用途 ��� 是通用性的建模语言 对于特定的领域 如 ��� 设计 我们相信它可以容纳日常的大多数扩展需要 ��� 扩展机制包括版型 约束和标签值 版型是与现有元素结构相同的新元素 它具有附 ��� 参考指南� � ��� 概述� ������ 加的约束 不同的解释和图标 并被代码生成和后端工具不同的对待 标签值是可以附加 在任何模型元素 容纳任意信息的任意标签 值的文字串对 如项目管理信息 代码产生 指导和版型所需的值 标签和值用文字串来表达 约束是使用某些约束语言 如编程语 言0 码力 | 123 页 | 2.61 MB | 1 年前3
PlantUML 1.2019.6 言語リファレンスガイドdeactivate B deactivate A A -> User: Done deactivate A @enduml 1.20 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること Alice Alice -> Alice : some action return bye @enduml 1.21 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello create Other 言語リファレンスガイド (1.2019.6) 51 / 173 3.27 大きなファイルの分割 3 クラス図 3.27 大きなファイルの分割 時には、ある非常に大きな画像ファイルを受け取ることがあるでしょう。 生成された画像を複数のファイルに分割するコマンド page (hpages)x(vpages) を使用することがで きます: hpages は横方向のページ数を示すコマンドであり、そして vpages0 码力 | 174 页 | 1.99 MB | 1 年前3
PlantUML 1.2019.4 言語リファレンスガイドdeactivate B deactivate A A -> User: Done deactivate A @enduml 1.20 Return 新しいコマンド return は、リターンメッセージを生成し、オプションでテキストラベルをつけるこ とができます。リターンする先は最も最近活性化したライフラインです。構文は単純に return ラベル です。ラベルを与える場合には、通常のメッセージに与えることが可能な文字列を何でも与えること Alice Alice -> Alice : some action return bye @enduml 1.21 分類子の生成 キーワード create を、オブジェクトが最初のメッセージを受信する直前に置くことにより、このメッ セージがオブジェクトを新しく 生成していることを強調して表現できます。 @startuml Bob -> Alice : hello create Other 言語リファレンスガイド (1.2019.4) 51 / 167 3.27 大きなファイルの分割 3 クラス図 3.27 大きなファイルの分割 時には、ある非常に大きな画像ファイルを受け取ることがあるでしょう。 生成された画像を複数のファイルに分割するコマンド page (hpages)x(vpages) を使用することがで きます: hpages は横方向のページ数を示すコマンドであり、そして vpages0 码力 | 168 页 | 1.90 MB | 1 年前3
共 26 条
- 1
- 2
- 3













