下半年软件设计师考试真题及答案下午卷Word文档格式.docx
《下半年软件设计师考试真题及答案下午卷Word文档格式.docx》由会员分享,可在线阅读,更多相关《下半年软件设计师考试真题及答案下午卷Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
![下半年软件设计师考试真题及答案下午卷Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/13/eea502ef-1843-4f94-aeae-a1294b97c3ca/eea502ef-1843-4f94-aeae-a1294b97c3ca1.gif)
7.生成报表。
根据管理员和商家设置的报表选项,从订单表、商品表以及商品分类表中读取数据,调用第三方效劳CrystalReports生成相关报表。
8.维护信息。
管理员维护(增、删、改、查)顾客表、商品分类表和商品表中的信息。
现采用构造化方法实现上述需求,在系统分析阶段得到如图1-9所示的顶层数据流图和图1-10所示的0层数据流图。
1、[问题1]
使用说明中的词语,给出图1-9中的实体E1~E4的名称。
2、[问题2]
使用说明中的词语,给出图1-10中的数据存储D1~D4的名称。
3、[问题3]
图1-10中缺失了数据流,请用说明或图1-10中的词语,给出其起点和终点。
4、[问题4]
根据说明,给出数据流“转账请求〞、“顾客订单物流查询请求〞和“商家订单物流查询请求〞的各组成数据项。
[试题2]
阅读以下说明和图,答复以下问题。
某会议筹划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。
[需求分析]
1.会议筹划公司设有受理部、筹划部和其他部门。
部门信息包括部门号、部门名称、部门主管、和邮箱号。
每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作。
每个部门有一名主管负责管理本部门的事务和人员。
2.员工信息包括员工号、姓名、部门号、职位、联系方式和工资;
其中,职位包括主管、业务员、筹划员等。
业务员负责受理会议申请。
假设申请符合公司规定,那么置受理标志并填写业务员的员工号。
筹划部主管为已受理的会议申请制定筹划任务,包括筹划内容、参与人数、要求完成时间等。
一个已受理的会议申请对应一个筹划任务,一个筹划任务只对应一个已受理的会议申请,但一个筹划任务可由多名筹划员参与执行,且一名筹划员可以参与多项筹划任务。
3.客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系、银行账号。
其中,一个客户号唯一标识一个客户。
一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号。
4.会议申请信息包括申请号、开会日期、会议地点、持续天数、会议人数、预算费用、会议类型、酒店要求、会议室要求、客房类型、客房数、联系人、联系方式、受理标志和业务员的员工号等。
客房类型有豪华套房、普通套房、标准间、三人间等,且申请号和客房类型决定客房数。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图1-11所示:
[关系模式设计]
部门(部门号,部门名称,主管,,邮箱号)
员工(员工号,姓名,
(a)
,联系方式,工资)
客户(客户号,单位名称,通信地址,所属省份,联系人,联系,银行账号)
会议申请(
(b)
,开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,客房数,联系人,联系方式,受理标志,员工号)
筹划任务(
(c)
,筹划内容,参与人数,要求完成时间)
执行筹划(
(d)
,实际完成时间)
5、[问题1]
根据问题描述,补充5个联系、联系的类型,完善图1-11的实体联系图。
6、[问题2]
根据实体联系图,将关系模式中的空缺处补充完整(1个空缺处可能有多个数据项)。
对会议申请、筹划任务和执行筹划关系模式,用下划线和群分别指出各关系模式的主键和外键。
7、[问题3]
请说明关系模式“会议申请〞存在的问题及解决方案。
[试题3]
某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和假设干个区域售票处。
游客假设想租用小木屋或营地,必须前往中心售票处进展预定并用现金支付全额费用。
所有的预定操作全部由售票处的工作人员手工完成。
现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。
该系统的主要功能描述如下。
1.管理预定申请。
游客可以前往任何一个售票处提出预定申请。
系统对来自各个售票处的预定申请进展统一管理。
2.预定。
预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。
3.支付管理。
游客付费时可以选择现金和信用卡付款两种方式。
使用信用卡支付可以享受3%的折扣,现金支付没有折扣。
4.游客取消预定。
预定成功之后,游客可以在任何时间取消预定,但需支付赔偿金,剩余局部那么退还给游客。
赔偿金的计算规那么是,在预定入住时间之前的48小时内取消,支付租赁费用10%的赔偿金;
在预定入住时间之后取消,那么支付租赁费用50%的赔偿金。
5.自动取消预定。
如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。
6.信息查询。
售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。
现采用面向对象方法开发上述系统,得到如表1-6所示的用例列表和表1-7所示的类列表。
对应的用例图和类图分别如图1-12和图1-13所示。
表1-6
用例列表
用例名
说明
ManageInquiries
管理预定申请
ManageCashPayment
现金支付
MakeReservation
预定
ManageCrCardPayment
信用卡支付
ManagePayment
支付管理
GetDiscount
计算付款折扣
CancelReservation
游客取消预定
AutoCancelReservation
系统自动取消预定
CheckAvailability
信息查询
CalculateRefund
计算取消预定的赔偿金
PublishMessage
发布取消预定消息
表1-7 类列表
类名
说明
NationalPark
国家公园
Customer
游客
Reservation
预定申请
ReservationItem
预定申请内容
TicketingOfficer
售票处
CampSite
营地
Bungalow
小木屋
Payment
付款
Discount
付款折扣
CashPayment
CreditCardPayment
Rate
租赁费用
8、[问题1]
根据说明中的描述与表1-6,给出图1-12中UC1~UC6处所对应的用例名称。
9、[问题2]
根据说明中的描述与表1-7,给出图1-13中C1~C7处所对应的类名。
10、[问题3]
对于某些需求量非常大的小木屋或营地,说明中功能4的赔偿金计算规那么,缺乏以弥补取消预定所带来的损失。
如果要根据预定的时段以及所预定场地的需求量,设计不同层次的赔偿金计算规那么,需要对图1-13进展怎样的修改?
(请用文字说明。
)
[试题4]
阅读以下说明和C代码,答复以下问题。
设有n个货物要装入假设干个容量为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,...,sn},且有s1≤c(1≤i≤n)。
为节省运输本钱,用尽可能少的集装箱来装运这n个货物。
下面分别采用最先适宜策略和最优适宜策略来求解该问题。
最先适宜策略(firstfit)首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中。
最优适宜策略(bestfit)与最先适宜策略类似,不同的是,总是把货物装到能容纳它且目前剩余容量最小的集装箱,使得该箱子装入货物后闲置空间最小。
[C代码]
下面是这两个算法的C语言核心代码。
11变量说明
n:
货物数
C:
集装箱容量
s:
数组,长度为n,其中每个元素表示货物的体积,下标从0开场
B:
数组,长度为n,b[i]表示第i+1个集装箱当前已经装入货物的体积,下标从0开场
i,j:
循环变量
k:
所需的集装箱数
min:
当前所用的各集装箱装入了第i个货物后的最小剩余容量
m:
当前所需要的集装箱数
temp:
临时变量
12函数firstfit
intfirstfit13{
inti,j;
k=0;
for(i=0;
i<n;
i++){
b[i]=0;
}
fori=0;
i++){
______;
while(C-b[j]<s[i]){
j++;
k=k>(j+1)?
k:
(j+1);
returnk;
14函数bestfit
intbestfit13{
inti,j,min,m,temp;
k=0;
for(i=0;
}
min=C;
m=k+1;
for(j=0;
j<k+1;
j++){
temp=C-b[j]-s[i];
if(temp>0&
&
temp<min){
______;
m=j;
k=k>