设计模式1—建模、UML、用例图、类图、类之间关系的基本概念

1、为什么要建模

软件建模的作用是把源于现实世界的问题转化为计算机可以理解和实现的过程
在这里插入图片描述
软件建模的实现过程是从需求入手,用模型表达分析设计过程,最终将模型映射成软件实现.
在这里插入图片描述

2、UML

  • UML(United Modeling Language,统一建模语言)∶是一种基于面向对象的可视化建模语言.
  • UML采用了一组形象化的图形(如类图)符号作为建模语言,使用这些符号可以形象地描述系统的各个方面
  • UML通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.

UML一共有10种图

UML中的关系主要包括4种:

  • 关联关系(association)
  • 依赖关系(dependency)
  • 泛化关系(generalization)
  • 实现关系(realization)

3、用例图

(1)用例图(Use Case Diagram):也称为用户模型图,是从软件需求分析到最终实现的第一步,它是从客户的角度来描述系统功能.
(2)用例图包含3个基本组件

  • 参与者(Actor):与系统打交道的人或其他系统即使用该系统的人或事物.在UML中参与者用人形图标表示
  • 用例(Use Case):代表系统的某项完整的功能.在UML中使用一个椭圆来表示
  • 关系:定义用例之间的关系------泛化关系,扩展关系,包含关系
    在这里插入图片描述
    用例之间的关系

1、泛化关系:(简而言之就是父子关系)表示同一业务目的(父用例)的不同技术实现(各个子用例).在UML中,用例泛化用一个三角箭头从子用例指向父用例
在这里插入图片描述
2、包含关系:一个用例可以包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分.在UML中包含关系用虚线箭头加“< >”,箭头指向被包含的用例。下边这个到最后肯定会操作数据库
在这里插入图片描述
3、扩展关系:如果在完成某个功能的时候偶尔会执行另外一个功能,则用扩展关系表示.在UML中扩展关系用虚线箭头加“< < extend > >”,箭头指向被扩展的用例。这个和上面包含相比,只是偶尔可能会执行另一个功能。
在这里插入图片描述

4、类图

类图是面向对象系统建模中最常用的图.是定义其他图的基础.
类图主要是用来显示系统中的类,接口以及它们之间的关系.
类图包含的主要元素有类,接口和关系.其中关系有泛化关系,关联关系,依赖关系和实现关系.在类图中也可以包含注释和约束.
在这里插入图片描述

1、类之间的关系—泛化关系

1.在UML中,泛化关系用来表示类与类,接口与接口之间的继承关系.泛化关系有时也称为”is a kind of“关系.
2.在UML中泛化关系用一条实线空心箭头有子类指向父类.
在这里插入图片描述

2、类之间的关系—实现关系

在UML中,实现关系用来表示类与接口之间的实现关系.
在UML中实现关系用一条虚线 空心箭头由子类指向父类
在这里插入图片描述

3、类之间的关系—依赖关系

对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依
赖另一个系统的服务时,这两个系统之间体现为依赖关系.例如生产零件的机器和零件,机器负责构造零件对象;充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气。用虚线连接
在这里插入图片描述

4、类之间的关系—关联关系

还是上面的例子,车是自己的成员函数,是自己的一部分
用实线连接
在这里插入图片描述

5、类之间的关系——聚合

1.聚合关系是关联关系的一种,是更强的关联关系。
2.聚合是整体和部分之间的关系,例如汽车由引擎.轮胎以及其它零件组成。
3.聚合关系也是通过成员变量来实现的。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。

比如汽车不能开了,但是轮胎或者引擎等其他部件还可以拿出来放到其他那接着用

6、类之间的关系——组合

组合比聚合还要强

公司死了,部门就没了
在这里插入图片描述

关联关系的角色

当一个类处于关联的某一端时,该类就在这个关系中扮演一个特定的角色.
具体来说,角色就是关联关系中一个类对另一个类所表现的职责.角色名称是
名词或名称短语.
在这里插入图片描述

关联关系的数

我有多辆车,我是1,车是1-n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贪睡的蜗牛

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值