下午题15分
依赖关系
关联关系
实心菱形就是组合,空心就是聚合,然后菱形右边表示整体,左边表示部分
聚合
例如学生和班级就是聚合关系,聚合用空心的菱形表示,并且班级消失了(毕业了)学生是不会消失的,而且学生可以独立存在,在这个例子里班级是整体,学生是部分
组合
例如人和大脑是组合关系,其中人是整体,大脑是部分,大脑没有,人也就没了,大脑不能脱离人独立存在
泛化关系
实现关系
用例和用例的关系
用例和用例之间有三种关系,包含(include)、扩展(extend)、泛化( generalize)
扩箭基(扩展关系箭头指向被基础用例),包箭被(包含关系箭头指向被包含用例)
包含关系
包含关系是指一个用例完成之前被包含的那个用例也要完成,并且被包含的那个用例起关键作用,例如下面的例子
例如上图的删除图书包含查询图书,因为在删除图书之前一定要先查询图书才能删除,修改也是一样,先查询才能修改
扩展关系
例如上面的学生还书时如果没有按时还书就有罚款
刷题心得总结
问题1
问题1一般是要求用例图中的参与者和用例,参与者一般比较容易看出来,但是用例有的很难看出,这时要冷静分析,看用例之间的关系(重点)
1、如果是泛化关系(要认识泛化的图标)那就绝对是父类和子类,找说明里的父类和子类有哪些,例如支付方式是父类,微信支付和支付宝支付是子类
2、如果是包含关系,要知道箭头指向的是被包含的,例如A----->B就是A包含B,A用例实现前会先实现B用例,比如说删除图书------->查找图书,每次删除图书都要先查找图书
问题2
问题2一般是要求类图中的类名,一般类图跟用例图是由一定关联的,问题1的用例图都写对了对问题2的类图理解就更加容易,看跟要求的类名相关联的已知的类名有哪些,然后根据已知类名和要求类名的关系去说明里找看看有没有符合这样关系的描述,找到这句话把这句话的名词都给标出来,然后根据题意去看那个名词更适合
1、一般像类图中有泛化这样的关系的,那就直接去说明中找对应的那种父类和子类这样有关系的名词
2、一般有聚合或组合关系的那就直接去找说明里的有整体-部分关系、包含关系、并且两者直接由联系的,一般都是一句话来描述这两个名词直接的关系,例如硬币器中的硬币,这就是包含关系,整体部分关系
真题
2021年下半年试题三
问题1
根据“另外,每个机器人都设置有一个计时器(Timer),用于支持执行预先定义好的定时事件。机器人的动作包括:原地向左或向右旋转90°、向前或向后移动。”这句话可以知道这个是用户提前设计好的,用来操作机器人的,所以得到一个用例是设置定时器
根据“建立迷宫:用户可以使用编辑器(Editor)编写迷宫文件,建立用户自定义的迷宫。将迷宫文件导入游戏系统建立用户自定义的迷宫。”可以得到U1和U2两个用例
讲解地址:2021年下半年问题1_哔哩哔哩_bilibili
问题2
这里我是觉得U1、U2和建立迷宫是包含关系,它官方的意思是指这个U1和U2都是建立自定迷宫的步骤,自定义迷宫和建立迷宫是泛化关系,但是我觉得这太牵强了
讲解地址:2021年下半年问题2_哔哩哔哩_bilibili
问题3
这里我C8是写的迷宫文件,应该也差不多,其他的都做出来了,主要是根据类图直接的关系做出来的,看到聚合、组合关系就去找那种相关联的整体-部分的名词
2021年上半年试题三
问题1
这里的U2、U3、U4不是一眼能够看的出来的,注意U2和U3、U4的的关系是泛化,也就是继承,那就是子类和父类的关系,那根据说明里U2就可能是取药方式或者是支付方式,因为它们都有两个子类,取药方式的子类是到店取药和送药上门,支付方式的子类是微信和支付宝,这里选支付方式,第一,那个图已经有一个用例是送药上门,如果选取药方式作为U2那就又有一个是送药上门的用例,第二,U1包含U2,U1是确认处方,U2如果是取药方式的话,即使选了取药方式,也不能确认处方,只有支付成功才能确认处方,所以U2是支付方式
讲解地址:2021年上半年问题1_哔哩哔哩_bilibili
问题2
根据上面的类图可以看到C4和C1(支付方式)、药师有关联,然后说明里有句话"支付成功之后,处方被发送给药师进行药品配制",通过这句话可以看出C4是处方
C5只跟C4(处方)有关系,然后说明有句话“药师根据处方配置好药品”可以看出C5是药品
讲解地址:2021年上半年问题2_哔哩哔哩_bilibili
问题3
讲解地址:2021年上半年问题3_哔哩哔哩_bilibili
n年上半年试题三
问题1
这里我觉得U2是销售房产,(a)是《include》,根据说明中的话这是没有问题的
讲解地址:2020年下半年问题1_哔哩哔哩_bilibili
2019年下半年试题三
问题1
问题2
这里有点问题,泛化的图标是空心的三角形箭头,但是它这里说C1、C2和C3是泛化关系,没办法,出题人一点都不严谨,姑且当成泛化这题才能做,所以C1和C2C3就很容易得出了,C4和C5很难看出来,可以看到C5和病人有关,C4和医护人员有关,根据说明里的“病人在就诊时,可能需要接受多项治疗,每项治疗(Procedure)可能由多位医护人员为其服务”这句话,首先要根据类图的关系找到说明中对应的话,然后把这句话的名词给找出来,这句话中名词有病人、就诊、治疗、医护人员,刚好拼接上了,就诊的话当然是病人就诊,所以可以推出C5是就诊,C4是治疗
讲解地址:2019年下半年问题1_哔哩哔哩_bilibili