[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc

上传人:吴艺期 文档编号:493372 上传时间:2018-11-30 格式:DOC 页数:12 大小:148.50KB
下载 相关 举报
[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc_第1页
第1页 / 共12页
[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc_第2页
第2页 / 共12页
[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc_第3页
第3页 / 共12页
[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc_第4页
第4页 / 共12页
[计算机类试卷]2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷及答案与解析 一、必答题(共 4道大题,每道大题 15分) 0 阅读下列说明和图,回答以下问题,将解答填入答题纸的对应栏内。【说明】某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的APP以及微信小程序、基于 Web的管理与监控系统。该共享单车系统的主要功能如下。 1)用户注册登录。用户在 APP端输入手机号并获取验证码后进行注册,将用户信息进行存储。用户登录后显示用户所在位置周围的单车。 2)使用单车。 扫码手动开锁。 通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令进行开锁,系统修改单车

2、状态,新建单车行程。 骑行单车。单车定时上传位置,更新行程。 锁车结账。用户停止使用或手动锁车并结束行程后,系统根据已设置好的计费规则及使用时间自动结算,更新本次骑行的费用并显示给用户,用户确认支付后,记录行程的支付状态。系统还将重置单车的开锁密码和单车状态。 3)辅助管理。 查询。用户可以查看行程列表和行程详细信息。 报修。用户上报所在位置或单车位置以及单车故障信息并进行记录。 4)管理与监控。 单车管理及计费规则设置。商家对单车 基础信息、状态等进行管理,对计费规则进行设置并存储。 单车监控。对单车、故障、行程等进行查询统计。 用户管理。管理用户信用与状态信息,对用户进行查询统计。现采用结

3、构化方法对共享单车系统进行分析与设计,获得如图 11所示的上下文数据流图和图 12所示的 0层数据流图。1 使用说明中的词语,给出图 11中的实体 E1 E3的名称。 2 使用说明中的词语,给出图 12中的数据存储 D1 D5的名称。 3 根据说明和图中术语及符号,补充图 12中缺失的数据流及其起点和终点。 4 根据说明中术语,说明 “使用单车 ”可以分解为哪些子加工 ? 4 阅读下列说明,回答以下问题,将解答填入答题纸的对应栏内。【说明】 M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。【需求分析结果】该系统的部分功能及初步需求分析的结果如下

4、: (1)M公司旗下有业务部、策划部和其他部门。部门信息包括部门号、部门名、主管、联系电话和邮箱号;每个部门只有一名主管,只负责管理本部门的工作,且主管参照员工关系的员工号;一个部门有多名员工,每名员工属于且仅属于一个部门。 (2)员工信息包括员工号、姓名、 职位、联系方式和薪资。职位包括主管、业务员、策划员等。业务员负责受理用户申请,设置受理标志。一名业务员可以受理多个用户申请,但一个用户申请只能由一名业务员受理。 (3)用户信息包括用户号、用户名、银行账号、电话、联系地址。用户号唯一标识用户信息中的每一个元组。 (4)用户申请信息包括申请号、用户号、会议日期、天数、参会人数、地点、预算和受

5、理标志。申请号唯一标识用户申请信息中的每一个元组,且一个用户可以提交多个申请,但一个用户申请只对应一个用户号。 (5)策划部主管为已受理的用户申请制定会议策划任务。策划任务包括申 请号、任务明细和要求完成时间。申请号唯一标识策划任务的每一个元组。一个策划任务只对应一个已受理的用户申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与执行,且在项策划任务。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图 (不完整 )如图 21所示。【关系模型设计】部门 (部门和,部门名,部门主管,联系电话,邮箱号 )员工 (员工号,姓名, ( ),联系方式,薪资 )用户 (用户名, ( ),电

6、话,联系地址 )用户申请 (申请号,用户号,会议日期,天数,参会人数,地点,受理标志, ( )执行 (申请号,任务 明细, ( ) 5 根据问题描述,补充五个联系,完善图 2 1的实体联系图。联系名可用联系1、联系 2、联系 3、联系 4和联系 5,联系的类型为 1: 1、 1: n和 m: n(或 1:1、 1: 1和 *: *)。 6 根据题意,将关系模型中的空 (a) (d)补充完整,并填入答题纸对应的位置上。 7 给出 “用户申请 ”和 “策划任务 ”关系模式的主键和外键。 8 请问 “执行 ”关系模式的主键为全码的说法正确吗 ?为什么 ? 8 阅读下列说明,回答以下问题,将解答填入答

7、题纸的对应栏内。【说明】某大学拟开发一个用于管理学术出版物 (Pu blication)的数字图书馆系统,用户可以从该系统查询或下载已发表的学术出版物。系统的主要功能如下: 1登录系统。系统的用户 (User)仅限于该大学的学生 (Student)、教师 (Faculty)和其他工作人员 (Staff)。在访问系统之前,用户必须使用其校园账户和密码登录系统。 2查询某位作者(Author)的所有出版物。系统中保存了会议文章 (ConfPaper)、期刊文章 (JumalArticle)和校内技术报告 (TechReport)等学术出版物的信息,如题目、作者以及出版年份等。除此之外, 系统还存储

8、了不同类型出版物的一些特有信息; (1)对于会议文章,系统还记录了会议名称、召开时间以及召开地点; (2)对于期刊文章,系统还记录了期刊名称、出版月份、期号以及主办单位; (3)对于校内技术报告,系统记录了由学校分配的唯一 ID。 3查询指定会议集 (Proceedings)或某个期刊特定期(Edition)的所有文章。会议集包含了发表在该会议 (在某个特定时间段、特定地点召开 )上的所有文章。期刊的每一期在特定时间发行,其中包含若干篇文章。 4下载出版物。系统记录每个出版物被下载的次数。 5查询引用了某篇出版 物的所有出版物。在学术出版物中引用他人或早期的文献作为相关工作或背景资料是很常见的

9、现象。用户也可以在系统中为某篇出版物注册引用通知,若有新的出版物引用了该出版物,系统将发送电子邮件通知该用户。现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图 31所示。9 根据说明中的描述,给出图 31中 C1 C9所对应的类名。 10 根据说明中的描述,给出图 31中类 C6 C9的属性。 11 图 31中包含了哪种设计模式 ?实现的是该系统的哪个功能 ? 11 阅读下列说明和 C代码,回答以下问 题,将解答写在答题纸的对应栏内。 【说明】 一个无向连通图 G点上的哈密尔顿 (Hamiltion)回路是指从图 G上的某个顶点出发,经过图上所有其他顶点一次且仅一次,最后回到该

10、顶点的路径。哈密尔顿回路算法的基础如下:假设图 G存在一个从顶点 V0出发的哈密尔顿回路 V1V2V3 Vn-1V0。算法从顶点 V0出发,访问该顶点的一个未被访问的邻接顶点 V1,接着从顶点 V1出发,访问 V1一个未被访问的邻接顶点 V2, ;对顶点Vi,重复进行以下操作:访问 Vi的一个未被访问的邻接接点 Vi+1;若 Vi的所有邻接顶点均已被 访问,则返回到顶点 Vi-1,考虑 Vi-1的下一个未被访问的邻接顶点,仍记为 Vi;直到找到一条哈密尔顿回路或者找不到哈密尔顿回路,算法结束。 【 C代码】 下面是算法的 C语言实现。 (1)常量和变量说明 n:图 G中的顶点数 c:图 G的邻

11、接矩阵 k:统计变量,当前已经访问的顶点数为 k+1 xk:第 k个访问的顶点编号,从 0开始 Visitedxk:第 k个顶点的访问标志, 0表示未访问, 1表示已访问 (2)C程序 #include stido h #include stidb h #define MAX100 void Hamilton(int n, int xMAX, int cMAXMAX) int; int visitedMAX; int k; *初始化 x数组和 visited数组 * for(i=0: i n; i+)( xi=0; visitedi=0, *访问起始顶点 * k=0 ( ); X0=0 K=k

12、+1 *访问其他顶点 * while(k =0) Xk=xk+1; while(xk n) if( )&cxk-1xk=1) *邻接顶点 xk未被访问过 * break: else xk=xk+1 if(xk n&()( *找到一条哈密尔顿回路 * for(k=0, k n; k+) prinf(“ d-“, xk; *输出哈密尔顿回路 * prinf(“ d-“, x0, return; else if xk n&k n-1)( *设置当前顶点的访问标志,继续下一个顶点 * ( ); k=k+1; else( *没有未被访问过的邻接顶点,回退到上一个顶点 * xk=0; visited xk

13、=0; ( ); 12 根据题干说明。填充 C代码中的空 (1) (5)。 13 根据题干说明和 C代码,算法采用的设计策略为 ( ),该方法在遍历图的顶点时,采用的是 ( )方法 (深度优先或广度优先 )。 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 14 阅读下列说明和 C+代码,将应填入 ( )处的字句写在答题纸的对应栏内。【说明】某图像预览程序要求能够查看 BMP、 JPEG和 GIF三种格式的文件,且能够Windows和 Linux两种操作系统上运行。程序需具有较好的扩展性以支持新的文件格

14、式和操作系统。为满足上述需求并减少所需生成的子类数目,现采用桥接(Bridge)模式进行设计,得到如图 51所示的类图。【 C+代码】 include iostream #include: string; Using namespace std; class Matrix各种格式的文件最终都被转化为像素矩 阵此处代码省略 ; class Implementorpublic:( );显示像素矩阵 m; class WinImp: public Implementorpublic: Viod doPaint(Matrix m)( *调用 Windows系统的绘制函数绘制像素矩阵 * ; class

15、 Linuxlmp: public Implementor *调用 Linux系统的绘制函数绘制像素矩阵 * ; class Imagepublic: viod setImp(Implement*imp)(this- imp=imp; Virtual viod parseFile(string fileName)=0protected: Implementor*imp; ; class BMPImage:public Image(此处省略代码 ; class GIFImage: public ImagePublic: viod parseFile(string fileName)此处解析 GI

16、F文件并获得一个像素矩阵对象 m( );显示像素矩阵 m; class JPEGImage: public Image此处代码省略 ; int main()在 linux操作系统上查看 demo gif图像文件 Image*image=();Implementor*imageImp=(); ( )Image- parseFile(“demo gif“); return0; 15 阅读下列说明和 Java代码,将应填入上一处的字句写在答题纸的对应栏内。【说明】某图像预览程序要求能够查看 BMP、 JPEG和 GIF三种格式的文件,且能够在 Windows和 Linux两种操作系统上运行。程序需具

17、有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减 少所需生成的子类数目,现采用桥接模式进行设计,得到如图 61所示的类图。【 Jave代码】 Import java util *; class Matrix各种格式的文件最终都被转化为像素矩阵此处代码省略 ; absttact class ImplementorPublic( );显示像素矩阵 m; class WinImp extends Implementorpublic void doPaint(Matrix m)调用 Windows系统的绘制函数绘制像素矩阵 ; class LinuxImp extends Impleme

18、ntorpublic void doPaint(Matrix m)调用 Linux系统的绘制函数绘制像素矩阵 ; abstract class Imagepublic Void setImp(Implementor imp)this imp=imp; public abstract void ParseFile(String fileName); prorected Implementor imp; ; elass BMPImage extendS Image 此处代码省略 ; class GIFImage extends Imagepublic void parseFile(String f

19、ileName)此处解析 BMP文件并获得一个像素矩阵对象 m( );显示像素矩阵 m; Class Main(Public static viod mein(Stringargs)在Linux操作系统上查看 demo gif图像文件 Image image=()Implementor imageImp=()( )Image parseFile(“demo gif“); 2017年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【正确答案】 E1:用户、 E2:商家、 E3:单车。 2 【正确答案】 D1:存储用户信息用

20、户信息表 D2:记录单车位置及状态信息单车信息表 D3:记录单车行程信息行程信息表 D4:存储计费规则计费规则信息表 D5:记录单车故障信息单车故障信息表 3 【正确答案】 起点: p3终点: E1数据流名称:开锁密码 起点: p3终点: E1数据流名称:锁车结 账 起点: p3终点: D2数据流名称:单车状态 起点: D4终点: P3数据流名称:计费规则 起点: D3终点: p7数据流名称:行程查询统计 4 【正确答案】 扫码手动开锁,骑行单车,锁车结账。 5 【正确答案】 联系 1:部门和员工, 1: n 联系 2:业务员和用户申请, 1: n 联系 3:用户和用户申请, 1: n 联系

21、4:策划员和策划任务, m: n 联系 5:策划任务和用户申请, 1: 1 6 【正确答案】 1职位,部门号 2用户名,银行帐号 3预算费用,业务员员工号 4要求完成时间 7 【正确答案】 用户申请:主键:申请号外键:用户号,业务员 策划任务:主键:申请号外键:申请号 8 【正确答案】 不正确。 All-key关系模型的所有属性组成该关系模式的候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码。 策划任务中的任务明细和要求完成时间不包括全部属性,因此不是全码。 9 【正确答案】 C1: system C2: User C3: Stude

22、nt C4: Faculty C5: Staff C6: Publication C7: ConfPaper C8: JoumalArticle C9: TechReport 10 【正确答案】 C6:题目,作者,出版年份 C7:会议名称,召开时间,召开地点 C8:期刊名称,出版月份,期号,主办单位 C9: ID 11 【正确答案】 观察者模式。实现:引用他人学术出版物发送电子邮件通知该用户。 策略模式。实现:查询作者出版的不同类型出版物 会议文章、期刊文章、校内技术报告。 12 【正确答案】 1 visited0=1 2 visitedxk=0 3 3k=n-1&cxkx0=1 4 visi

23、tedxk=1 5 k=k-1 13 【正确答案】 回溯法、深度优先。 二、选答题(共 3道大题,每道大题 15分) 从下列 3道试题中任选 1道解答,如果解答的试题数超过 1道,则仅题号小的 1道题解答有效。 14 【正确答案】 1 virtual void doPaint(Matrix m)=0 2 imp- doPaint(m) 3 new GIFImage() 4 new Linuxlmp() 5 image- setlmp(imagelmp) 15 【正确答案】 1 abstract void doPaint(Matrix m) 2 imp doPaint(m) 3 new GIFImage() 4 new Linuxlmp() 5 image setlmp(imagelmp)

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1