下午题总结
1 试题一
实体(长方体)
数据存储(没有封闭的长方体)
加工(椭圆长方体)
需要注意的错误:
1.加工有输入但是没有输出
2.加工有输出但是没有输入
3.加工的输入不足以产生输出
数据流的起点和终点中必须有一个是加工
父图与子图不平衡,图 1-2 中没有图 1-1 中的数据流“维修情况”
1.1 结构化语言
用结构化语言对“道闸控制”的加工逻辑进行描述
道闸控制。根据道闸控制请求向道闸控制系统发送放行指令和接收道闸执行状态。若道闸执行状态为正常放行时,对入场车辆,将车牌号及其入场时间信息存入停车记录,修改空余车位数;对出场车辆更新停车状态,修改空余车位数。当因道闸重置系统出现问题(断网断电或是故障为抬杠等情况),而无法在规定的时间内接收到其返回的执行状态正常放行时,系统向管理人员发送异常告警信息,之后管理人员安排故障排查处理,确保车辆有序出入停车场。
收到道闸控制请求
IF 道闸执行状态为正常放行
THEN
IF 入场车辆
THEN
将车牌号及其入场时间信息存入停车记录,修改空余车位数
ELSE
更新停车状态,修改空余车位数
ENDIF
ELSE
向管理人员发送异常告警信息
ENDIF
2 试题二
弱实体
一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。
附件属于弱实体吗?
附件属于弱实体,因为附件的存在必须以邮件的存在为前提,即附件总是依附于某邮件
增加权限
为了数据库信息的安全性,公司要求对数据库操作设置权限管理功能,当员工登录系统时,系统需要检查员工的权限。权限的设置人是部门经理。为满足上述需要,应如何修改(或补充)图2-1所示的实体联系图,请给出修改后的实体联系图和关系模式。
权限(员工号 ,权限,部门经理)主键是员工号
增加实体间联系和联系的类型
电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还可以联合第三方基金公司提供理财服务,为此设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财。每名客户只由一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图2-1进行修改,画出修改后的实体间联系和联系的类型。
3 试题三
3.1 UML关系
聚合 (空心菱形)
部分和整体的生命周期不一致,整体消失了,部分仍然存在。
部分 整体
组合 (实心菱形)
整体消失了,部分也消失了
购物车和商品适合采用聚合关系,网店和商品适合采用组合关系。
网店消失了,商品也下架了。
泛化 (实线三角形)
子类继承父类,父类泛化子类
子元素 父元素
例子
表示组合和聚合,在组合关系中,整体对象与部分对象具有统一的生命周期,当组合整体消失了,部分也消失了。而在聚合关系中,整体消失了,部分依然存在。
3.2 例子(2016上半年)
3.3 设计类分类
3.3.1 接口类
负责系统与用户之间的交互,用于封装在用例内、外流动的信息或数据流
这个我是排除法,先把实体类和控制类写了
3.3.2 控制类
控制类负责业务逻辑的处理
控制类包含动词
比如:计算总价、调用支付系统、发送完整订单信息
3.3.3 实体类
实体类保存需要存储在永久存储体中的信息,主要负责持久化数据的存储
我的理解是一直存在的人或东西
比如:会员、订单表、邮箱地址、支付方式
3.4 简答题
3.4.1 简要说明选择候选类的原则
认定类是面向对象分析中非常关键的一个步骤。一般首先从问题域中得到候选类集合,在根据相应的原则从该集合中删除不作为类的,剩余的就是从问题域中认定出来的类。简要说明选择候选类的原则,以及对候选类集合进行删除的原则。
具有下列特征的候选类需要删除:含义相近(冗余)、含义不明确的对象、暗示实现方式的、表示属性或特征、有动词含义的名词(表示行为和方法)。
3.4.2 某个类必须拥有的属性是什么
图3-2所示的类图中使用了哪种设计模式?在这种设计模式下,类CFrequentFlyer必须具有的属性是什么?C1〜C4中的travel方法应具有什么功能?
使用了 State 模式(状态模式)。
类 CFrequentFlyer 必须具有的属性:CLevel 的对象。
travel 方法的功能:计算飞行里程数,根据里程数判断是否需要调整会员级别(跳转到不同的状态)。
3.5 设计模式