1.什么是UML
UML称为统一建模语言(Unified Modeling Language,UML)是一种面向对象可视化和编制文档的一种标准语言,是面向对象设计的的建模工具.
2.UML应用场景
UML主要在开发阶段进行系统设计中能够清楚的描述系统的设计,帮助开发,产品等软件设计人员能够快速理清软件的架构。
3.常见的UML图介绍
- 用例图: 用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
- 类图: 用于定义系统中的类
- 对象图:是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。
- 构件图:一种特殊的UML图来描述系统的静态实现视图
- 部署图:定义系统中软硬件的物理体系结构
- 状态图:用来描述类的对象所有可能的状态以及时间发生时状态的转移条件。
- 协作图:描述对象之间的合作关系,说明哪些对象有消息的传递。
- 活动图:用来描述满足用例要求进行的活动以及活动间的关系。
- 时序图:描述对象之间的交互顺序,体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时显示对象之间的交互过程。
- 包图:对构成系统的模型元素进行分组整理的图
- 组合结构图:表示类或者构建内部结构的图
- 时间图:用来显示随时间变化,一个或多个元素的值或状态的更改,也显示时控事件之间的交互和管理它们的时间和期限约束。
4.PlantUML介绍
PlantUML是可以快速画出UML图的在线工具,功能非常强大,官网地址为: plantuml.com/zh/
首先介绍一下它的安装方法,然后介绍一下具体的使用: 软件要求:
- Java: 是运行PlantUML的必需条件, 请在您的环境中安装Java。
- graphviz-dot: 可选的, 但是建议安装 (如果想绘制除 时序图和活动图以外的图, 就需要安装Graphviz软件)。
macbook安装方式
1.通过port安装,前提是现在mac上安装好port
$ sudo port install graphviz
2.通过brew安装graphviz
brew install graphviz
当我们安装完成plantuml之后就可以开始画图了,我一般都是在vscode上安装plantuml插件,直接在vscode上绘图,在vscode->manage->extentions->输入“plantuml”完成plantuml插件的安装,接下来就可以使用plantuml绘图了
5.PlantUML画图介绍
比较详细的使用指南可参考官网:plantuml.com/zh/, 下面我将重点介绍比较常用的时序图,用例图,类图以及状态图的使用。
5.1 时序图
下面的代码复制在vscode上通过使用快捷键Alt+D可以直接查看预览效果:
@startuml
skinparam BoxPadding 10
actor "运营人员" as o1
box 商户管理系统
participant "首页" as h
participant "钱包" as wid
participant "基本信息" as bi
end box
box 用户系统
participant "会员业务系统" as biz
participant "会员核心系统" as cust
end box
|||
o1->h :<b>1.</b> navigate to merchant registration
h->wid ++:<b>2.</b> redirect page
o1<--wid --:<b>3.</b>
o1<->wid:<b>4.</b> select Individual Merchant Type
o1<->wid:<b>5.</b> Input mobile number
o1->wid:<b>6.</b> Click Next
wid->biz ++ #lightgreen:<b>7.</b> check wallet id
biz->cust ++:<b>8.</b> query merchant with walletId
biz<--cust --:<b>9.</b>
biz->biz:<b>10.</b> check merchant not exist
wid<--biz --:<b>11.</b>
wid->bi ++:<b>12.</b> redirect page
o1<-- bi --:<b>13.</b>
@enduml
5.2 类图
5.3 用例图
一般在实际的开发中我们用的比较多的是时序图,类图,用例图,状态图,当然像组件图,活动图也会用到。