UML-统一建模语言学习笔记20240912

UML入门

一、软件开发基础知识:

1.软件开发的生命周期,包括需求分析,设计,实现,测试和维护等阶段。
2.面向对象的编程(OOP):UML 是一种用于描述面向对象系统的语言,需要理解OOP 概念(如类,对象,继承,封装,多态)。

二、含义:

UML(Unified Modeling Language,统一建模语言)是一种用于软件工程的标准建模语言。UML 提供了一系列图形表示和符号,用来描述软件系统的结构和行为。UML 是一种通用的、面向对象的设计语言,它不依赖于任何特定的编程语言。

三、分类:

1.用例图(Use Case Diagrams):用来描述系统功能和用户(角色)之间的交互。
2.类图(Class Diagrams):用来描述系统中的类及其属性、方法和类之间的关系。
3.序列图(Sequence Diagrams):用来描述对象之间的交互,特别是交互发生的顺序。
4.状态图(State Diagrams):用来描述一个对象的生命周期或一个操作的执行过程。
5.活动图(Activity Diagrams):用来描述业务流程或算法的步骤。
6.组件图(Component Diagrams):用来描述系统的物理组成部分和这些部分之间的关系。
7.部署图(Deployment Diagrams):用来描述系统的硬件配置和软件组件的分布。
8.对象图(Object Diagrams):类图的实例,展示特定时刻对象的状态和关系。
9.通信图(Communication Diagrams):与序列图类似,但更侧重于对象间的组织结构。
在这里插入图片描述

四、基本组成部分

UML 包括一组基本的建模元素,这些元素可以组合在一起,形成 UML 图。主要的包括:
类(Class):表示系统中的实体或对象类型。
接口(Interface):描述了类或组件提供的服务或可执行的操作。
属性(Attribute):描述了类或接口的特性或状态。
操作(Operation):描述了类或接口可以执行的行为或方法。
关系(Relationship):描述了元素之间的交互或依赖。

五、类图

类图,描述类的内部结构和类与类之间的关系,是一种静态结构图。类图中的类由三个部分组成:类名、属性和方法。类之间的关系包括:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
泛化 (又称继承)= 实现 > 组合 > 聚合 > 关联 > 依赖

1.泛化关系

在面向对象程序中,泛化关系是对象之间耦合度最大的一种关系(实现关系虽然耦合度更大,但是接口不能创建对象),使用面向对象的继承机制来实现泛化关系。(用带空心三角箭头的实线连接)
在这里插入图片描述

2.实现关系

是类与接口的关系,表示类是接口所有特征和行为的实现。(用带空心三角箭头的虚线表示)
在这里插入图片描述

3.组合关系

是整体与部分的关系,但部分不能离开整体而单独存在。组合关系是关联关系的一种,是比聚合关系还要强。(用带实心菱形的实线表示,菱形指向整体)
​ 在面向对象程序中,一般是以成员变量的形式存在,是使用构造方法设置的成员变量。
在这里插入图片描述

4.聚合关系

聚合是整体与部分的关系,且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是较强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。(用带空心菱形的实线表示,菱形指向整体)
​ 在面向对象程序中,一般也是以成员变量的形式存在,是使用set方法设置成员变量。
在这里插入图片描述

5.关联关系

两个类之间有一定的关联度,可以是双向的,也可以是单向的。在面向对象程序中,是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,让一个类知道另一个类的属性和方法(实例变量体现)。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。(用实线或者带箭头的实线表示)。
​ 在面向对象程序中,一般也是以成员变量体现关联关系。例:A类依赖于B对象,并且把B作为A的一个成员变量, 则A和B存在关联关系。
在这里插入图片描述

6.依赖关系

依赖关系指的是类与类之间的联接,表示一个类依赖于另一个类的定义。一般而言,依赖关系在Java语言中体现为成员变量、局域变量、方法的形参、方法返回值,或者对静态方法的调用。(用带箭头的虚线表示)
例:表示一个A类依赖于B类的定义,如果A对象离开B对象,A对象就不能正常编译,则A对象依赖于B对象(A类中使用了B对象)。
在这里插入图片描述

六、用例图

用例图,描述系统和外部实体之间的交互(如用户或其他系统)。主要元素包括"用例"(表示系统提供的服务或功能)和"参与者"(使用或与这些用例交互的外部实体)。用例和参与者之间的关系通常用连线表示。
用例图主要展示:1、是谁用软件;2、软件的功能,从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
在这里插入图片描述

七、序列图

顺序图,交互图的一种,展示对象之间如何交互以实现行为。以二维图形表示,其中水平轴表示对象,垂直轴表示时间。图上箭头代表消息调用,可以显示出消息发送的顺序。
在这里插入图片描述

八、活动图

活动图,一种行为图,描述系统的动态行为,通常用于描述业务流程或软件流程。主要元素包括活动、决策和分支。活动之间的关系由箭头表示,表示控制流。
在这里插入图片描述

九、状态图

状态图(又称状态机),描述了系统的状态和状态之间的转换。主要元素包括状态、转换和事件。状态表示系统的某一特定条件或情况,转换表示从一个状态到另一个状态的过程,通常由某事件触发。状态图是对类图的补充。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值