试题一

随着新能源车数量的迅猛增长,全国各地电动汽车配套充电桩急速增长,同时也带来了充电桩计量准确性的问题。充电桩都需要配备相应的电能计量和电费计费功能,需要对充电计量准确性强制进行检定。现需开发计量检定云端软件,其主要功能是:

(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分)
根据说明,给出"充电监测与计量数据"数据流的组成。

参考答案:

试题二(共15分)

某营销公司为了便于对各地的分公司及专卖店进行管理,拟开发一套业务管理系统,请根据下述需求描述完成该系统的数据库设计。

需求描述

(1) 分公司信息包括:分公司编号、分公司名、地址和电话。其中,分公司编号唯一确定分公司关系的每一个元组。每个分公司拥有多家专卖店,每家专卖店只属于一个分公司。

(2) 专卖店信息包括:专卖店号、专卖店名、店长、分公司编号、地址、电话,其中店号唯一确定专卖店关系中的每一个元组。每家专卖店只有一名店长,负责专卖店的各项业务:每名店长只负责一家专卖店:每家专卖店有多名职员,每名职员只属于一家专卖店。

(3)职员信息包括:职员号、职员名、专卖店号、岗位、电话、薪资。其中,职员号唯一标识职员关系中的每一个元组。岗位有店长、营业员等。

概念模型设计

根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。

逻辑结构设计

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):

分公司(分公司编号,分公司名,地址,电话)
专卖店(专卖店号,专卖店名, (  a  ),地址,电话)
职员(职员号,职员名, (  b  ),岗位,电话,薪资)
问题1 (6分)

根据需求描述,图2-1实体联系图中缺少三个联系。请在答题纸对应的实体联系图中补充三个联系及联系类型。

注:联系名可用联系1、联系2、联系3,也可根据你对题意的理解取联系名。

问题2 (6分)

(1)将关系模式中的空(  a  )、(  b  )的属性补充完整,并填入答题纸对应的位置上。

(2)专卖店关系的主键:(  c  ) 和外键:(  d  )。

职员关系的主键:(  e  ) 和外键:(  f  )。

问题3 (3分)

(1)为了在紧急情况发生时,能及时联系到职员的家人,专卖店要求每位职员至少要填写位紧急联系人的姓名、与本人关系和联系电话。根据这种情况,在用2-1中还需添加的实体是(  g  ),职员关系与该实体的联系类型为(  h  )。

(2)给出该实体的关系模式。

参考答案:

【问题1】(6分)

【问题2】(6分)
(1)(a)分公司编号,职员号 (b)专卖店号
(2)(c)专卖店号 (d)职员号,分公司编号 (e)职员号 (f)专卖店号

【问题3】(3 分)
(1)(g)紧急联系人 (h)1对多(或1: n)
(2)紧急联系人(职员号,紧急联系人姓名,与本人关系,联系电话)

试题三(共15分)

图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(4分)
U1:显示温度
U2:显示华氏度
U3∶温度计显示
U4∶自动单位换算

问题2(8分)
C1: TemperatureCovertorDialog
C2: FahrenheitEditBox C3: CelsiusEditBox C4: TemperatureBar(C2-c4可互换)
C5: FahrenheitRaise C6:FahrenheitLower C7:CelsiusRaisec8: CelsiusLower (C5~C8可互换)

问题3(3分)
策略模式。
策略模式就是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。正好符合题目的要求,实现任意计量单位间的换算。策略模式使得算法可独立于使用它的客户而变化。

试题四(共15分)

排序是将一组无序的数据元素调整为非递减顺序的数据序列的过程,堆排序是一种常用的排序算法。用顺序存储结构存储堆中元素。非递减堆排序的步骤是:

(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)代码

