程序员画图的正确姿势 | PlantUML(三)
2023-09-01 19:39:43
前言
在上一篇文章中,我们介绍了 PlantUML 中的类图、用例图和时序图。这些图表都是非常有用的,可以帮助我们更好的理解和设计我们的应用程序。在本篇文章中,我们将介绍 PlantUML 中剩下的图表类型:状态机图、对象图、部署图和活动图。这些图表都有自己独特的用途,可以在不同的场景中帮助我们更好的理解和设计我们的应用程序。
状态机图
状态机图是一种用于系统中对象状态及其之间转换的图表。它可以帮助我们更好的理解系统是如何工作的,以及在不同状态下系统会做出什么反应。
状态机图由状态、转换和事件组成。状态是系统中对象可以处于的一种情况。转换是系统从一个状态到另一个状态的变化。事件是触发转换的原因。
状态机图示例
下图是一个状态机图示例,它了一个简单的开关的状态转换。
+--------------------------------+
| |
| +-------------+ |
| | | |
| +---+ ON +---+ |
| | | | | |
| | +-------------+ | |
| | | |
+----+ +----+
\ /
\ /
\ /
\ /
+-----------+
| OFF |
+-----------+
在这个状态机图中,开关有两个状态:ON 和 OFF。开关可以从 ON 状态切换到 OFF 状态,也可以从 OFF 状态切换到 ON 状态。事件是用户按下开关。
对象图
对象图是一种用于描述系统中对象及其之间关系的图表。它可以帮助我们更好的理解系统是如何工作的,以及对象之间是如何相互作用的。
对象图由对象和连接符组成。对象是系统中的实体,它可以是类、接口、组件或其他类型的实体。连接符是对象之间关系的表示。
对象图示例
下图是一个对象图示例,它描述了一个简单的购物系统的对象。
+----------------------+
| |
| +------------+ |
| | Customer | |
| +------------+ |
| | |
| V |
| +-------------+ |
| | Product | |
| +-------------+ |
| | |
| V |
+------+------+------+------+
| | | |
| | | |
+------+------+------+------+
| | | | |
| Item | Item | Item | Item |
+------+------+------+------+
在这个对象图中,系统中有四个对象:Customer、Product和Item。Customer对象表示系统中的顾客。Product对象表示系统中的产品。Item对象表示顾客购买的产品。
Customer对象和Product对象之间有一条连接符,表示顾客可以购买产品。Item对象和Product对象之间也有一条连接符,表示Item对象是Product对象的实例。
部署图
部署图是一种用于描述系统中硬件和软件组件及其之间连接的图表。它可以帮助我们更好的理解系统是如何部署的,以及组件之间是如何通信的。
部署图由组件、节点和连接符组成。组件是系统中的可执行单元,它可以是应用程序、服务或其他类型的可执行单元。节点是系统中的物理设备,它可以是服务器、客户端或其他类型的物理设备。连接符是组件之间通信的表示。
部署图示例
下图是一个部署图示例,它描述了一个简单的Web应用程序的部署。
+--------------------------------+
| |
| +------------+ |
| | Web Server | |
| +------------+ |
| | |
| V |
| +--------------------+ |
| | Application Server | |
| +--------------------+ |
| | |
| V |
+--------+--------+--------+--------+
| | | |
| | | |
+--------+--------+--------+--------+
| Client | Client | Client | Client |
+--------+--------+--------+--------+
在这个部署图中,系统中有三个组件:Web Server、Application Server和Client。Web Server组件负责处理用户请求。Application Server组件负责处理业务逻辑。Client组件是用户访问系统的入口。
Web Server组件和Application Server组件之间有一条连接符,表示Web Server组件和Application Server组件之间通过网络进行通信。Client组件和Web Server组件之间也有一条连接符,表示Client组件和Web Server组件之间通过网络进行通信。
活动图
活动图是一种用于描述系统中活动及其之间关系的图表。它可以帮助我们更好的理解系统是如何工作的,以及活动之间是如何相互作用的。
活动图由活动、决策和连接符组成。活动是系统中的一个操作。决策是系统中需要做出的选择。连接符是活动和决策之间关系的表示。
活动图示例
下图是一个活动图示例,它描述了一个简单的购物系统的流程。
+--------------------------------------+
| |
| +------------+ |
| | Customer | |
| +------------+ |
| | |
| V |
| +--------------+ |
| | Place Order | |
| +--------------+ |
| | |
| V |
+----------------------+--------------------+
| | |
| +--------------+ | +--------------+ |
| | Process Order | | | Ship Order | |
| +--------------+ | +--------------+ |
| | |
| V |
| +--------------------+ |
| | Receive Order | |
| +--------------------+ |
| |
+--------------------------------------+
在这个活动图中,系统中有四个活动:Place Order、Process Order、Ship Order和Receive Order。Customer对象负责Place Order活动。系统负责Process Order活动和Ship Order活动。Customer对象也负责Receive Order活动。
Place Order活动和Process Order活动之间有一条连接符,表示Place Order活动完成后,系统会执行Process Order活动。Process Order活动和Ship Order活动之间也有一条连接符,表示Process Order活动完成后,系统会执行Ship Order活动。Ship Order活动和Receive Order活动之间也有一条连接符,表示Ship Order活动完成后,Customer对象会执行Receive Order活动。
总结
在本篇文章中,我们介绍了 PlantUML 中剩下的图表类型:状态机图、对象图、部署图和活动图。这些图表都有自己独特的用途,可以在不同的场景中帮助我们更好的理解和设计我们的应用程序。希望这些图表能够帮助你更好的理解和设计你的应用程序。