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

上传人:b****4 文档编号:1033977 上传时间:2022-10-15 格式:DOCX 页数:14 大小:216.21KB
下载 相关 举报
下半年软件设计师考试真题及答案下午卷.docx_第1页
第1页 / 共14页
下半年软件设计师考试真题及答案下午卷.docx_第2页
第2页 / 共14页
下半年软件设计师考试真题及答案下午卷.docx_第3页
第3页 / 共14页
下半年软件设计师考试真题及答案下午卷.docx_第4页
第4页 / 共14页
下半年软件设计师考试真题及答案下午卷.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

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

《下半年软件设计师考试真题及答案下午卷.docx》由会员分享,可在线阅读,更多相关《下半年软件设计师考试真题及答案下午卷.docx(14页珍藏版)》请在冰豆网上搜索。

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

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

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

试题一

阅读以下说明和图,答复以下问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某公司拟开发一个共享单车系统,采用北斗定位系统进展单车定位,提供针对用户的APP以及微信小程序、基于Web的管理与监控系统。

该共享单车系统的主要功能如下。

1〕用户注册登录。

用户在APP端输入手机号并获取验证码后进展注册,将用户信息进展存储。

用户登录后显示用户所在位置周围的单车。

2〕使用单车。

①扫码/于动开锁。

通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令进展开锁,系统修改单车状态,新建单车行程。

②骑行单车。

单车定时上传位置,更新行程。

③锁车结账。

用户停顿使用或手动锁车并完毕行程后,系统根据己设置好的计费规那么及使用时间自动结算,更新本次骑行的费用并显示给用户,用户确认支付后,记录行程的支付状态。

系统还将重置单车的开锁密码和单车状态。

3〕辅助管理。

①查询。

用户可以查看行程列表和行程详细信息。

②报修。

用户上报所在位置或单车位置以及单车故障信息并进展记录。

4〕管理与监控。

①单车管理及计费规那么设置。

商家对单车根底信息、状态等进展管理,对计费规那么进展设置并存储。

②单车监控。

对单车、故障、行程等进展查询统计。

③用户管理。

管理用户信用与状态信息,对用户进展查询统计。

现采用构造化方法对共享单车系统进展分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】〔3分〕

使用说明中的词语,给出图1-1中的实体El~E3的名称。

E1:

用户

E2:

商家

E3:

单车

【问题2】〔5分〕

使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

D1:

存储用户信息

D2:

记录单车位置及状态信息

D3:

记录单车行程信息

D4:

存储计费规那么

D5:

记录单车故障信息

【问题3】〔5分〕

根据说明和图中术语及符号,补充图1-2中缺失的数据流及其起点和终点.

起点:

p3终点:

E1数据流名称:

开锁密码

起点:

p3终点:

E1数据流名称:

费用

起点:

p3终点:

E3数据流名称:

开锁指令

起点:

p3终点:

D2数据流名称:

单车状态

起点:

D4终点:

P3数据流名称:

计费规那么

起点:

D3终点:

P7数据流名称:

行程信息

【问题4】〔2分〕

根据说明中术语,说明"使用单车"可以分解为哪些子加工?

扫码/手动开锁,骑行单车,锁车结帐

试题二

阅读以下说明,答复以下问题1至4问题,将解答填入答题纸的对应栏内。

【说明】

M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议筹划系统。

【需求分析结果】

该系统的局部功能及初步需求分析的结果如下:

〔1〕M公司旗下有业务部、筹划部和其他部门。

部门信息包括部门号、部门名、主管、联系和邮箱号;每个部门只有一名主管,只负责管理本部门的工作,且主管参照员工关系的员工号;一个部门有多名员工,每名员工属于且仅属于一个部门。

〔2〕员工信息包括员工号、姓名、职位、联系方式和薪资。

职位包括主管、业务员、筹划员等。

业务员负责受理用户申请,设置受理标志。

一名业务员可以受理多个用户申请,但一个用户申请只能由一名业务员受理。

