软设-下午题三

本文介绍了UML中的几种关系,包括依赖、关联(实心和空心菱形代表的聚合与组合)、泛化和实现关系。在类图和用例图中,这些关系有不同的表示方式和含义。例如,聚合表示部分和整体的关系,组合则强调部分与整体生命周期的一致性。用例图中的包含和扩展关系描述了用例间的执行顺序和特殊情况。
摘要由CSDN通过智能技术生成

image.png

依赖关系

image.png

关联关系

image.png
实心菱形就是组合,空心菱形就是聚合,然后菱形的右边表示整体,左边表示部分
image.png

聚合关系

聚合:部分和整体的生命周期不一致,整体消失了,部分仍然存在,部分可以脱离整体存在。
image.png
例如学生和班级就是聚合关系,聚合用空心的菱形表示,并且班级消失了(毕业了)学生是不会消失的,而且学生可以独立存在,在这个例子里班级是整体,学生是部分

组合关系

组合:部分和整体的生命周期一致,整体消失了,部分仍也消失了,部分不可以脱离整体而存在。
image.png
例如人和大脑是组合关系,其中人是整体,大脑是部分,人去世了,大脑也就没了,大脑不能脱离人独立存在

泛化关系

image.png

实现关系

image.png

UML中的图

image.png

类图

image.png
image.png

用例图

image.png

包含关系

image.png
包含关系是指一个用例完成之前被包含的那个用例也要完成,并且被包含的那个用例起关键作用,例如下面的例子
image.png
例如上图的删除图书包含查询图书,因为在删除图书之前一定要先查询图书才能删除,修改也是一样,先查询才能修改

扩展关系

image.png
例如上面的学生还书时如果没有按时还书就有罚款

泛化关系

image.png

问题1

image.png
问题1一般是要求用例图中的参与者和用例,参与者一般比较容易看出来,但是用例有的可能不好看出来,就要进行分析,看用例之间的关系(重点)

1、如果是泛化关系,那就是父类和子类,找说明里有哪些是父类和子类的关系,例如支付方式是父类,微信支付和支付宝支付是子类。

2、如果是包含关系,要知道箭头指向的是被包含的,例如A----->B就是A包含B,A用例在实现前会先实现B用例,比如说删除图书------->查找图书,每次删除图书前都要先查找图书

3、如果是拓展关系,要知道箭头指向的是基本用例,例如B----->A就是B为拓展用例,B是A的特殊情况或拓展情况,A为基本用例,B为特殊用例。

问题2

image.png
问题2一般是要求类图中的类名,一般类图跟用例图是由一定关联的,看跟要求的类名相关联的已知的类名有哪些,然后根据已知类名和要求类名的关系去说明里找看看有没有符合这样关系的描述,找到这句话把这句话的名词都给标出来,然后根据题意去看那个名词更适合。
1、如果类图中有泛化关系的,就直接去说明中找对应的父类和子类这样有关系的名词。
**2、如果有聚合或组合关系的,就直接去找说明里的有整体-部分关系的名词。

补充技巧:如果题目中的名字都给出了英文,有可能这些英文就是要求的类名。

补充

包含关系是两个都必须发生,扩展关系是两个都可能发生也可能都不发生,泛化关系是两个至少有一个发生。
包含include:一个用例包含另一个用例,当基本用例执行时,被包含用例一定会执行。包含关系由基本用例指向被包含用例,关系是一条带箭头的虚线,虚线上包含《include》
扩展extend:当一个用例执行时,可能会出现特殊情况和可选情况,这个时候就会执行扩展用例。扩展关系由扩展用例指向基本用例,关系是一条带箭头的虚线,虚线上包含《extend》
泛化generalize:父用例泛化子用例,子用例继承父用例的所有属性和行为,并未父用例可以出现的地方,子用例都可以将其替换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值