赞
踩
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
随着工作时间的增长,越发觉得用专业的图形(用例图,时序图,ER图等等)去准确表达想法是很重要的。比如针对某个需求绘制的的用例图,比一段乏味的文字来的更加有意义,也便于别人理解。加之最近在学习源码的时候,发现很多书籍中都会使用类图,时序图等UML语言来描述逻辑关系。于是就在网上找了找绘制UML语言时,业界主流的一些工具都用什么,找了半天,大部分都用了下面的工具Visio,StartUML,PlantUML。最终经过比较选择了PlantUML。官网:https://plantuml.com/zh/
PlantUML是开源的,有一个相对比较成熟的网站,通过简单的UML语言来实现想要的效果,有点极客范
PlantUML有比较详细的各类语言的guide文档
PlantUML做了很多的适配,比如常用的编译器eclipse,IDEA intelliJ都有对应的插件,同时还和Maven和JQuery都做了集成,还提供了war包形式,可以在本地的JavaEE容器(比如Tomcat)中运行起来
PlantUML语言简单直接易学,就好像Markdown语法一样,简单高效
本文简单介绍3种使用方法,其它方法读者可以自行研究
1.在线通过PlantUML语言绘制对应的UML图,plantUML官网提供了免费的在线编辑服务,通过在左侧输入对应的UML语言来生成对应的UML图
地址如下:online-site
2.使用IDEA intelliJ插件绘制
使用之前请安装PlantUML integration插件,然后就可以愉快的书写UML语言,右侧会生成对应的预览图片,可以复制或保存生成的图片到指定的目录# 总结
使用之前请安装PlantUML插件,然后就可以愉快的书写UML语言,右侧会生成对应的预览图片(alt+D显示)
1.基本用法
用 -> 来绘制参与者之间传递的消息
关键字 autonumber 用于自动对消息编号
@startuml
autonumber
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml
2.声明参与者
actor(角色)
boundary(边界)
control(控制)
entity(实体)
database(数据库)
collections(集合)
queue(队列)
@startuml actor Foo1 boundary Foo2 control Foo3 entity Foo4 database Foo5 collections Foo6 queue Foo7 Foo1 -> Foo2: To boundary Foo1 -> Foo3: To control Foo1 -> Foo4: To entity Foo1 -> Foo5: To database Foo1 -> Foo6: To collections Foo1 -> Foo7: To queue @enduml
3.不同的箭头样式
@startuml Bob -> Alice Bob --> Alice Bob ->> Alice Bob ->x Alice Bob -\ Alice Bob \\- Alice Bob \\-- Alice Bob ->o Alice Bob o\\-- Alice Bob <-> Alice Bob <->o Alice Bob -[#red]> Alice: hello Bob <[#0000FF]-- Alice: hello @enduml
4.页面标题、分页、页眉、页脚
title 关键字用于为页面添加标题。
页面可以使用header 和footer 显示页眉和页脚。
关键字 newpage 用于把一张图分割成多张。
在 newpage 之后添加文字,作为新的示意图的标题。
通过手动在文本中添加\n使长文本换行。
@startuml
autonumber
header Page Header
footer Page %page% of %lastpage%
title test first page
Alice -> Bob: first
newpage
Alice -> Bob: second
newpage A title for test\nlast page
Alice -> Bob: third
@enduml
5.分段
你可以通过使用 ==关键词来将你的图表分割成多个逻辑步骤。
@startuml
== first ==
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
== second ==
Alice -> Bob: Another authentication Request
Alice <-- Bob: Another authentication Response
== third ==
Alice -> Bob: Last authentication Request
Alice <-- Bob: Last authentication Response
@enduml
6.生命线
关键字activate和deactivate用来表示参与者的生命活动。
一旦参与者被激活,它的生命线就会显示出来。
activate和deactivate适用于以上情形。
destroy表示一个参与者的生命线的终结。
@startuml participant user user -> A: DoWork activate A A -> B: <<create Request>> activate B B -> C: DoWork activate C C --> B: WorkDone destroy C B --> A: RequestCreated deactivate B A -> user: Done deactivate A @enduml
还可以使用嵌套的生命线,并且运行给生命线添加颜色。
@startuml participant user user -> A: DoWork activate A #FFBBBB A -> A: Internal call activate A #DarkSalmon A -> B: <<craeteRequest>> activate B B --> A: RequestCreated deactivate B deactivate A A -> user: Done deactivate A @enduml
7.注释
可以使用note left 或note right 关键字在信息后面加上注释。
可以使用end note 关键字有一个多行注释。
可以使用note left of,note right of或note over在节点(participant)的相对位置放置注释。
还可以通过修改背景色来高亮显示注释。
@startuml
Alice -> Bob: hello
note left #aqua: This is a first note.
Bob -> Alice: hello
note right #FFAAAA: This is an another note.
note left of Alice: This is displayed left of Alice.
note right of Bob: This is displayed right of Bob.
note over Alice: This is displayed over Alice.
note over Alice, Bob
This is
a long note.
end note
@enduml
其他细节请参考中文官网教程:http://plantuml.com/zh/sequence-diagram
需要系统源码或者BiShe加V
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。