UML图从入门到精通

1903 Views

一、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、总结:

两部门:严禁网络视听平台传播违规游戏
《仙剑1》:为什么我们对林月如这个“小三”根本恨不起来?