plantuml样式_PlantUML 简明教程
PlantUML 简介
PlantUML 是一个开源项目,支持快速绘制时序图、用例图、类图、活动图、组件图、状态图、对象图、部署图等。同时还支持非 UML 图的甘特图、架构图等。例如下面等用例图:
@startuml
P: PENDING
P: Pending for result
N: NO_RESULT_YET
N: Did not send the KYC check yet
Y: APPROVED
Y: KYC check successful
R: REJECTED
R: KYC check found the applicant's
R: information not correct
X: EXPIRED
X: Proof of Address (POA) too old
[*] --> N : Card application received
N --> P : Submitted the KYC check
P --> Y
P --> R
P --> X : Proof of Address (POA) too old
P --> X : explicitly by KYC
Y --> [*]
R --> [*]
X --> [*]
@enduml
@startuml
skinparam rectangle {
BackgroundColor DarkSeaGreen
FontStyle Bold
FontColor DarkGreen
}
:User: as u
rectangle Tool as t
rectangle "Knowledge Base" as kb
(Robot Framework) as rf
(DUT) as dut
note as ts
test script
end note
note as act
query
&
action
end note
note as t_cmt
- 执行测试脚本
- 按照知识库响应消息
end note
note as kb_cmt
- 根据当前消息确定响应方法
- 根据上下文填充消息
- 保存信息到相关上下文
end note
u --> rf
rf =right=> ts
ts =down=> t
kb <=left=> act
act <=up=> t
t = dut
t_cmt -- t
kb_cmt -left- kb
@enduml
@startuml
interface Command {
execute()
undo()
}
class Invoker{
setCommand()
}
class Client
class Receiver{
action()
}
class ConcreteCommand{
execute()
undo()
}
Command
Client -right-> Receiver
Client --> ConcreteCommand
Invoker o-right-> Command
Receiver
@enduml
一款还算不错的绘图工具-- Plantuml, 它本质上是也算一门可以快速画图的设计语言,学习起来也很方便。可以在http://plantuml.com/网站上体验一下。
在vscode, webstorm都有相关的插件可以使用。
时序图
时序图相对来说是平常比较经常画的一种设计图稿,在这里记录一下plantuml中相关的语法。
基本用法
@startuml
A -> B: do something
B -> A: do something
@enduml
设置不同的角色
时序图角色可以分为: actor, boundary, control, entity, database,每种角色呈现的图形也是不一样的。
@startuml
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
Foo1 -> Foo2 : To boundary
Foo1 -> Foo3 : To control
Foo1 -> Foo4 : To entity
Foo1 -> Foo5 : To database
Foo1 -> Foo6 : To collections
@enduml
不用的箭头样式
@startuml
Bob ->x Alice
Bob -> Alice
Bob ->> Alice
Bob -\ Alice
Bob \\- Alice
Bob //-- Alice
Bob ->o Alice
Bob o\\-- Alice
Bob Alice
Bob o Alice
Bob -[#red]> Alice : hello
Alice -[#0000FF]->Bob : ok
@enduml
分页
@startuml
Alice -> Bob : message 1
Alice -> Bob : message 2
newpage
Alice -> Bob : message 3
Alice -> Bob : message 4
newpage A title for the\nlast page
Alice -> Bob : message 5
Alice -> Bob : message 6
@enduml
分段
@startuml
== Initialization ==
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
== Repetition ==
Alice -> Bob: Another authentication Request
Alice
@enduml
生命线
@startuml
participant User
User -> A: DoWork
activate A #FFBBBB
A -> A: Internal call
activate A #DarkSalmon
A -> B: << createRequest >>
activate B
B --> A: RequestCreated
deactivate B
deactivate A
A -> User: Done
deactivate A
@enduml
图例注脚等
@startuml
header Page Header
footer Page %page% of %lastpage%
title Example Title
Alice -> Bob : message 1
note left: this is a first note
Alice -> Bob : message 2
@enduml
C4架构图
C4 model是一种软件架构图的设计方法,具体介绍可以参考C4 architecture model。利用C4-PlantUML工具,可以画出很多很不错的架构图。
C4模型分为Context, Container, Component和Code 4个组成部分,我们一般在画图的时候主要用到前三个组成部分。
@startuml C4_Elements
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Context.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Component.puml
System(systemAlias, "System", "这可以看作系统上下文(Context)")
Container(containerAlias, "Container", "这是Container")
Person(personAlias, "Person", "这可以看作是组件(Component)")
Rel(personAlias, containerAlias, "Label", "设置关联关系")
@enduml
参考资料
Kotlin 开发者社区
越是喧嚣的世界,越需要宁静的思考。
合抱之木,生于毫末;
九层之台,起于垒土;
千里之行,始于足下。
积土成山,风雨兴焉;
积水成渊,蛟龙生焉;
积善成德,而神明自得,圣心备焉。
故不积跬步,无以至千里;
不积小流,无以成江海。
骐骥一跃,不能十步;
驽马十驾,功在不舍。
锲而舍之,朽木不折;
锲而不舍,金石可镂。
蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。
蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
plantuml样式_PlantUML 简明教程相关推荐
- plantuml样式_PlantUML之活动图
基本语法 每个普通节点:冒号开头,分号结尾 活动图的起始和结尾:start.end或stop start :case1; :case2; end 条件语句 start if(predicate?) t ...
- plantuml样式_PlantUml
顺序图: 顺序图用 -> , –>, ( * ) –> Alice :( * ) 表示起点 注释 '这是个单行注释 /'这是个多行注释 '/ 参与者 actor Foo1 bound ...
- React DnD简明教程
React DnD简明教程 概述 React Dnd不同于其他的拖拽库,如果你以前没有用过它可能会被吓到.然而,一旦你了解了它设计的一些核心概念,它将变得有意义.我建议你在阅读文档其他部分之前,先阅读 ...
- 【从零入门 Web 前端】HTML5 + CSS 简明教程
HTML + CSS 就是当代网页的基石.全世界的网站,无论其服务器端的语言是什么,前端都使用了 HTML + CSS. 随着互联网行业的快速发展,前端这一职位也越来越火热,前端工程师的高薪资,也让越 ...
- duilib入门简明教程 -- 部分bug (11) (转)
原文转自:http://www.cnblogs.com/Alberl/p/3344886.html 一.WindowImplBase的bug 在第8个教程[2013 duilib入门简明教程 -- 完 ...
- ArcGIS Pro 简明教程(2)基础操作和简单制图
ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...
- HTML5简明教程系列之HTML5 表格与表单(二)
HTML的第二弹也来了,最近高产似母猪,状态也不错,代码来源为实验课.本期主要内容为:HTML表格与DIV应用.HTML表单.上期基础部分的传送门: HTML5简明教程系列之HTML5基础(一)_Th ...
- ArcGIS Pro 简明教程(1)Pro简介
ArcGIS Pro 简明教程(1)Pro简介 ArcGIS Pro已经发布了相当的一段时间了,截至笔者写这系列文章的时候已经是1.3版本了,已经是相当完善的一个版本,基本上已经完成了原来ArcGIS ...
- HijackThis反浏览器劫持软件--简明教程
近来很多网友由于误点不良网址,导致IE主页被改成英文搜索页或其它恶意网页,通常的方法诸如修改注册表.用上网助手或杀毒软件等是不能解决的,修改注册表,一点刷新就会恢复成原样,用上网助手等软件修复要么是根 ...
最新文章
- 2016年CCPC/ICPC比赛总结
- sleep防止CPU占用100%
- 深入php-fpm的两种进程管理模式详解
- 一文搞懂JAVA与GO垃圾回收
- C++和JNI的数据转换
- C语言:从键盘输入三个数,求最值问题
- python并发编程 协程_Python并发编程协程之Gevent
- 软件测试按照各种方式分类
- jQuery入口函数的写法
- 【公众号】怎样写好公众号第一篇文章?
- Map获取key值和value值
- Android 获取手机Ram 和 Rom大小
- java打地鼠小游戏
- apicloud——云编译失败
- 计算机毕业设计SSM餐厅管理系统【附源码数据库】
- linux 文件添加标签,SELinux——有趣的标签
- rk3288芯片简介
- 【电子电路基础实验】LED点阵(上--硬件部分)
- InChat版,仅仅两个接口实现自己的IM系统(可兼容)
- Linux基本命令讲解