一、UML图概述
UML图(Unified Modeling Language)是一种用于描述软件系统的可视化工具,它可以帮助程序员更好地理解和管理复杂的软件系统。在本文中,我们将介绍七种重要的UML图,以及如何绘制它们。这些图表包括类图、时序图、用例图、活动图、状态图、组件图和部署图。
一、类图(Class Diagram)
类图是UML中最基本的图表之一,用于表示类和类之间的关系。类表示一个对象,而类之间的关系包括继承、聚合和关联等。在绘制类图时,我们需要指定类的名称、属性和方法,以及类之间的关系。
二、时序图(Sequence Diagram)
时序图表示对象之间的交互顺序。它可以帮助我们理解对象之间的消息传递和时间顺序。在绘制时序图时,我们需要指定参与交互的对象、它们之间的消息传递顺序和消息类型。
三、用例图(Use Case Diagram)
用例图表示系统的功能需求和参与者之间的关系。它可以帮助我们理解系统的功能和参与者与系统之间的交互行为。在绘制用例图时,我们需要指定参与者和用例,以及它们之间的关系。
四、活动图(Activity Diagram)
活动图表示系统的业务过程和操作流程。它可以帮助我们理解系统的业务逻辑和操作流程。在绘制活动图时,我们需要指定活动和决策点,以及它们的顺序和并行关系。
五、状态图(State Diagram)
状态图表示系统的状态转换和事件响应。它可以帮助我们理解系统的状态和状态之间的转换关系。在绘制状态图时,我们需要指定状态、事件和转换条件。
六、组件图(Component Diagram)
组件图表示系统的组件结构和依赖关系。它可以帮助我们理解系统的组件和它们之间的关系。在绘制组件图时,我们需要指定组件、接口和依赖关系。
七、部署图(Deployment Diagram)
部署图表示系统的物理结构和部署配置。它可以帮助我们理解系统的硬件和软件配置以及它们之间的关系。在绘制部署图时,我们需要指定节点、连接和部署配置。
二、绘制UML图的工具
2.1、processon
https://www.processon.com/
2.2、draw.iohttps://www.drawio.com/
2.3、亿图
https://www.edrawsoft.cn/
2.4、语雀https://www.yuque.com/
三、绘制UML图之类图(Class Diagram)教程
3.1、类图(Class Diagram)概述类图是一切面向对象方法的核心建模工具。该图描述了系统中对象的类型以及它们之间存在的各种静态关系。
表示类的框分为以下几层:
类名:类名如果是正体字,表面这是一个具体的实例。如果是斜体字,表面类是抽象的。
属性:一个属性可以是public、private或protected。一个属性的左边如果是加号(+),表示它是public;左边如果是减号(-),表示它是private;左边如果是井号(#),表示它是protected;
方法:一个方法的左边如果是加号(+),表示它是public;左边如果是减号(-),表示它是private;左边如果是井号(#),表示它是protected;
3.2、类的表示3.2.1、普通类的表示
3.2.2、抽象类的表示
在类的关系非常复杂或者类非常多的时候,为了一眼就可以体现抽象类,也可以将抽象类的外框定义为虚线或者填充背景色,此次没有明确的规范。
3.2.3、接口的表示
类图中具体类、抽象、接口和包的表示法
在UML类图中表示具体类
具体类在类图中用矩形框表示,矩形框分为三层:第一层是类名字。第二层是类的成员变量;第三层是类的方法。成员变量以及方法前的访问修饰符用符号来表示:
“+”表示 public;
“-”表示 private;
“#”表示 protected;
不带符号表示 default,也有用“~”符号表示default
在UML类图中表示抽象类
抽象类在UML类图中同样用矩形框表示,但是抽象类的类名以及抽象方法的名字都用斜体字表示:
在UML类图中表示接口
接口在类图中也是用矩形框表示,但是与类的表示法不同的是,接口在类图中的第一层顶端用构造型 <>表示,下面是接口的名字,第二层是方法:
在UML类图中表示包
类和接口一般都出现在包中
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/General_zy/article/details/129384168
3.3、类与类之间的关系表示3.3.1、关联关系概述
3.3.2、一般关系1:单向关联说明:
注意:
3.3.3、一般关系2:双向关联
说明:
注意:
3.3.4、一般关系3:自关联
说明:
注意:
3.3.5、聚合关系1:一对多说明:
注意:
聚合关系可以描述聚合的数量。待补充。
聚合关系和一般关系(单向关联、双向关联)的区分:聚合关系本质上可以理解为是一般关系的一种,但是关系性更强,是一般关系的更具体的、更贴切的一种描述。可以从类比去理解:人类与猫类,更多是一般关系,人类和猫类是两个独立的物种;学校与老师,更多是聚合关系,学校和老师可以独立存在,但是一个学校中老师人群是可以是学校的一部分。还有,电脑与CPU也是一种聚合关系,电脑和CPU看了眼独立存在,但是一台电脑中CPU模块是电脑的一部分。
3.3.6、聚合关系1:一对一说明:
注意:
3.3.7、组合关系说明:
注意:
组合关系可以理解为是一种更强烈的聚合关系,整体可以控制部分的生命周期,一旦整体不存在,那么部分也不存在。
3.3.8、依赖关系
说明:
注意:
在局部有引用关系,非全局,即可以简单理解为成员变量未使用。
3.3.9、继承关系说明:
是耦合度最大的一种关系,因为一旦父类变化,那么子子孙孙都会受影响。
注意:
3.3.10、实现关系
说明:
注意:
3.3.11、总结: