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

您所在的位置:网站首页 案例分析答案软件 2021年上半年软件设计师下午真题试题(案例分析)及答案

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

2024-07-11 14:16| 来源: 网络整理| 查看: 265

2021年上半年软件设计师上午真题及答案解析

目录

1.停车系统的数据流图

2.社区蔬菜团购网站的数据库设计

3.线上抓药APP的用例图、类图

4.凸多边形

5.层叠菜单(Java)

1.停车系统的数据流图

试题一(共15分) 某停车场运营方为了降低运营成本,减员增效,提供良好的停车体验,欲开发无人值守停车系统,该系统的主要功能是:

1.信息维护。管理人员对车位(总数、空余车位数等)计费规则等基础信息进行设置。

2.会员注册。车主提供手机号、车牌号等信息进行注册,提交充值信息(等级、绑定并授权支付系统进行充值或交费的支付账号)不同级别和充值额度享受不同停车折扣点。

3.车牌识别。当车辆进入停车场时,若有(空余车位数大于1), 自动识别车牌号后进行道闸控制,当车主开车离开停车场时,识别车牌号,计费成功后,请求道闸控制。

4.计费。更新车辆离场时间,根据计费规则计算出停车费用,若车主是会员,提示停车费用:若储存余额够本次停车费用,自动扣费,更新余额,若储值余额不足,自动使用授权缴费账号请求支付系统进行支付,获取支付状态。若非会员临时停车,提示停车费用,车主通过扫描费用信息中的支付码调用支付系统自助交费,获取支付状态。

5.道闸控制。根据道闸控制请求向道闸控制系统发送放行指令和接收道闸执行状态。若道闸执行状态为正常放行时,对入场车辆,将车牌号及其入场时间信息存入停车记录,修改空余车位数;对出场车辆更新停车状态,修改空余车位数。当因道闸重置系统出现问题(断网断电或是故障为抬杠等情况),而无法在规定的时间内接收到其返回的执行状态正常放行时,系统向管理人员发送异常告警信息,之后管理人员安排故障排查处理,确保车辆有序出入停车场。

现采用结构化方法对无人值守停车系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

 【问题1】(5分)使用说明中的词语,给出图1-1中的实体E1-E5的名称。

E1:车辆;E2:车主;E3:支付系统;E4:管理人员;E5:道闸控制系统【问题2】(3分)使用说明中的词语,给出图1-2中的数据存储D1-D3的名称。

