【软考中级】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
P3数据分析
更新检定信息 P4充电桩检定
D1
检定结果
P4充电桩检定
D5
检定信息
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】(8分)
根据以上说明和C代码,填充C代码中的空(1)~(4)。
【问题2】(2分)
根据以上说明和C代码,算法的时间复杂度为(5)(用O符号表示)。
【问题3】(5分)
考虑数据序列R=(7,10,13,15,4,20,19,8),n=8,则构建的初始大
顶堆为(6),
第一个元素脱离堆结构,对剩余元素再调整成大顶堆后的数组R为(7)。 【参考答案】
【问题1】
(1)
R[i]<R[i]
(2)Heapify(R,I,n)
(3)i>1
(4)R[1]=R[0]
【问题2】
(5)O(nlog2n)
【问题3】
(6)(20,15,19,10,4,13,7,8)
(7)(19,15,
·7,
·0,4,13,8)

 

 

试题五
阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
Facade(外观)模式是一种通过为多个复杂子系统提供一个一致的接口,而使这些子系统更加容易被访问的模
式。以医院为例,就医时患者需要与医院不同的职能部门交互,完成挂号、门诊、取药等操作。为简化就医流程,
设置了一个接待员的职位,代患者完成上述就医步骤,患者则只需与接待员交互即可。如5-1给出了以外观模式实
现该场景的类图。

【Java 代码】 

 

(1)String getName()
(2)void dispose(Patient patient)
(3)new ConcretePatient(“”)
(4)Façade
(5)new Facade(patient)
(6)f.dispose()

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17707.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA9新特性

JAVA9新特性 概述 ​ 经过4次推迟,历经曲折的Java9最终在2017年9月21日发布。因为里面加入的模块化系统,在最初设想的时候并没有想过那么复杂,花费的时间超出预估时间。距离java8大约三年时间。 ​ Java 9提供了超过150项新功能特性&#x…

三个令人惊艳超有用的 ChatGPT 项目,开源了!

自 3 月初 Open AI 开放 ChatGPT API 以来,GitHub 上诞生的开源项目数量之多,着实多得让我眼花缭乱、应接不暇。 今天,我将着重挑选几个对日常工作、生活、学习帮助较大的 ChatGPT 开源项目,跟大家分享下,希望对你有所…

使用eclipse创建一个图书管理系统(1)-----搭建架构

目录 思维导图: 图书管理系统的创建: 第一步:搭建框架-------使用者 第二步:搭建框架------被使用者 第三步:操作方法 第四步:main函数 思维导图: 前言: 昨天学了一下使用Java…

games103——作业2

实验二主要使用隐式积分法以及PBD法完成布料仿真 完整项目已上传至github。 文章目录 基于物理的方法弹簧系统单个弹簧多个弹簧弹簧网络结构化弹簧网络(Structured Spring Networks)非结构化弹簧网络(Unstructured Spring Networks)三角网格表示 代码 求解质量弹簧系统的显示积…

(别再手动点APP了)UiAutomator2自动化测试框架带你玩转APP操作

目录 前言 一、uiautomator/uiautomator2的前生今世 1.官方文档介绍 2.梳理一下脉络 3.三款框架对比 二、uiautomator2简介 1.项目组成 2.工作原理 三、环境搭建 1.安装uiautomator2 2.初始化设备 3.init时都干了啥? 四、基础操作 1.连接设备 2.命令…

Python——函数

概念 函数是一段具有特定功能,可重复使用的代码,python提供了很多内置函数,如:print(),input(),len()函数等,以及标准库函数,math库中的sqrt()函数等,除此之外用户还可以…

Hive3面试基础

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、基本知识Hive31.表的类型和表的存储格式a)b)c)创建表i)ii) 2.表 二、使用步骤1.引入库2.读入数据 总结 前言 面试准备之Hive 回顾…

设计模式之适配器模式

