2023年中级软件设计师下半年下午试题附答案解析.doc
《2023年中级软件设计师下半年下午试题附答案解析.doc》由会员分享,可在线阅读,更多相关《2023年中级软件设计师下半年下午试题附答案解析.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、试题一(15分)阅读下列说明和图,回答问题1至4,将答案填入答题纸的相应栏内。【说明】某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的APP以及微信小程序,基于Web的管理与监控系统。该共享单车系统的重要功能如下。1)用户注册登录。用户在APP段端输入手机号并获取验证码后进行注册,将用户信息进行存储。用户登录后显示用户所在位置周边的单车。2)使用单车。扫码/手动开锁。通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令进行开锁,系统修改单车状态,新建单车行程。骑行单车。单车定期上传位置,更新行程。锁车结账。用户停止使用或手动锁车并结束行程后,系统根据已设立好的计
2、费规则及使用时间自动结算,更新本次骑行的费用并显示给用户,用户确认支付后,记录行程的支付状态,系统还将重置单车的开锁密码和单车状态。3)辅助管理。查询。用户可以查看行程列表和行程具体信息。保修。用户上报所在位置或单车位置以及单车故障信息并进行记录。4)管理与监控单车管理及计费规则设立。商家对单车基础信息,状态等进行管理,对计费规则进行设立并存储。单车监控。对单车,故障,行程等进行查询记录。用户管理。管理用户信用与状态信息,对用户进行查询记录。现采用结构化方法对共享单车系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。【问题1】(3分)使用说明中的词语,给出图1
3、-1中的实体E1E3的名称。【问题2】(5分)使用说明中的词语,给出图1-2中的数据存储D1D5的名称。【问题3】(5分)根据说明和图中术语及符号,补充图1-2中缺失的数据流及其起点和终点。【问题4】(2分)根据说明中术语,说明“使用单车”可以分解为那些子加工?试题二(共15分)阅读下列说明,回答问题1至问题4,将解答填入答题纸的相应栏内。【说明】M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。【需求分析结果】该系统的部分功能及初步需求分析的结果如下:(1)M公司旗下有业务部,策划部和其它部门。部门信息涉及部门号,部门名,主管,联系电话和邮箱号
4、。每个部门只有一名主管,只负责本部门的工作,且主管参照员工关系的员工号:一个部门有多名员工,每个员工属于且仅属于一个部门。(2)员工信息涉及员工号,姓名,职位,联系方式和薪资。职位涉及主管,业务员,策划员等。业务员负责受理用户申请,设立受理标志。一名业务员可以受理多个用户申请,但一个用户申请只能由一个业务员受理。(3)用户信息涉及用户号,用户名,银行账号,电话,联系地址。用户号唯一标记用户信息中的每一个元组。(4)用户申请信息涉及申请号,用户号,会议日期,天数,参会人数,地点,预算费用和受理标志。申请号唯一标记用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只相应一个用户
5、号。(5)策划部主管为已受理的用户申请制定会议策划任务。策划任务涉及申请号,任务明细和规定完毕时间。申请号唯一标记策划任务的每一个元组。一个策划任务只相应一个已受理的用户申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与执行多项策划任务。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。【关系模式设计】部门(部门号,部门名,部门主管,联系电话,邮箱号)员工(员工号,姓名, (a) ,联系方式,薪资)用户(用户名, (b) ,电话,联系地址)用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志, (c) )策划任务(申请号,任务明显,
6、(d) )执行(申请号,策划员,实际完毕时间,用户评价)【问题1】(5分)根据问题描述,补充五个联系,完毕图2-1的实体联系图,联系名可用联系1,联系2,联系3,联系4和联系5表达,联系的类型为1:1,1:n和m:n(或1:1,1:*和*:*)【问题2】(4分)根据题意,将关系模式中的空(a)(d)补充完整,并填入答题纸的位置上。【问题3】(4分)给出“用户申请”和“策划任务”关系模式的主键和外键。【问题4】(2分)请问“执行”关系模式的主键为全码的说法对的吗?为什么?试题三(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的相应栏内。【说明】某大学拟开发一个用于管理学术出版物(P
7、ublication)的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。系统的重要功能如下:1.登录系统。系统的用户(User)仅限于该大学的学生(Student),教师(Faculty)和其它工作人员(Staff)。在访问系统之前,用户必须使用其校园账号和密码登录系统。2.查询某位作者(Author)的所有出版物。系统中保存了会议文章(ConfPaper),期刊文章(JournalArticle)和校内技术报告(TechReport)等学术出版物的信息,如题目,作者以及出版年份等。除此之外,系统还存储了不同类型出版物的一些特有信息;(1)对于会议文章,系统还记录了会议名称,召开
8、时间以及召开地点;(2)对于期刊文章,系统还记录了期刊名称,出版月份,期号以及主办单位;(3)对于校内技术报告,系统还记录了由学校分派的唯一ID。3.查询制定会议集(Proceedings)或某个期刊特定期(Edition)的所有文章。会议集包含了发表在该会议(在某个特定期间段,特定地点召开)上的所有文章。期刊的每一期在特定期间发行,其中包含若干篇文章。4.下载出版物。系统记录每个出版物被下载的次数。5.查询引用了某篇出版物的所有出版物。在学术出版物中引用别人或初期的文献作为相关工作或背景资料是很常见的现象。用户也可以在系统中为某篇出版物注册引用告知,若有新的出版物引用该出版物,系统将发送电子
9、邮件告知该用户。现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图3-1所示。【问题1】(9分)根据说明中的描述,给出图3-1中C1C9所相应的类名。【问题2】(4分)根据说明中的描述,给出图3-1中类C6C9的属性。【问题3】(2分)图3-1中包含了那种设计模式?实现的是该系统的哪个功能?试题四(共15分)阅读下列说明和C代码,回答问题1至问题2,将解答写在答题纸的相应栏内【说明】一个无向连通图G上的哈密尔顿(Hamilton)回路是指从图G上的某个顶点出发,通过图上所有其他顶点一次且仅一次,最后回到该顶点的途径。一种求解无向图上的哈密尔顿回路算法的基本思想如下:假设图G存在一
10、个从顶点u0出发的哈密尔顿回路u0u1u2u3.u0un-1u0。算法从顶点u0出发,访问该顶点的一个未被访问的领接顶点u1 ,接着从顶点u1出发,访问u1的一个未被访问的领接顶点u2,.。对顶点ui,反复进行以下操作:访问ui的一个为被访问的领接顶点ui+1;若ui的所有领接顶点均已被访问,则返回到顶点ui-1,考虑ui-1的下一个未被访问的领接顶点,仍记为ui;直到找到一个哈密尔顿回路或者找不到哈密尔顿回路,算法结束。【C代码】下面是算法的C语言实现。(1)常量和变量说明n:图G中的顶点数c:图G的领接矩阵k:记录变量,当前已经访问的顶点数为k+1xk:第k个访问的顶点编号,从0开始vis
11、itedxk:第k个顶点的访问标志,0表达未访问,1表达已访问(2)C程序#include#include#define MAX 4Void Hamilton(int n,int xMAX,int cMAXMAX)int i;int visitedMAX;int k;/*初始化x数组和visited数组*/for(i=o;i0)xk=xk+1;while(xkn)if( (2) &cxk-1xk=1)/*领接顶点xk未被访问过*/break;elsexk=xk+1;if(xkn&k=n-1& (3) )/*找到一条哈密尔顿回路*/for(k=0;kn;k+)printf(“%d-”,xk);/
12、*输出哈密尔顿回路*/printf(“%dn”,x0);return;else if(xk&kn-1)/*设立当前顶点的访问标志,继续下一个顶点*/ (4) ;k=k+1;else /*没有未被访问过的领接顶点,回退到上一个顶点*/xk=0;visitedxk=0; (5) ;【问题1】(10分)根据题干说明,填充C代码中的空(1)(5)。【问题2】(5分)根据题干说明和C代码,算法采用的设计策略是(6),该方法在遍历图的顶点时,采用的是(7)方法(深度优先或广度优先)。试题五(共15分)阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的相应栏内。【说明】某图像预览程序规定可以查看BM
13、P,JPEG和GIF三种格式的文献,且可以在Windows和Linux两种操作系统上运营。程序需具有较好的扩展性以支持新的文献格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接 (Bridge)模式进行设计,得到如图5.1所示的类图。【c+代码】#include#includeUsing namespace std;class matrix/各种格式的文献最终都被转化为像素矩阵/此处代码省略;class ImplementPublic: (1) ;/显示像素矩阵m;class WinImp:public ImplementorPublic:Void doPaint(Matrix
14、 m)/*调用Windows系统的绘制函数绘制像素矩阵*/;class LinuxImp: public Implementorpublic:Void doPaint(Matrix m)/*调用Linux系统的绘制函数绘制像素矩阵*/;class Imagpublic:void setImp(Implementor *imp)this.imp=imp;virtual void parseFile(String fileName)=0;protected: Implenentor *imp;class BMPImage:public Image/此处代码省略;class GIFImage:pub
15、lic Imagepublic:void parseFile(String fileName)/此处解析GIF文献并获取一个像素矩阵对象m (2) ;/显示像素矩阵m;class JPEGImage:public Image/此处代码省略;int main()public static void main(String args)/在Linux操作系统上查看demo.gif图像文献Imag imag= (3) ;Implementor imageImp= (4) ; (5) ;image.parseFile(“demo.gif”); 试题六共15分)阅读下列说明和Java代码,将应填入(n)处
16、的字句写在答题纸的相应栏内。【说明】某图像预览程序规定可以查看BMP,JPEG和GIF三种格式的文献,且可以在Windows和Linux两种操作系统上运营。程序需具有较好的扩展性以支持新的文献格式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接 (Bridge)模式进行设计,得到如图5.1所示的类图。【Java代码】import Java。Util。*;class matrix/各种格式的文献最终都被转化为像素矩阵/此处代码省略;abstract class Implementpublic (1) ;/显示像素矩阵m;class WinImp:public Implementor
17、public Void doPaint(Matrix m)/*调用Windows系统的绘制函数绘制像素矩阵*/;class LinuxImp: public Implementorpublic Void doPaint(Matrix m)/*调用Linux系统的绘制函数绘制像素矩阵*/;class Imagpublic void setImp(Implementor *imp)this.imp=imp;public virtual void parseFile(String fileName)=0;protected Implenentor *imp;class BMPImage:public
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 年中 软件 设计师 下半年 下午 试题 答案 解析
限制150内