【软考中级-软件设计师笔记】数据库大题&UML

以例题为主

在这里插入图片描述

第一问,就是补充完整的ER图,题目提示了是5个关系。答案如下:
在这里插入图片描述
就是根据题目描述,找好多对多、一对多关系。
第二问,补充完整属性:
在这里插入图片描述
注意,一个空可以填多个

做题技巧:

  1. 第一问补ER图,根据题干中重点描述实体关系的语句去找,也要从属性当中去发掘隐藏的联系(比如家电厂商制作家电)
  2. 第二问补属性,一个空是可以填多个属性的,要从属性描述和联系之间去找
  3. 第三问往往问主键外键,主键就是能唯一标识这个实体的,不一定只有编号这种属性,有可能是一些属性共同决定,例如(配送员,配送时间)共同决定了一个配送。外键就是在其他关系中是主键,如果有题干里没列出来的实体也有可能是外键。有的键可能既是主键又是外键
  4. 第四问开放性问题,可能问简单属性/复合属性,或者是要往ER图中补充实体。

UML

事物

  1. 结构事物:模型的静态部分,例如类、接口、协作等
  2. 行为事物:动态部分,消息、状态、动作
  3. 分组事物:package
  4. 注释事物:就是注释

关系

依赖
画成虚线箭头,A —> B就是A依赖B

关联
描述整体和部分的关系
聚合:部分可以脱离整体存在,整体消失了部分还能存在
符号:

—————◇ 实线,空心菱形

组合:跟聚合相反

—————◇ 实线,实心菱形

泛化
描述特殊/一般关系
子类替代父类,
符号:

—————△ 实线,三角形指向父元素

实现
比如接口和类

-------△ 虚线,

例题:

  1. 在这里插入图片描述
    解析:第一问排除法选B,第二问根据定义选D

关联多重度
比如说,在图书馆系统中,学生和图书之间的关系是多对多,但是一个学生可以重复借多次书,这种对象之间可以发生多次联系的,就是多重度的情形,需要用另一个来额外标识,比如借书时间:
在这里插入图片描述

例题:

  1. 在这里插入图片描述
    解析:D中,三角形是子类父类关系,项目和公司并没有这个关系,排除;C中,项目到公司是单向关系,而实际应该是一对多的关系,排除;A中,项目是跟team有关系,而不是员工,排除。选B

  2. 在这里插入图片描述
    解析:考虑上面学生和图书的例子,医生和病人可以多次关系,所以C

类图

类图包括类、接口、协作、依赖/泛化/关联等关系

例题:

  1. 在这里插入图片描述
    答案:B

在这里插入图片描述
答案:BA,医生和病人之间要建立多对多联系,只是额外通过时间类,排除BD。医生和病人之间不是唯一的,non-unique对,选A

对象图

某时刻对象之间的关系
对象图只有类名和属性,没有方法
格式:对象:类,比如Lisi : Student

用例图

展现用例、参与者之间的关系

在这里插入图片描述
extend:扩展关系
include:包含关系

包含关系
基本用例----include—>被包含用例
例子:

图书管理员(参与者)———>删除图书(用例)--include--->查询图书(用例)

因为删除之前一定包含了查询

扩展关系
一个用例执行的时候,可能会发生一些特殊的情况或可选的情况,这种情况就是这个用例的扩展用例。

扩展用例----extend—>基本用例(注意左右顺序)
例子:
学生余额不足

学生(参与者)———>刷饭卡<-----extend---余额不足

泛化
子类—△父类

关联是参与者和用例之间的关系
包含是用例和用例之间的关系扩展是用例和用例之间的关系
泛化是参与者和参与者之间的关系也是用例和用例之间的关系

序列图

也叫顺序图,描述以时间顺序组织的对象之间的活动
在这里插入图片描述
往下指的虚线是生命线,表示对象的生命周期
消息的分类:

  • 同步消息(调用消息),同步消息是必须等待完返回消息之后才能进行下一步活动
  • 异步消息,不需要等待返回消息
  • 返回消息

例题:

  1. 在这里插入图片描述
    解析:答案CB,返回消息是往回指的。要实现什么方法,要看指过来的箭头,而不是指出去的

通信图

也叫协作图
在这里插入图片描述
1 2 3这些消息也就是执行的顺序。和序列图是同构的,可以互相转换

状态图

就是状态机,展现事件顺序

状态
初态(实心的点)、中间态(四边形中上中下三个部分,上:名称,中:状态变量,下:活动表),终态(圆圈里一个点)

三种标准事件:entry,exit,do
entry:入口动作,进入状态,立即执行
exit:出口动作,退出状态,立即执行
do:内部活动,占有有限时间,并可以中断的工作

转换和事件
在这里插入图片描述
转换包括两个状态
事件触发转换(迁移)
活动(动作)可以在状态(迁移)内执行,也可以在状态(迁移)转换时执行。

如果箭头上没有字,说明是到这个状态直接自动转换到下一个

事件触发转换,转换时执行动作

在这里插入图片描述

例题:
1.
在这里插入图片描述解析:答案CD
状态图描述的是一个对象的不同状态转换,选C。play等是名称,没有final也是有效的,状态嵌套的上层叫组合状态或者超状态,选D。

在这里插入图片描述
解析:C。应该是包含两个状态

活动图

是一个特殊的状态图,从一个活动到另一个活动
在这里插入图片描述

构件图

也叫组件图
专注于静态实现视图
在这里插入图片描述
特别注意:这个图里的供接口和需接口反了

部署图

对面向对象系统物理建模的方法,在实施阶段使用
在这里插入图片描述

总结

静态建模:类图、对象图、用例图
动态建模:序列图(顺序图,时序图)、通信图(协作图)、状态图、活动图
物理建模:构件图(组件图)、部署图
交互图:序列图(顺序图,时序图)、通信图(协作图)

UML大题

例题:
1.
在这里插入图片描述
在这里插入图片描述
2.
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值