UML简述

172 阅读2分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。

UML

UML ---图形化建模语言

UML常见的包括哪些图?

类图:描述类的信息(包括属性、方法),以及类和类之间的关系信息。

用例图:站在系统用户(系统角色)的角度分析系统存在哪些功能。

时序图:描述程序的执行过程,方法的调用过程,方法的返回值等信息(程序是一步步怎么执行的。怎么调用的)

状态图:状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。

活动图:活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模

类图

什么是类图?

描述类的信息(包括属性、方法),以及类和类之间的关系信息。

类和类之间的关系包括6种情况

泛化关系(is a:继承)

截屏2022-01-22 上午11.39.35

实现关系(like a )

截屏2022-01-22 上午11.43.50

关联关系(has a)

截屏2022-01-22 上午11.52.51

// 实线箭头表示:通过Programmer可以知道Computer,Programmer对象中有一个Computer的属性
public class Programmer{
    private Computer coder;(名字为你定义的名字)
}

双向自关联截屏2022-01-22 下午3.18.21 单向自关联截屏2022-01-22 上午11.56.40

聚合关系(描述整体和局部关系,是特殊的关联关系,整体的生命周期不影响局部的生命周期)截屏2022-01-22 下午3.24.12

public class ClassRoom{
	List<Student>students;
}

组合关系(组合关系是特殊的聚合关系,整体的生命周期决定部分的生命周期,部分是依附在整体上面的)

image-20220123100849062

依赖关系(所有关系中最弱的关系,通常体现在类和局部变量的关系)

截屏2022-01-23 上午10.11.53

public class Test{
		public void m(){
				Clue clue = new Clue();
		}
}

用例图(use case diagram)

什么是用例图?

站在系统用户(系统角色)的角度分析系统存在哪些功能,实现用例图的时候,需要先进行系统角色的抽取

截屏2022-01-23 上午10.22.26

时序图(sequence diagram)

什么是时序图?

时序图当中描述了方法的调用过程,程序的执行流程,以及方法执行结束的返回值情况

怎么实现时序图呢?

用例图的一个用例会对应一个时序图。

截屏2022-01-23 上午11.24.04

人:动作的触发人截屏2022-01-23 上午11.31.31

矩形/圆圈:对象截屏2022-01-23 上午11.31.54

实线箭头:调用对象截屏2022-01-23 上午11.32.24

虚线箭头:返回截屏2022-01-23 上午11.32.40

圆柱:对象的生命周期(柱状不能断,在同一个流程当中不能断)

回折线:当前对象中的方法执行过程中调用自己当前类中的其他方法截屏2022-01-23 上午11.33.25