UML总结

UML是什么?

UML2.0共有13中图形,类图是使用频率最高的UML图之一,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class):

1). 实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。
2). 控制类用于体现应用程序的执行逻辑,提供相应的业务操作,将控制类抽象出来可以降低界面和数据库之间的耦合度。控制类一般是由动宾结构的短语(动词+名词)转化来的名词,如增加商品对应有一个商品增加类,注册对应有一个用户注册类等。
3). 边界类用于对外部用户与系统之间的交互对象进行抽象,主要包括界面类,如对话框、窗口、菜单等。

类图

类图是一个长方形,一般由三部分组成,这三部分使用分割线区分,也有可能是四部分,其中一部分是内部类。
1). 类名
2). 属性(字段),格式为:可见性 字段名称:类型 [=缺省值]
3). 操作(方法),格式为:可见性 方法名称(参数列表) [:返回类型]
4). 可见性:public(+)、private(-)和受protected(#)
5). 注意内部类的表示方式
在这里插入图片描述在这里插入图片描述

接口

1). 在接口中,通常没有属性
2). 所有的操作都是抽象的,只有操作的声明,没有操作的实现
在这里插入图片描述

关联关系

1). 表示两个类之间有联系,如汽车和轮胎、班级和学生等等
2). 通常将一个类的对象作为另一个类的成员变量
3). 用实线连接,在关联线上可以标注角色名,一个关联线上可能包含两个角色名
4). 单向关联和自关联有一个箭头,双向关联没有箭头
5). 多重关联表示两个关联对象在数量上的对应
6). 顾客(Customer)拥有地址(Address),则Customer与Address有单向关联关系
7). 顾客(Customer)购买商品(Product),同样卖出的商品总有某个顾客与之关联
8). 一个节点类(Node)的成员又是节点Node类型的对象
9). 一个界面(Form)可以拥有零个或多个按钮(Button),但是一个按钮只能属于一个界面,因此,一个Form类的对象可以与零个或多个Button类的对象相关联,但一个Button类的对象只能与一个Form类的对象关联
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

聚合关系

1). 表示整体与部分的关系,在聚合关系中,成员对象是整体对象的一部分,但是成员对象可以脱离整体对象独立存在。
2). 带空心菱形的实的直线表示
3). 整体指向部分
4). 汽车发动机(Engine)是汽车(Car)的组成部分,但是汽车发动机可以独立存在
在这里插入图片描述

组合关系

1). 表示整体与部分的关系,在组合关系中,整体对象可以控制成员对象的生命周期,一旦整体对象不存在,成员对象也将不存在,成员对象与整体对象之间具有同生共死的关系
2). 带实心菱形的实的直线表示
3). 整体指向部分
4). 人的头(Head)与嘴巴(Mouth),嘴巴是头的组成部分,如果头没了,嘴巴也就没了
在这里插入图片描述

依赖关系

1). 在表示一个事物使用另一个事物时,使用依赖关系
2). 可以存在于方法中的临时变量、方法中的参数和对静态方法的调用
3). 用带箭头的虚线表示,由依赖的一方指向被依赖的一方,即箭头指向被依赖者
4). 驾驶员开车,在Driver类的drive()方法中将Car类型的对象car作为一个参数传递,以便在drive()方法中能够调用car的move()方法,且驾驶员的drive()方法依赖车的move()方法,因此类Driver依赖类Car
在这里插入图片描述

泛化关系

1). 泛化(Generalization)关系也就是继承关系
2). 用带空心三角形的直线来表示
在这里插入图片描述

实现关系

1). 是接口和实现类之间存在的一种关系
2). 用带空心三角形的虚线来表示
3). 实现类指向接口
4). 定义了一个交通工具接口Vehicle,包含一个抽象操作move(),在类Ship和类Car中都实现了该move()操作
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值