〔3〕用户信息包括用户号、用户名、银行账号、、。

用户号唯一标识用户信息中的每一个元组。

〔4〕用户申请信息包括申请号、用户号、会议日期、天数、参会人数、地点、预算和受理标志。

申请号唯一标识用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只对应一个用户号。

〔5〕筹划部主管为己受理的用户申请制定会议筹划任务。

筹划任务包括申请号、任务明细和要求完成时间.申请号唯一标识筹划任务的每一个元组。

一个筹划任务只对应一个已受理的用户申请,但一个筹划任务可由多名筹划员参与执行,且一名筹划员可以参与执行,且在项筹划任务。

【概念模型设计】

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

【关系模型设计】

部门〔部门和,部门名,部门主管,联系,邮箱号〕

员工〔员工号,姓名,〔〕,联系方式,薪资〕

用户〔用户名,〔〕,,〕

用户申请〔申请号,用户号,会议日期,天数,参会人数,地点,受理标志,〔〕〕

执行〔申请号,任务明细,〔〕〕

【问题1】〔5分〕

根据问题描述,补充五个联系,完善图2-1的实体联系图。

联系名可用联系1、联系2、联系3、联系4和联系5,联系的类型为1:

1、1:

n和m:

n〔或1:

1、1:

*和*:

*〕。

1.联系1:

部门和员工,1:

n

2.联系2:

业务员和用户申请,1:

n

3.联系3:

用户和用户申请,1:

n

4.联系4:

筹划员和筹划任务,n:

m

5.联系5:

筹划任务和用户申请,1:

1

【问题2】〔4分〕

根据题意,将关系模型中的空〔a〕~〔d〕补充完整,并填入答题纸对应的位置上。

a.职位,部门号

b.用户名,银行帐号

c.预算费用,业务员(员工号)

d.要求完成时间

【问题3】〔4分〕

给出“用户申请〞和“筹划任务〞关系模式的主键和外键。

用户申请:

主键:

申请号外键:

用户号,业务员

筹划任务:

主键:

申请号外键:

申请号

【问题4】〔2分〕

请问“执行〞关系模式的主键为全码的说法正确吗?

为什么?

不正确。

All-key关系模型的所有属性组组成该关系模式的候选码,称为全码。

即所有属性当作一个码。

假设关系中只有一个候选码,且这个候选码中包含全部属性,那么该候选码为全码。

实际完成时间和用户评价为非主属性。

试题三

阅读以下说明,答复以下问题1至问题3,将解答填入答题纸的对应栏内。

【说明】

某大学拟开发一个用于管理学术出版物〔Publication〕的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。

系统的主要功能如下:

1.登录系统。

系统的用户〔User〕仅限于该大学的学生〔Student〕、教师〔Faculty〕和其他工作人员〔Staff〕。

在访问系统之前,用户必须使用其校园账户和密码登录系统。

2.查询某位作者〔Author〕的所有出版物。

系统中保存了会议文章〔ConfPaper〕、期刊文章〔JurnalArticle〕和校内技术报告〔TechReport〕等学术出版物的信息,如题目、作者以及出版年份等。

除此之外,系统还存储了不同类型出版物的一些特有信息;

〔1〕对于会议文章,系统还记录了会议名称、召开时间以及召开地点;

〔2〕对于期刊文章,系统还记录了期刊名称、出版月份、期号以及主办单位;

〔3〕对于校内技术报告,系统记录了由学校分配的唯一ID。

3.查询指定会议集〔Proceedings〕或某个期刊特定期〔Edition〕的所有文章。

会议集包含了发表在该会议〔在某个特定时间段、特定地点召开〕上的所有文章。

期刊的每一期在特定时间发行,其中包含假设干篇文章。

4.下载出版物。

系统记录每个出版物被下载的次数。

5.查询引用了某篇出版物的所有出版物。

在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的现象。

用户也可以在系统中为某篇出版物注册引用通知,假设有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。

