UML画图工具PlantUML与Visual Paradigm详解
1. 业务概述
业务开发过程中经常需要通过专业的图形来准确的表达想法思路,之前我一直认为画图是为了表达思想的,只要能把想法表达清除,什么图形不重要,其实不然,专业化图形才具有通用性,才能更好的传达你所要表达的思想,才具有更好的通用性。所以再次记录一下两个妆业的画图工具PlantUML与Visual Paradigm,进行软件开发前期领域建模,数据建模,业务建模,可以很好的支持各种UML图,比如用例图,时序图,类图,对象图,状态图,活动图等。
2. Visual Paradigm
2.1 VP简介
Visual Paradigm 敏捷项目工具,助您开发出色的软件。
Visual Paradigm 具有用于项目管理的丰富的敏捷和 Scrum 工具集。
官网地址:https://www.visual-paradigm.com/cn/
2.2 VP功能介绍
VisualParadigm功能介绍:https://www.visual-paradigm.com/cn/features/
2.2.1 可视化建模工具
强大的可视化建模工具,可帮助您构建和管理图表和模型元素:
1.拖放式图表编辑器
2.支持 UML、BPMN、ArchiMate、DFD、ERD、SoaML、SysML 和 CMMN
3.有效的建模工具,如元素可重用性,图表和元素转换,语法验证,自定义属性等
4.许多格式选项。
2.2.2 企业架构
2.2.3 商业分析和设计
2.2.4 项目管理
2.2.5 敏捷 & Scrum 开发
2.2.6 在线图表
2.2.7 用户体验设计
2.2.8 客户体验设计
2.2.9 代码和数据库工程
通过我们的代码和数据库工程工具,缩小系统设计和实现之间的差距。
1.源代码工程工具:
代码正向和反向生成(适用于 10 多种语言)
从 Java 生成序列图
Hibernate (对象关系映射)
状态机代码正向/逆向生成
REST API 设计与生成
2.数据库工程工具:
从 ERD 导出数据库 / DDL
从数据库 / DDL 生成 ERD
2.2.10 流程图设计工具
2.2.11 团队协作
2.2.12 强大的文档生成器
2.3 VP分类
VP分为 企业,专业,标准,建模,社区五个版本,功能各不相同,其中社区版是免费的。
2.4 VP使用
3. PlantUML
3.1 PlantUML简介
PlantUML是一个开源项目的,通过简单语法格式,支持快速绘制各种图形的工具。
PlantUML的优点
完全文本方式编辑,无需控件拖拽,自动调节图元距离,简单美观
与开发平台完全无关,不受平台限制,只要有PlantUML jar包就能生成UML图
支持多种文本编辑器、ide的集成,例如idea、eclipse、notepad++等。
idea安装 PlantUML插件
作为一个Java coder,通常使用idea作为首选开发工具,我们以idea中的使用为主作介绍。
File -> Settings -> Plugins 搜索 PlantUML ,找到 PlantUML integration 并安装。
https://plugins.jetbrains.com/plugin/7017-plantuml-integration/
官网地址:https://plantuml.com/zh/
使用文档:http://plantuml.com/zh/guide
在线测试:http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000
3.2 PlantUML安装
1.下载安装:https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
2.配置环境变量
首先添加一个变量名GRAPHVIZ_HOME, 变量值为安装路径 D:\WorkWare\Graphviz2.38 在Path目录下添加 %GRAPHVIZ_HOME%\bin , 多个配置之间要用 “;” 隔开 配置GRAPHVIZ_DOT, 变量值为 %GRAPHVIZ_HOME%\bin\dot.exe。
3.环境变量检测
打开windows命令行, 使用dot -version出现以下页面就代表配置正常。
4.idea 配置graphviz
File -> Settings -> Other Settings -> PlantUML
3.3 PlantUML使用
1.idea创建UML图
2.编写用例图
@startuml
用户 -> 认证中心: 登录请求
认证中心 --> 认证中心: 鉴权
认证中心 --> 用户: 验证失败
认证中心 --> 缓存: 验证成功,token存入缓存,设置失效时间
认证中心 --> 用户: 验证成功,返回token信息
用户 --> 认证中心: 访问请求,携带token信息
认证中心 --> 缓存: 获取token
认证中心 --> 认证中心: 验证token
认证中心 --> 用户: 验证成功
@enduml
3. 活动图
@startuml
(*) --> "check input"
If "input is verbose" then
--> [Yes] "turn on verbosity"
--> "run command"
else
--> "run command"
Endif
-->(*)
@enduml
4. 用例图.puml
@startuml
left to right direction
actor "Food Critic" as fc
rectangle Restaurant {
usecase "Eat Food" as UC1
usecase "Pay for Food" as UC2
usecase "Drink" as UC3
}
fc --> UC1
fc --> UC2
fc --> UC3
@enduml
5. 序列图
@startuml
participant participant as Foo
actor actor as Foo1
boundary boundary as Foo2
control control as Foo3
entity entity as Foo4
database database as Foo5
collections collections as Foo6
queue queue as Foo7
Foo -> Foo1 : To actor
Foo -> Foo2 : To boundary
Foo -> Foo3 : To control
Foo -> Foo4 : To entity
Foo -> Foo5 : To database
Foo -> Foo6 : To collections
Foo -> Foo7 : To queue
@enduml