D1:停车记录表;D2:会员信息表;D3:基础信息表【问题3】(4分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。

序号

名称

起点和终点

1

计费规则信息

D3--P3

2

道闸控制请求

P1--P5

3

更新车位信息

P5-D3

4

更新余额

P3--D2

【问题4】(3分)根据说明,采用结构化语言对“道闸控制”的加工逻辑进行描述。

“道闸控制”加工过程

IF(道闸执行状态正常) IF(车辆入场) THEN 将车牌号及其入场时间信息存入停车记录,修改空余车位数 ELSEIF(车辆出场) THEN 更新停车状态,修改空余车位数 ENDIF ELSESIF(未在规定的时间内接收到其返回的执行状态正常放行) THEN 向管理人员发送异常告警信息 ENDIF 2.社区蔬菜团购网站的数据库设计

试题二(共15分)阅读下列说明,回答问题1至问题 3,将解答填入答题纸的对应栏内。

【说明】

某社区蔬菜团购网站,为规范商品收发流程,便于查询客户订单情况,需要开发个信息系统。请根据下述需求描述完成该系统的数据库设计。

【需求描述】

(1)记录蔬菜供应商的信息,包括供应商编号、地址和一个电话。

(2)记录社区团购点的信息,包括团购点编号、地址和一个电话。

(3)记录客户信息,包括客户姓名和一个电话。客户可以在不同的社区团购点下订单,不直接与蔬菜供应商发生联系。

(4)记录客户订单信息,包括订单编号、团购点编号客户电话,订单内容和日期。

【概念模型设计】

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

 图2-1实体联系图【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式∶蔬菜供货商(供货商编号,地址,电话)社区团购点(团购点编号,地址,电话)供货(供货商编号,(a))客户(姓名,客户电话)订单(订单编号,团购点编号,(b),订单内容,日期)问题内容∶【问题1】(6分)根据问题描述,补充图 1-1 的实体联系图

【问题2】(4分)补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。  

(a)团购点编号。主键:供货商编号,团购点编号;外键:供货商编号,团购点编号。

(b)客户电话。主键:订单编号;外键:团购点编号,客户电话。

【问题3】(5分)若社区蔬菜团购网站还兼有代收快递的业务,请增加新的"快递"实体,并给出客户实体和快递实体之间的"收取'联系,对图1进行补充。"快递"关系模式包括快递编号、客户电话和日期。

3.线上抓药APP的用例图、类图

 试题三(共15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。[说明]某中医医院拟开发一套线上抓药APP,允许患者凭借该医院医生开具的处方线上抓药,并提供免费送药上门服务。该系统的主要功能描述如下:(1)注册。患者扫描医院提供的二维码进行注册,注册过程中,患者需提供其病历号,系统根据病历号自动获取患者基本信息。(2)登录。已注册的患者可以登录系统进行线上抓药,未注册的患者系统拒绝其登陆。(3)确认处方。患者登录后,可以查看医生开具的所有处方。患者选择需要抓药的处方和数量(需要抓几副药), 同时说明是否需要煎制。选择取药方式:自行到店取药或者送药上门,若选择送药上门,患者需要提供提供收贷人姓名、联系方式和收货地址。系统自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用。支付成功之后,处方被发送给药师进行药品配制。

[问题1] (7分)根据说明中的描述,给出图3-1中A1~ A3所对应的参与者名称和U1 ~U4处所对应的用例名称。  

A1:患者;A2:快递人员;A3:药师

U1:确认处方;U2:支付方式;U3:微信支付;U4:支付宝支付(U3、U4可以互换)[问题2] (5分)根据说明中的描述,给出图3-2中C1~C5所对应的类名。

C1: 支付方式;C2:微信支付;C3: 支付宝支付;C4:处方;C5: 药品(C2、C3可以互换)

C1:处方;C2:煎制处方;C3:非煎制处方;C4:药品;C5:快递信息(C2、C3可以互换)[问题3] (3分)简要解释用例之间的include、extend 和generalize关系的内涵。

include:是一种依赖关系,加了版型,两个以上用例有共同功能,可分解到单独用例,其中这个提取出来的公共用例称为抽象用例,形成包含依赖;执行基本用例时,每次都必须调用被包含的用例。

extend :如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,可以断定将这个用例分为一个主用例和一个或多个辅用例进行描述可能更加清晰。

generalize 泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。

4.凸多边形

试题四(共15分)阅读下列说明和C代码,回答问题1和问题2,将解答填入答题纸的对应栏内。[说明]凸多边形是指多边形的任意两点的连线均落在多边形的边界或者内部。相邻的点连线落在多边形边上,称为边,不相邻的点连线落在多边形内部。称为弦。假设任意两点连线上均有权重,凸多边形最优三帮剂分问题定义为:求将凸多边形划分为不相交的三角形集合,且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。假设N个点的凸多边形点编号为V1,V2,……,VN,若在VK处将原凸多边形划分为一个三角V1VkVN,两个子多边形V1,V2,…,Vk和Vk,Vk+1,…VN,得到一个最优的剖分方案,则该最优剖分方案应该包含这两个子凸边形的最优剖分方案。用m[i][j]表示带你Vi-1,Vi,…Vj构成的凸多边形的最优剖分方案的权重,S[i][j]记录剖分该凸多边形的k值。则

  

其中:

Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖分的权重及对应的三角形集。

[C代码]

#include #define N 6 //凸多边形规模 int m[N+1] [N+1]; //m[i][j]表示多边形Vi-1到Vj最优三角剖分的权值 int S[N+1] [N+1]; //S[i][j]记录多边形Vi-1 到Vj最优三角剖分的k值 int W[N+1] [N+1]; //凸多边形的权重矩阵,在main函数中输入 /*三角形的权重a,b,c,三角形的顶点下标*/ int get_ triangle_weight(int a,int b,int c){ return W[a][b]+W[b][c]+W[c][a]; } /*求解最优值*/ void triangle_partition(){ int i,r,k,j; int temp; /*初始化*/ for(i=1;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3