现在采用面向对象方法对该系统进展开发,得到系统的初始设计类图如图3-1所示。

【问题1】〔9分〕

根据说明中的描述,给出图3-1中C1~C9所对应的类名。

C1:

Object

C2:

User

C3:

Student

C4:

Faculty

C5:

Staff

C6:

Publication

C7:

ConfPaper

C8:

JournalArticle

C9:

TechReport

 

【问题1】〔4分〕

根据说明中的描述,给出图3-1中类C6~C9的属性。

C6:

题目,作者,出版年份

C7:

会议名称,召开时间,召开地点

C8:

期刊名称,出版月份,期号,主办单位

C9:

ID

【问题3】〔2分〕

图3-1中包含了哪种设计模式?

实现的是该系统的哪个功能?

观察者模式,实现:

引用他人学术出版物发送电子邮件通知该用户。

 

试题四

阅读以下说明和C代码,答复以下问题1至问题2,将解答写在答题纸的对应栏内。

【说明】

一个无向连通图G点上的哈密尔顿〔Hamiltion〕回路是指从图G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该顶点的路劲。

一种求解无向图上哈密尔顿回路算法的根底私下如下:

假设图G存在一个从顶点V0出发的哈密尔顿回路V1——V2——V3——...——Vn-1——V0。

算法从顶点V0出发,访问该顶点的一个未被访问的邻接顶点V1,接着从顶点V1出发,访问V1一个未被访问的邻接顶点V2,..。

;对顶点Vi,重复进展以下操作:

访问Vi的一个未被访问的邻接接点Vi+1;假设Vi的所有邻接顶点均已被访问,那么返回到顶点Vi-1,考虑Vi-1的下一个未被访问的邻接顶点,仍记为Vi;知道找到一条哈密尔顿回路或者找不到哈密尔顿回路,算法完毕。

【C代码】

下面是算法的C语言实现。

〔1〕常量和变量说明

n:

图G中的顶点数

c[][]:

图G的邻接矩阵

K:

统计变量,当期已经访问的定点数为k+1

x[k]:

第k个访问的顶点编号,从0开场

Visited[x[k]]:

第k个顶点的访问标志,0表示未访问,1表示已访问

〔2〕C程序

#include

#include

#defineMAX100

VidoHamilton〔intn,intx[MAX,intc[MAX][MAX]〕{

int;

intvisited[MAX];

intk;

/*初始化x数组贺visited数组*/

for〔i=0:

i

x[i]=0;

visited[i]=0;

/*访问起始顶点*/

k=0

〔〕;

x[0]=0

K=k+1

/*访问其他顶点*/

while〔k>=0〕{

x[k]=x[k]+1;

while〔x[k]>

if〔〕&&c[x-[k-1]][x[k]=1〕{/*邻接顶点x[k]未被访问过*/

break;

}else{

x[k]=x[k]+1

if〔x[k]

for〔k=0;k

prinf〔〝%d--〝,x[k];/*输出哈密尔顿回路*/

prinf〔〝%d--〝,x[0];

return;

}elseifx[k]

〔〕

k=k+1;

}else{/*没有未被访问过的邻接顶点,回退到上一个顶点*/

x[k]=0;

visitedx[k]=0;

〔〕;

【问题1】〔10分〕

根据题干说明。

填充C代码中的空〔1〕~〔5〕.

1、visited[0]=1

2、visited[x[k]]==0

3、c[x[0]][x[k]]

4、visited[x[k]]=1

5、k=k-1

【问题2】〔5分〕

根据题干说明和C代码,算法采用的设计谋略为〔6〕,该方法在遍历图的顶点时,采用的是〔7〕方法〔深度优先或广度优先〕。

6、回溯法

7、深度优先

 

试题五

阅读以下说明和C++代码,将应填入〔〕处的字句写在答题纸的对应栏内。

【说明】

某图像预览程序要求能够查看BMP、J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1