【软考中级】2022下半年软件设计师案例分析题级答案

news2024/11/15 21:02:48
试题一(共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()

 

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ-保证消息可靠性

RabbitMQ-保证消息可靠性 1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback 1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化 1.3.消费者消息确认1.3.1.演示none模式1.3.2.演示auto模式 1.4.消费失败重试机制1.…

API接口的应用

一、API接口的应用 API(Application Programming Interface,应用程序编程接口)接口在现代计算机科学中是一个非常重要的概念。API接口允许不同的应用程序、设备和服务进行交流、互操作和数据共享。下面我们将针对API接口的应用方向和场景进行…

计算机网络笔记:计算机网络体系结构(OSI七层模型、TCP/IP五层协议)

计算机网络体系结构 计算机网络是一个复杂的、具有综合性技术的系统,它由计算机系统、通信处理机、通信线路和通信设备、操作系统以及网络协议等组成。为了更好地描述计算机网络结构,使计算机网络系统有条不紊地处理工作,需要定义一种较好的…

Python中如何使用os模块和shutil模块处理文件和文件夹

os和shutil都是Python标准库中用于处理文件和文件夹的模块,它们都提供了许多常用的文件和文件夹操作功能,但是它们的使用场景和优势有所不同。 os模块提供了许多操作系统相关的功能,例如打开文件、读取文件、获取文件属性、创建目录、删除文件…

阿里云服务器ECS上安装Redis数据库流程by Alibaba Cloud Linux

阿里云服务器操作系统Alibaba Cloud Linux 2针对Redis应用进行了专项调优,相比社区版操作系统,Redis应用整体性能提升20%以上。Alibaba Cloud Linux 2内置Redis 6.0.5和Redis 3.2.12的yum源,执行sudo yum install命令即可部署Redis 6.0.5和Re…

【Redis—哨兵机制】

概念 当进行主从复制时,如果主节点挂掉了,那么没有主节点来服务客户端的写操作请求了,也没有主节点给从节点进行数据同步了。此时需要进行主从切换(主从节点故障转移),Redis在 2.8 版本以后提供的哨兵&…

海外新闻稿:如何写好英语新闻稿的开头与结尾?

随着全球化的发展,英语已成为一种全球性的语言。在现代社会,英语新闻稿已经成为了各个行业重要的宣传方式。然而,如何写好英语新闻稿的开头与结尾却是一门很深的学问。在本文中,我们将探讨如何写出一个成功的英语新闻稿开头和结尾…

一个前端大佬的十年回顾 | 漫画前端的前世今生

作者:京东科技 胡骏 引言 岁月如梭,十载流年 前端技术,蓬勃向前 HTML,CSS,JavaScript 演绎出璀璨夺目的技术画卷 回到十年前,前端技术就像一名戴着厚重眼镜的书呆子,总是小心翼翼&#xff…

vue 使用 threejs 实现实景看房效果 demo

vue 使用 threejs 实现实景看房效果 demo 关于这个 threejs 实现 VR 看房效果也超级简单,只需要提供一个思路的话就可以了其实,首先需要一个房间结构的贴图,这个贴图网上有,当然找个合适的也不好找,我找了一上午在别人…

大模型商业的搅局者?除了谷歌和微软,你可能忘记了它!

夕小瑶科技说 原创 作者 | 小戏、iven 大模型的商业大戏愈发精彩了,这边是谷歌和 OpenAI 剑拔弩张军备竞赛,那边是各路豪强的大模型应用雪花般的涌来,你方唱罢我登场。 而在这串作为大模型先行者而出现的公司以及研究院的名字中,…

6WINDGate-whitepaper

6WINDGate Witerpaper Author:Once Day Date:2023年4月29日 本文是对6WIND官网文档的整理和翻译,仅供学习和研究之用,原始文章可参考下面文档: 6WINDGate Documentation - 6WIND6WINDGate Modules — 6WINDGate Mod…

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 3 (人工神经网络)

万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 1 万字长文 - Nature 综述系列 - 给生物学家的机器学习指南 2 (传统机器学习方法如何选择) 人工神经网络 人工神经网络模型得名于这样一个事实,即所拟合的数学模型的形式受到大脑中神…

一个新的ubuntu

1 安装cmake 方法一:现成的教程 ubuntu安装cmake_yuanzhoulvpi的博客-CSDN博客 方法二:自己总结的 安装openssl系统:sudo apt-get install libssl-dev 安装:sudo apt-get install build-essential 以上是防止安装cmake时缺少文…

Ubuntu零基础安装

Ubuntu零基础安装 首先我们需要安装VM,再安装ubuntu。 1、安装VM 进入VM官网 VM官网地址 选择下载试用版 下载Windows版本 下载完成后,点击安装包进行安装 至此就安装完毕了。 桌面会出现VM的图标。 点击打开,弹出如下画面: …

基于Springboot的旅游网管理系统后台

目录 一. 🦁 研究背景及意义二. 🦁 技术栈系列及主要功能Ⅰ. 技术栈Ⅱ. 主要功能 三. 🦁 项目搭建Ⅰ. 后端模块Ⅱ. 前端模块 四. 🦁 主要实现过程Ⅰ. 认证和授权1. SpringSecurity配置类2. 自定义逻辑认证 Ⅱ. 富文本编辑器——wa…

边无际CEO陈永立:让ChatGPT通过物联网看到世界

如何利用ChatGPT及其插件,将AI与物联网设备相连? 通过Shifu Plugin获取摄像头的实时画面 我们都认识到,ChatGPT引发了一连串的技术变革。作为一个对AI和物联网技术充满热情的开发者,获得ChatGPT插件的早期访问权限,是…

Table 表格 + Pagination 分页

<el-table>属性 v-loading 加载动画 data 显示的数据 border 是否带有纵向边框 fit 列的宽度是否自撑开 highlight-current-row 是否要高亮当前行 row-style 行的 style 的回调方法&#xff0c;也可以使用一个固定的 Object 为所有行设置一样的 Style…

Android - 深色主题

一、简介 我们一直以来使用的操作系统都是以浅色主题为主的&#xff0c;这种主题模式在白天或者是光线充足的 情况下使用起来没有任何问题&#xff0c;可是在夜晚灯光关闭的情况下使用就会显得非常刺眼。 于是&#xff0c;许多应用程序为了能够让用户在光线昏暗的环境下更加舒…

mysql使用innodb引擎,请简述mysql索引的最左前缀如何优化orderby语句。

关键点 如果排序字段不在索引列上&#xff0c;filesort有两种算法&#xff1a; mysql就要启动双路排序和单路排序无过滤不索引order by非最左 filesort顺序错 filesort方向反 filesort 答案 首先要对sql进行分析检查必要的查询字段&#xff0c;过滤字段&#xff0c;排序字段…

JeecgBoot免费低代码平台—多租户SAAS解决方案

JeecgBoot免费低代码平台&#xff0c;提供一键切换多租户模式机制&#xff01;快速实现全系统的saas租户方案&#xff0c;通过租户ID进行数据隔离。 租户设计思路 1、开启全系统租户隔离 开启方法 将 org.jeecg.config.mybatis.MybatisPlusSaasConfig#OPEN_SYSTEM_TENANT_CO…