目录 1、什么是适配器模式 2、为什么用适配器模式 3、适配器模式的结构 4、类适配器模式代码实现 4.1 思想 4.2 代码实现 4.3 问题分析 5、对象适配器模式代码实现 5.1 思想 5.2 代码实现 6、适配器模式应用场景 1、什么是适配器模式 适配器模式(Adapter…

19. Unity - 2D游戏开发小记02 --- 伪透视图、2D物体碰撞、瓦片地图碰撞、素材缩放平铺

1. 伪视图 在2D游戏开发当中,当角色移动时,会发生物体与物体之间的前后遮挡。2D视图中的前后关系是由 Y 轴决定,y 值越小物体越靠前。unity的渲染应开启根据 y 值的大小进行渲染才能保证正确的遮挡效果,在菜单栏Editor–>project setting --> Graphic中按照下图方式…

C++三大特性—继承“复杂的菱形继承及菱形虚拟继承”

C的一个大坑:菱形继承 希望这篇文章能让你理解什么是菱形继承,以及菱形继承的注意事项 单继承与多继承 单继承:一个子类只有一个直接父类时称这个继承关系为单继承 多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承…

凌恩生物美文分享|HGTree v2.0:水平基因转移数据库

水平基因转移(HGT)是指遗传物在物种间从一个相邻生物体到另一个生物体横向传递,是原核生物遗传变异的重要过程。HGT是负责塑造原核生物基因组和在自然选择中生存的驱动力之一,对原核生物的进化有很大贡献,但它会使物种进化史复杂化&#xff0…

【Linux】进程信号保存

前言 上篇博客我们了解了进程信号的概念和信号如何产生。 本篇我们将学习进程信号如何保存。 文章目录 前言一. 阻塞信号二. 递达动作三. 信号集四. 信号集操作函数结束语 一. 阻塞信号 首先我们需要一些预备知识 实际执行信号的处理动作称为信号递达(Delivery&am…

数字图像处理-绪论

数字图像处理-绪论 文章目录 前言一、闲谈二、什么是数字图像处理?2.1. 什么是数字图像?2.1.1. 可见光图像2.1.2. 不可见光图像 2.2. 什么是数字图像处理? 三、数字图像处理的前世今生3.1. 数字图像处理的前世3.2. 数字图像处理的今生 四、数…

【嵌入式系统】课程复习资料整理

【嵌入式系统】课程复习资料整理 一、绪论 1.定义 从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件&a…

使用crontab定时自动更新DDNS

需求说明: N1盒子的armbian系统配置好了 ipv6 的ddns,实现了域名访问本机,但是本地ipv6可能会发生变化,当发生变化后,需要手动执行指令,将新的ip与域名绑定,现在我们采用定时任务,每…

Nuvoton NK-980IOT开发板 u-boot 编译

前言 最近搭建了 Nuvoton NK-980IOT开发板 的开发编译环境,记录一下 u-boot 的 编译流程 Nuvoton NK-980IOT开发板 资源还是比较的丰富的,可以用于 嵌入式Linux 或者 RT-Thread 的学习开发 开发板上电比较的容易,两根 USB 线即可&#xff0…

计网笔记 01 概述 计算机网络体系结构、参考模型

文章目录 前言1、计网概述1.1 概念、组成、功能、分类1.1.1 概念1.1.2 计网组成1.1.2 计网分类 1.2 标准化工作及相关组织1.2.1 标准的分类 1.3 性能指标★★★1.3.1 速率相关性能指标1.3.2 时延相关指标 2、体系结构&参考模型★★★★★(对应王道视频7-10p 相当…

Android Jetpack:利用Palette进行图片取色

与产品MM那些事 新来一个产品MM,因为比较平,我们就叫她A妹吧。A妹来第一天就指出:页面顶部的Banner广告位的背景是白色的,太单调啦,人家不喜欢啦,需要根据广告图片的内容自动切换背景颜色,颜色…

基于CUDA的GPU计算PI值

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 基于CUDA的GPU计算PI值。本项目使用CUDA编程模型并行计算PI值,研究GPU与CPU效率的比较,分析不同GPU线程分块对性能的影响。 异构计算试验报告 —实验1:基于CUDA的GPU计算PI值 第一部分&…

JS逆向 -- 某平台登录加密分析

一、打开网站,使用账号密码登录 账号:aiyou123.com 密码:123456 二、通过F12抓包,抓到如下数据,发现密码加密了 三、加密结果是32位,首先考虑是md5加密。 四、全局搜索pwd,点击右上角&#xf…