2022年5月软件设计师考试模拟题下午(二)_第1页
2022年5月软件设计师考试模拟题下午(二)_第2页
2022年5月软件设计师考试模拟题下午(二)_第3页
2022年5月软件设计师考试模拟题下午(二)_第4页
2022年5月软件设计师考试模拟题下午(二)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑年5月软件设计师考试模拟题下午(二)2022年5月软件设计师考试模拟题下午(二)

1.【问答题】15分|阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。

【说明】

某公司欲建设-一个房屋租赁服务系统,统一管理房主和租赁者的信息,提供快捷的租赁服务。本系统的主要功能描述如下:

1.登记房主信息。记录房主的姓名、住址、身份证号和联系电话等信息,并写入房主信息文件。

2.登记房屋信息。记录房屋的地址、房屋类型(如平房、带阳台的楼房、独立式住宅等)、楼层、租金及房屋状态(待租赁、已出租)等信息,并写入房屋信息文件。-名房主可以在系统中登记多套待租赁的房屋。

3.登记租赁者信息。记录租赁者的个人信息,包括:姓名、性别、住址、身份证号和电话号码等,并写入租赁者信息文件。

4.安排看房。已经登记在系统中的租赁者,可以从待租赁房屋列表中查询待租赁房屋信息。租赁者可以提出看房请求,系统安排租赁者看房。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。

5.收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单交纳相应的费用。

6.变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。

[问题1](12分)

若来用结构化方法对房屋租赁服务系统进行分析,得到如图2-1所示的顶层DFD,使用题干中给出的词语,给出图2-1中外部实体E1~E2、加工P1~P6以及数据存储D1~D4的名称。

[问题2](3分)

除了数据流图外结构化分析还包括哪些工具?

2.【问答题】15分|阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。

【说明】

3.【问答题】15分|阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内。

【说明】

●阅读以下关于系统分析设计的叙述,在答题纸上回答问题1至问题3.

【说明】某软件公司为共享单车租赁公司开发一套单车租赁服务系统,公司项目组对此待开发项目进行了分析,具体描述如下:

1)用户(非注册用户)通过手机向租赁服务系统进行注册,成为可租赁共享单车的合法用户,其中包括提供身份、手机号等信息,并支付约定押金;

2)将采购的共享单车注册到租赁服务系统后方可投入使用。即将单车的标识信息(车辆编号、二维码等)录入到系统;

3)用户(注册或非注册用户)通过手机查询可获得单车的地理位置信息以便就近取用;

4)用户(注册用户)通过手机登录到租赁服务系统中,通过扫描二维码或输入车辆编号以进行系统确认,系统后台对指定车辆状态(可用或不可用),以及用户资格进行确认,通过确认后对车辆下达解锁指令;

5)用户在用完车辆后关闭车锁,车辆自身将闭锁状态上报到租赁服务系统中,完成车辆状态的更新和用户租赁费用结算;

6)系统应具备一定的扩容能力,以满足未来市场规模扩张的需要。

【问题1】(12分)

请根据下列选项补充下图所示用例图(1)~(12)处补充所缺失信息。

(备选答案:A.用户,B.共享单车,C.用户管理,D.注册,E.注销,F.用户查询,G单车管理,H.租赁,I.归还,J.单车查询,K.费用管理,L.保证金管理,M.租赁费管理,N.数据存储管理,O.用户数据存储管理,P.单车数据存储管理,Q.费用结算,R.身份认证)

【问题2】(3分)

请列举出用例之间的关系。

4.【问答题】15分|阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【程序4.1说明】

"背包问题"的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

如下程序均能求得"背包问题"的一组解,其中程序4.1是"背包问题"的递归解法,而程序4.2是"背包问题"的非递归解法。

【程序4.1】

#include

#defineN7

#defineS15

intw[N+1]={0,1,4,3,4,5,2,7};

intknap(ints,intn)

{if(s==0)return1;

if(s0||(s0n1))return0;

if((1))){

printf(″%4d″,w[n]);return1;

}return(2);

}

main(){

if(knap(S,N))printf(″OK!\n″);

elseprintf(″N0!\n″);

}

【程序4.2】

#include

#defineN7

#defineS15

typedefstruct{

ints;

intn:

intjob;

}KNAPTP;

intw[N+1]={0,1,4,3,4,5,2,7};

intknap(ints,intn);

main(){

if(knap(S,N))printf(″OK!\n″);

elseprintf(″NO!\n″);}

intknap(ints,intn)

{KNAPTPstack[100],x;

inttop,k,rep;

x.s=s;x.n=n;

x.job=0;

top=l;stack[top]=x;

k=0;

while((3)){

x=stack[top];

rep=1;

while(!krep){

if(x.s==0)k=1;/*已求得一组解*/

elseif(x.s0||x.n=0)rep=0;

else{x.s=(4);x.job=1;

(5)=x;

}

}

if(!k){

rep=1;

while(top=1rep){

x=stack[top--];

if(x.job==1){

x.s+=w[x.n+1];

x.job=2;

stack[++top]=x;

(6);

}

}

}

}

if(k){/*输出一组解*/

while(top=1){

x=stack[top--];

if(x.job==1)

printf(″%d\t″,w[x.n+1]);

}

}

returnk;

}

5.【问答题】15分|阅读下列说明和C++代码,回答问题,将答案填入相应横线处。

【说明】

以下C++代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Instument)进行演奏和调音等操作。对部分乐器进行建模,其类图如图所示,包括:乐器(Instrument)、打击乐器(Perussion)、弦乐器(Stringed)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)。

6.【问答题】15分|阅读以下说明和Java程序,填写程序中的空(1)~(5),将解答写入答题纸的对应栏内。

【说明】

以下Java代码实现一个简单乐器系统,音乐类(Music)可以使用各类乐器(Instrument)进行演奏和调音等操作。对部分乐器进行建模,其类图如图5-1所示,包括:乐器Instrument)、打击乐器(Percussion)、弦乐器(Stringed)、管乐器(Wind)、木管乐器(Woodwind)、铜管乐器(Brass)。

【Java代码】

imp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论