PlantUML 笔记
PlantUML 安装后可以使用plantuml来运行相关的工具
在现在的博客中,支持将 PlantUML 渲染到网页中
时序图
通常而言,时序图用于计算机网络,描述各种协议过程
@startuml header Page Header footer Page %page% of %lastpage% autonumber actor Alice #red Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response note left a note can also be defined on several lines end note autonumber 15 Alice -[#blue]\ Bob: Another authentication Request Alice /-[#green]- Bob: another authentication Response Alice ->o Alice: <font color="red"><b>Self</b></font> @enduml
用例图
用例图用于描述各种类、实体之间的关系
@startuml User << Alice >> User -> (Start) User --> (Use the application) : A small label :Main Admin: ---> (Use the application) : This is\nyet another\nlabel @enduml
类图
用例图用于描述各种类、实体之间的关系
@startuml
class Foo1 {
You can use
several lines
..
as you want
and group
==
things together.
__
You can have as many groups
as you want
--
End of class
}
class User {
.. Simple Getter ..
+ getName()
+ getAddress()
.. Some setter ..
+ setName()
__ private data __
int age
-- encrypted --
String password
}
@enduml
活动图
活动图用于描述逻辑流程
@startuml (*) --> "check input" If "input is verbose" then --> [Yes] "turn on verbosity" --> "run command" else --> "run command" Endif -->(*) @enduml
组件图
组件图可以描述各个模块之间的关系
@startuml
package "Some Group" {
HTTP - [First Component]
[Another Component]
}
node "Other Groups" {
FTP - [Second Component]
[First Component] --> FTP
}
cloud {
[Example 1]
}
database "MySql" {
folder "This is my folder" {
[Folder 3]
}
frame "Foo" {
[Frame 4]
}
}
[Another Component] --> [Example 1]
[Example 1] --> [Folder 3]
[Folder 3] --> [Frame 4]
@enduml
状态图
状态图用于描述程序所处的各种状态,用于描述程序逻辑
@startuml
scale 350 width
[*] --> NotShooting
state NotShooting {
[*] --> Idle
Idle --> Configuring : EvConfig
Configuring --> Idle : EvConfig
}
state Configuring {
[*] --> NewValueSelection
NewValueSelection --> NewValuePreview : EvNewValue
NewValuePreview --> NewValueSelection : EvNewValueRejected
NewValuePreview --> NewValueSelection : EvNewValueSaved
state NewValuePreview {
State1 -> State2
}
}
@enduml
对象图
对象图是实例化后的类图,描述有实例化的成员变量的值
@startuml
object user {
name = "Dummy"
id = 123
}
@enduml
部署图
部署图用于描述项目的各服务之间的关系
@startuml cloud cloud1 cloud cloud2 cloud cloud3 cloud cloud4 cloud cloud5 cloud1 -0- cloud2 cloud1 -0)- cloud3 cloud1 -(0- cloud4 cloud1 -(0)- cloud5 @enduml
定时图
定时图用来描述时间状态
@startuml robust "DNS Resolver" as DNS robust "Web Browser" as WB concise "Web User" as WU @0 WU is Idle WB is Idle DNS is Idle @+100 WU -> WB : URL WU is Waiting WB is Processing @+200 WB is Waiting WB -> DNS@+50 : Resolve URL @+100 DNS is Processing @+300 DNS is Idle @enduml
网络图
网络图可以描述网络的拓扑关系
@startuml
nwdiag {
network Sample_front {
address = "192.168.10.0/24"
color = "red"
// define group
group web {
web01 [address = ".1", shape = "node"]
web02 [address = ".2"]
}
}
network Sample_back {
address = "192.168.20.0/24"
web01 [address = ".1"]
web02 [address = ".2"]
db01 [address = ".101", shape = database ]
db02 [address = ".102"]
// define network using defined nodes
group db {
db01;
db02;
}
}
}
@enduml
Salt
Salt用于辅助设计GUI界面
@startuml
salt
{
Just plain text
[This is my button]
() Unchecked radio
(X) Checked radio
[] Unchecked box
[X] Checked box
"Enter text here "
^This is a droplist^
}
@enduml
架构图
架构图用于描述系统架构
@startuml archimate #Technology "VPN Server" as vpnServerA <<technology-device>> rectangle GO #lightgreen rectangle STOP #red rectangle WAIT #orange @enduml
甘特图
甘特图可以描述用于描述日期进度安排
@startgantt [Prototype design] lasts 10 days [Code prototype] lasts 10 days [Write tests] lasts 5 days [Code prototype] starts at [Prototype design]'s end [Write tests] starts at [Code prototype]'s start @endgantt
思维导图
@startmindmap * root node ** some first level node ***_ second level node ***_ another second level node ***_ foo ***_ bar ***_ foobar ** another first level node @endmindmap
职务图
描述职务架构
@startwbs + New Job ++ Decide on Job Requirements +++ Identity gaps +++ Review JDs ++++ Sign-Up for courses ++++ Volunteer ++++ Reading ++- Checklist +++- Responsibilities +++- Location ++ CV Upload Done +++ CV Updated ++++ Spelling & Grammar ++++ Check dates ---- Skills +++ Recruitment sites chosen @endwbs


中文博客导航
萌ICP备20213456号