#include<stdio.h>
#define MAXITEM 100/*调整堆
R:待排序数组;
v:节点编号,以v为根的二叉树,R[v]>=R[2v],R[v]>=R[2v+1],且其左子树和右子树都是大顶堆
n:堆结构的规模,即堆中的元素数
*/void Heapify(int R[MAXITEM],int v,int n){int i,j;i=v;j=2*i;R[0]=R[i];while(j<=n){if(j<n&&R[j]<R[j+1]){j++;}if(R[i]<R[j]){//填空1 R[i]=R[j]; i=j;j=2*i;}else{j=n+1;}}R[i]=R[0];
}/*堆排序,R为待排序数组,n为数组大小*/
void HeapSort(int R[MAXITEM],int n){int i;for(i=n/2;i>=1;i--){Heapify(R,i,n);//填空2 }for(i=n;i>1;i--){//填空3R[0]=R[i];R[i]=R[1];R[1]=R[0];//填空4Heapify(R,1,i-1);}
}

问题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 )。

试题六(共15分)

阅读下列说明和JAVA代码,将应填入(n)处的字句写在答题纸的对应栏内。

Facade(外观)模式是一种通过为多个复杂子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式,以医院为例,就医时患者需要与医院不同的职能部门交互,完成挂号、门诊、取药等操作。为简化就医流程,设置了一个接待员的职位,代患者完成上述就医步骤,患者则只需与接待员交互即可。如图6-1给出了以外观模式实现该场景的类图。

package test_2022_2;interface Patient{public abstract String getName();//填空1
}interface Disposer{public abstract void dispose(Patient patient);//填空2
}class Resgistry implements Disposer{public void dispose(Patient patient){System.out.println("I am registering..."+patient.getName());}
}class Doctor implements Disposer{//医生门诊public void dispose(Patient patient){System.out.println("I am diagnosing..."+patient.getName());}
}class Pharmacy implements Disposer{//取药public void dispose(Patient patient){System.out.println("I am medicine..."+patient.getName());}
}class Facade{private Patient patient;public Facade(Patient patient) {this.patient = patient;}public void dispose(){Resgistry resgistry=new Resgistry();Doctor doctor= new Doctor();Pharmacy ph=new Pharmacy();resgistry.dispose(patient);doctor.dispose(patient);ph.dispose(patient);}
}class ConcretePatient implements Patient{private String name;public ConcretePatient(String name) {this.name = name;}public String getName(){return name;}
}public class PatientTest {public static void main(String[] args) {Patient patient = new ConcretePatient("name");//填空3Facade f = new Facade(patient);//填空4、5f.dispose();//填空6}
}
//输出
//        I am registering...name
//        I am diagnosing...name
//        I am medicine...name

2022年下半年软件设计师下午试题相关推荐

  1. 2020年下半年软件设计师下午试题

    [试题一]工厂智能缺陷检测系统的数据流图 某工厂制造企业为了开发软件智能检测以有效提升检测效率,节约人力资源,该系统的主要功能是: (1 )基础信息管理.管理员对检测标准和检测规则等基础信息设置. ( ...

  2. 2019年下半年软件设计师下午试题

    [试题一] 1.二手车物流系统的数据流图 阅读下列说明和图,回答问题1至问题4. [说明] 某公司欲开发一款二手车物流系统,以有效提升物流成交效率.该系统的主要功能是: (1)订单管理:系统抓取线索, ...

  3. 2016年下半年软件设计师下午试题

    试题一 [说明] 某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下: (1)开户.根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等 ...

  4. 2022年下半年网络规划设计师下午真题及答案解析

    试题一(25分) 某高校两个校区相距30公里,通过互联网相连.两校区网络相互独立,并采用两套认证系统,管理维护较繁琐. 现需要对校园网进行升级改造,将老校区网络作为一个子网通过线路A接入到新校区,与新 ...

  5. 2022年下半年软件设计师上午真题及答案解析

    1.以下关于RISC(精简指令集计算机)特点的叙述中,错误的是(  ). A.对存储器操作进行限制,使控制简单化 B.指令种类多,指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令,提 ...

  6. 2020年下半年软件设计师下午真题试题(案例分析)及答案

    2020年下半年软件设计师上午真题及答案解析 目录 1.工厂智能缺陷检测系统的数据流图 2.M集团业务管理需求的数据库设计 3.房产信息管理系统的用例图 4.希尔排序算法 5.在线支付(Java) 1 ...

  7. 2022年下半年软件设计师考试报名时间

    软件设计师下半年软考报名时间是8月开始! 软件设计师及所有职称每年的考试时间: 考试题型: 考试题型和考前注意事项需要有一个基本的了解.看你自己需要报考的是什么科目,清楚自己对知识点的掌握程度,没有完 ...

  8. 2022年下半年软件设计师考试上午真题(专业解析+参考答案)

    题目:以下关于RISC(精简指令集计算机)特点的叙述中,错误的是(  ).  选项:[{"A":"对存储器操作进行限制,使控制简单化","B" ...

  9. 全国计算机技术与软件专业技术资格(水平)考试2022 年下半年网络规划设计师下午试卷Ⅰ

    试题一: 案例一  某单位网站受到攻击,首页被非法篡改.经安全专业机构调查,该网站有一个两年前被人非法 上传的后门程序,本次攻击就是因为其他攻击者发现该后门程序并利用其实施非法篡改. 案例二  网站管 ...

最新文章

  1. linux安装主从mysql,mysql8.0安装以及主从复制搭建(linux)
  2. 全球及中国苯基异丙基聚二甲基硅氧烷市场需求调查与竞争格局策略报告2022版
  3. SpringBoot中定时任务与异步定时任务的实现
  4. ASP.NET MVC Music Store教程(2):控制器
  5. 数据库与表的操作之SQL Server 2012中的数据类型
  6. php 之将图片转换base64编码(为百度ocr作准备,解决 image format error)
  7. HDOJ-2095 Find your present (2) / NYOJ-528 找球号(三)
  8. Socket网络编程进阶与实战
  9. 分步图解分析排序方法-冒泡排序
  10. 【gradle exclude冲突依赖】
  11. 蓝桥杯 图形排版
  12. 与激光雷达死磕的毫米波雷达,除了无人驾驶还有更多归宿
  13. pandas自动化实战小任务1--对excel表格分 供应商 付款年月 进行汇总(涉及根据即有相同也有不同的index的表格合并)公司的数据
  14. 计算机平均数函数试题,计算机期末Excel表格题及二级考试常用函数
  15. 埃森哲java转sfdc_【SFDC salesforce职责】2021年埃森哲SFDC salesforce岗位职责-看准网...
  16. 独享带宽和共享带宽的区别
  17. AT1219 [JOI2013]歴史の研究
  18. 数据中台的API网关替换传统的ESB总线可行性分析
  19. 【物理应用】基于Matlab模拟高精度轨道传播器
  20. WALT负载统计原理

热门文章

  1. 断电,maven报:only whitespace content allowed before start tag and not \u0 ,,你妹
  2. Cortex-A7中断详解(三)
  3. session.removeAttribute(“ “)和session.invalidate()的区别
  4. 11.4 实施定量风险分析
  5. xctf-Ph0en1x-100
  6. Python AutoCAD 设置
  7. 算法训练ALGO(一)
  8. 空间想象力差学计算机,本人空间想象力特别差,学工程制图特别痛苦。有什么方法可以帮助提高啊?...
  9. Jackson将json字符串转换成泛型List/map
  10. 应届生去公司找个Java程序员的职位需要什么技能?