背景
在 Java向:Unified Modeling Language 统一(标准)建模语言(二):UML 基本表示法 里面已经对 UML 中一些可能使用到的元素进行了基本的介绍,接下来我们会了解到这些元素的使用方法。
这些元素通过不同的方式组合在一起之后,形成了不同的图表,通过这些图表我们可以很直观地了解任何复杂的系统。但是在现实生活中,一张单一的图是远远不够来覆盖所有方面的,因此 UML 中定义了各种图表来覆盖系统模型。
基本知识
UML 中的图主要可以分为两大类,结构图与行为图。其中,结构图主要反映系统的静态方面,包括类图、对象图、组件图以及部署图;而行为图主要捕捉系统的动态方面,包括用例图、序列图、协作图、状态图、活动图。
结构图
UML 类图
- 类图是主要用来描述系统中的类,以及各个类之间的关系的静态视图。它包括类、接口、关联和协作。
- 类图能够让我们在编写代码前对系统有一个全面的认识。
- 类图是一种模型类型,确切地说,是一种静态模型类型。
UML 对象图
- 对象图与类图极为相似。
- 对象图是类图的实例,对象图显示类的多个对象实例,而不是实际的类,它描述的不是类之间的关系,而是对象之间的关系。
- 从实际的角度看,它们被用来建立一个系统的原型。
UML 组件图
- 组件图描述代码构件的物理结构以及各种构件之间的依赖关系。
- 组件图用来对软件组件及其相互之间的关系进行建模,这些图由构件标记符和构件之间的关系组成。
- 组件图中,构件是软件单个组成部分,它可以是一个可执行文件、脚本等。
- 位于不同组的构件称为组件。
UML 部署图
- 部署图是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。
- 部署图的使用者是开发人员、系统集成人员和测试人员。
- 部署图是一组节点和它们之间的关系,这些节点部署这些组件的物理实体。
行为图
UML 用例图
- 用例图描述角色以及角色与用例之间的连接关系。说明的是系统的使用人员、以及他们使用该系统可以做些什么。
- 一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的关系,如泛化、关联和依赖。
- 用例图是用来描述功能之间的关系以及它们的内部/外部控制器,这些控制器是已知的参与者。
UML 序列图
- 序列图是一种交互图。
- 序列图用来显示你的参与者如何以一系列顺序的步骤同系统对象交互。
- 序列图可以用来展示对象之间是如何进行交互的。
- 序列图将显示的重点放在消息序列上,即强调消息是如何在序列之间被发送和接收的。
UML 协作图
- 协作图与序列图类似,是另一种形式的交互图。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。
- 协作图代表了一个系统的组织结构和发送/接收的消息。协作图的目的是可视化组织对象及其相互作用。
UML 状态图
- 状态图描述类的所有可能状态,以及事件发生时状态的转移条件。
- 状态图可以捕获对象、子系统、系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。
- 状态图用来表示事件驱动的系统状态的变化,它基本描述了类、接口状态变化等。
UML活动图
- 活动图描述了一个系统中的控制流。
- 活动图描述用例要求所要进行的活动,以及活动之间的约束关系,有利于识别并行活动。
- 活动图能够演示出系统哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。