logo资料库

2022年下半年软件设计师考试真题及答案-下午卷.doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
2022 年下半年软件设计师考试真题及答案-下午卷 试题一(共 15 分) 阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】 随着新能源车数量的迅猛增长,全国各地电动汽车配套充电桩急速增长,同时也带来了 充电桩计量准确性的问题。充电桩都需要配备相应的电能计量和电费计费功能,需要对充电 计量准确性强制进行检定。现需开发计量检定云端软件,其主要功能是: (1)数据接收。接收计量装置上报的充电数据,即充电过程中电压、电流、电能等充电 监测数据和计量数据(充电监测数据为充电桩监测的数据,计量数据为计量装置计量的数据, 以秒为间隔单位),接收计量装置心跳数据,并分别进行存储。 (2)基础数据维护。管理员对充电桩、计量检定装置等基础数据进行维护。 (3)数据分析。实现电压、电流、电能数据的对比,进行误差分析,记录充电桩的充电 误差,供计量装置检定。系统根据计量检测人员给出的查询和统计条件展示查询统计结果。 (4)充电桩检定。分析充电误差:计量检测人员根据误差分析结果和检定信息记录,对 充电桩进行检定,提交检定结果:系统更新充电桩中的检定信息(检定结果和检定时间),并 存储于检定记录。 (5)异常告警。检测计量装置心跳,当心跳停止时,向管理员发出告警。 (6)检定信息获取,供其它与充电桩相关的第三方服务查询充电桩中的检定信息。 现采用结构化方法对计量检定云端软件进行分析与设计,获得如图 1-1 所示的上下文数 据流图和图 1-2 所示的 0 层数据流图。
【问题 1】(4 分) 使用说明中的词语,给出图 1-1 中的实体 E1~ E4 的名称。 【问题 2】(5 分) 使用说明中的词语,给出图 1-2 中的数据存储 D1~D5 的名称。 【问题 3】(4 分) 根据说明和图中未语,补充图 1-2 中缺失的数据流及其起点和终点。 【问题 4】(2 分) 根据说明,给出“充电监测与计量数据”数据流的组成。 【答案】 【问题 1】 E1:计量装置 E2:管理员 E3:计量检测人员 E4:第三方服务 【问题 2】 D1:充电检测及计量数据文件 D2:基础数据文件 D3:计量装置心跳数据文件 D4:充电误差信息文件 D5:检定记录 【问题 3】
数据流名称 查询和统计条件 起点 E3 更新检定信息 P4 充电桩检定 检定结果 检定信息 终点 P3 数据分析 D1 D5 P4 充电桩检定 D1 D6 检定信息获取 【问题 4】 充电监测数据和计量数据=充电桩 ID+计量装置 ID+监测电压+监测电流+监测电能+计量 电压+计量电流+计量电能+时间 试题二(共 15 分) 阅读下列说明和图,回答问题 1 至问愿 3,将解答填入答题纸的对应栏内。 【说明】 某营销公司为了便于对各地的分公司及专卖店进行管理,拟开发一套业务管理系统,请 根据下述需求描述完成该系统的数据库设计。 【需求描述】 (1) 分公司信息包括:分公司编号、分公司名、地址和电话。其中,分公司编号唯一确 定分公司关系的每一个元组。每个分公司拥有多家专卖店,每家专卖店只属于一个分公司。 (2) 专卖店信息包括:专卖店号、专卖店名、店长、分公司编号、地址、电话,其中店 号唯一确定专卖店关系中的每一个元组。每家专卖店只有一名店长,负责专卖店的各项业务: 每名店长只负责一家专卖店:每家专卖店有多名职员,每名职员只属于一家专卖店。 (3)职员信息包括:职员号、职员名、专卖店号、岗位、电话、薪资。其中,职员号唯 一标识职员关系中的每一个元组。岗位有店长、营业员等。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。 【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):分公司(分公 司编号,分公司名,地址,电话) 专卖店(专卖店号,专卖店名,___(a)__,职员,地址,电话) 职员(职员号,职员名,____(b)___,岗位,电话,薪资) 【问题 1】(6 分) 根据需求描述,图 21 实体联系图中缺少三个联系。请在答题纸对应的实体联系图中补 充三个联系及联系类型。 注:联系名可用联系 1、联系 2、联系 3:也可根据你对题意的理解取联系名。 【问题 2】 (6 分) (1)将关系校式中的空____(a)___、____(b)___的属性补充完整,并填入答题纸对应的 位置上。 (2)专卖店关系的主键:____(c)___ 和外键:____(d)___。 职员关系的主键:____(e)___ 和外键:____(f)___。 【问题 3】(3 分) 为了在紧急情况发生时,能及时联系到职员的家人,专卖店要求每位职员至少要填写位 紧急联系人的姓名、与本人关系和联系电话。根把这种情况,在用 2-1 中还需来机的实体是 ____(g)___ ,职员关系与该实体的联系类型为____(h)___。 (3)给出该实体的关系模式。 【答案】 【问题 1】 【问题 2】 (1)(a) 店长,分公司编号;(b) 专卖店号 (2)(c) 专卖店号;(d) 店长,分公司编号;(e) 职员号;(f) 专卖店号 【问题 3】 (1)(g) 紧急联系人;(h) 1 对多 (2)紧急联系人(联系人编号,职员号,紧急联系人姓名,关系,联系电话) 注:此处可以缺少紧急联系人编号。 试题三(共 15 分) 阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 图 3-1 所示为某软件系统中一个温度控制模块的界面。 界面上提供了两种温度计量单 位,即华氏度(Farechet)和摄氏度(Celsius)。软件支持两种计量单位之间的自动换算,即 若输入一个华氏度的温度,其对应的摄氏度温度值会自动出现在摄氏度的显示框内,反之亦 然。
用户可以通过该界面上的按钮 Raise (升高温度)和 Lower (降低温度)来改变温度的值。 界面右侧是个温度计, 将数字形式的温度转换成温度计上的制度比例进行显示。当温度值 改变时,温度计的显示也随之同步变化。 现在采用面向对象方法现实该温度控制模板,得到如图 3-2 所示的用例图和 3-3 所示的 类图。
【问题 1】(4 分) 根据说明中的描述,给出图 3.2 中 U1~U4 所对应的用例名。 【问题 2】(8 分) 根据说明中的描述,给出图 3-3 中 C1~C8 所对应的类名(类名使用图 3-1 中标注的词汇)。 【问题 3】(3 分) 现需将图 3-1 所示的界面改造为个更为通用的 GUI 应用,能够实现任意计量单位之间 的换算,例如千克和确之间的模算、厘米和英寸之间的换算等等。为了实现这个新的需求, 可以在图 3-3 所示的类图上增加哪种设计模式?请解释选择该设计模式的原因(不超过 50 字)。 【答案】 【问题 1】 U1:显示温度 U2:显示华氏度 U3:温度计显示 U4:单位换算 【问题 2】 C1:TemperatureCovertorDialog C2~C4: FahrenheitEditBox CelsiusEditBx TemperatureBar C5~C8: FahrenheitRaise FahrenheitLower CelsiusRaise CelsiusLower 【问题 3】 策略模式 原因:多种单位之间不同的换算规则可以写成不同的算法策略,这些算法之间是平等关 系,可以根据自己的需求选择不同的策略,并且可以灵活切换。策略模式的功能就是把具体
的算法实现,从具体的业务处理里面独立出来,把它们实现成为单独的算法类,从而形成一 系列的算法,并让这些算法可以相互替换。 试题四(共 15 分) 阅读下列说明和 C 代码,回答问题 1 至问题 3,将解答写在答题纸的对应栏内。 【说明】 排序是将一组无序的数据元素调整为非递减顺序的数据序列的过程,堆排序是一种常用 的排序算法。用顺序存储结构存储堆中元素。非递减堆排序的步骤是: (1)将含 n 个元素的待排序数列构造成一个初始大顶堆,存储在数组 R(R[1],R[2],..., R[n])中。此时堆的规模为 n,堆顶元素 R[1]就是序列中最大的元素,R[n]是堆中最后一个 元素。 (2)将堆顶元素和堆中最后一个元素交换,最后一个元素脱离堆结构,堆的规模减 1, 将堆中剩余的元素调整成大顶堆; (3)重复步骤(2),直到只剩下最后一个元素在堆结构中,此时数组 R 是一个非递减的数 据序列。 【C 代码】 下面是该算法的 C 语言实现。 (1)主要变量说明 n:待排序的数组长度 R[]:待排序数组,n 个数放在 R[1],R[2],...,R[n]中 (2)代码
1
分享到:
收藏