中级软件设计师2017下半年下午试题附答案解析
试题一(15 分) 阅读下列说明和图,回答问题1 至 4,将答案填入答题纸的对应栏内。 【说明】 某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的 APP 以及微信小程序,基于Web的管理与监控系统。该共享单车系统的主要功能如下。 1)用户注册登录。用户在APP 段端输入手机号并获取验证码后进行注册,将用户信息 进行存储。用户登录后显示用户所在位置周围的单车。 2)使用单车。 ①扫码/手动开锁。通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令 进行开锁,系统修改单车状态,新建单车行程。 ②骑行单车。单车定时上传位置,更新行程。 ③锁车结账。 用户停止使用或手动锁车并结束行程后, 系统根据已设置好的计费规则及 使用时间自动结算,更新本次骑行的费用并显示给用户, 用户确认支付后, 记录行程的支付 状态,系统还将重置单车的开锁密码和单车状态。 3)辅助管理。 ①查询。用户可以查看行程列表和行程详细信息。 ②保修。用户上报所在位置或单车位置以及单车故障信息并进行记录。 4)管理与监控 ①单车管理及计费规则设置。 商家对单车基础信息,状态等进行管理,对计费规则进行 设置并存储。 ②单车监控。对单车,故障,行程等进行查询统计。 ③用户管理。管理用户信用与状态信息,对用户进行查询统计。 现采用结构化方法对共享单车系统进行分析与设计, 获得如图 1-1 所示的上下文数据流 图和图 1-2 所示的 0 层数据流图。 【问题 1】 (3 分) 使用说明中的词语,给出图1-1 中的实体 E1E3 的名称。 【问题 2】 (5 分) 使用说明中的词语,给出图1-2 中的数据存储 D1D5 的名称。 【问题 3】 (5 分) 根据说明和图中术语及符号,补充图1-2 中缺失的数据流及其起点和终点。 【问题 4】 (2 分) 根据说明中术语,说明“使用单车”可以分解为那些子加工 试题二(共 15 分) 阅读下列说明,回答问题1 至问题 4,将解答填入答题纸的对应栏内。 【说明】 M 公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个 基于网络的会议策划系统。 【需求分析结果】 该系统的部分功能及初步需求分析的结果如下 (1)M 公司旗下有业务部,策划部和其它部门。 部门信息包括部门号,部门名, 主管, 联系电话和邮箱号。每个部门只有一名主管, 只负责本部门的工作,且主管参照员工关系的 员工号一个部门有多名员工,每个员工属于且仅属于一个部门。 (2)员工信息包括员工号,姓名,职位,联系方式和薪资。职位包括主管,业务员, 策划员等。业务员负责受理用户申请,设置受理标志。一名业务员可以受理多个用户申请, 但一个用户申请只能由一个业务员受理。 (3)用户信息包括用户号,用户名,银行账号,电话,联系地址。用户号唯一标识用 户信息中的每一个元组。 (4)用户申请信息包括申请号,用户号,会议日期,天数,参会人数,地点,预算费 用和受理标志。 申请号唯一标识用户申请信息中的每一个元组, 且一个用户可以提交多个申 请,但一个用户申请只对应一个用户号。 (5)策划部主管为已受理的用户申请制定会议策划任务。策划任务包括申请号,任务 明细和要求完成时间。 申请号唯一标识策划任务的每一个元组。 一个策划任务只对应一个已 受理的用户申请, 但一个策划任务可由多名策划员参与执行, 且一名策划员可以参与执行多 项策划任务。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1 所示。 【关系模式设计】 部门(部门号,部门名,部门主管,联系电话,邮箱号) 员工(员工号,姓名, (a) ,联系方式,薪资) 用户(用户名, (b) ,电话,联系地址) 用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志,(c) ) 策划任务(申请号,任务明显, (d) ) 执行(申请号,策划员,实际完成时间,用户评价) 【问题 1】 (5 分) 根据问题描述,补充五个联系,完成图2-1 的实体联系图,联系名可用联系1,联系2, 联系 3,联系 4 和联系 5 表示,联系的类型为 11,1n 和 mn(或 11,1*和**) 【问题 2】 (4 分) 根据题意,将关系模式中的空(a)(d)补充完整,并填入答题纸的位置上。 【问题 3】 (4 分) 给出“用户申请”和“策划任务”关系模式的主键和外键。 【问题 4】 (2 分) 请问“执行”关系模式的主键为全码的说法正确吗为什么 试题三(共 15 分) 阅读下列说明,回答问题1 至问题 3,将解答填入答题纸的对应栏内。 【说明】 某大学拟开发一个用于管理学术出版物(Publication)的数字图书馆系统,用户可以从 该系统查询或下载已发表的学术出版物。系统的主要功能如下 1.登录系统。系统的用户(User)仅限于该大学的学生(Student) ,教师(Faculty)和 其它工作人员(Staff) 。在访问系统之前,用户必须使用其校园账号和密码登录系统。 2.查询某位作者(Author)的所有出版物。系统中保存了会议文章(ConfPaper) ,期刊 文章(JournalArticle)和校内技术报告(TechReport)等学术出版物的信息,如题目,作者 以及出版年份等。除此之外,系统还存储了不同类型出版物的一些特有信息; (1)对于会议文章,系统还记录了会议名称,召开时间以及召开地点; (2)对于期刊文章,系统还记录了期刊名称,出版月份,期号以及主办单位; (3)对于校内技术报告,系统还记录了由学校分配的唯一ID。 3.查询制定会议集(Proceedings)或某个期刊特定期(Edition)的所有文章。会议集包 含了发表在该会议(在某个特定时间段, 特定地点召开)上的所有文章。期刊的每一期在特 定时间发行,其中包含若干篇文章。 4.下载出版物。系统记录每个出版物被下载的次数。 5.查询引用了某篇出版物的所有出版物。 在学术出版物中引用他人或早期的文献作为相 关工作或背景资料是很常见的现象。 用户也可以在系统中为某篇出版物注册引用通知, 若有 新的出版物引用该出版物,系统将发送电子邮件通知该用户。 现在采用面向对象方法对该系统进行开发,得到系统的初始设计类图如图3-1 所示。 【问题 1】 (9 分) 根据说明中的描述,给出图3-1 中 C1C9 所对应的类名。 【问题 2】 (4 分) 根据说明中的描述,给出图3-1 中类 C6C9 的属性。 【问题 3】 (2 分) 图 3-1 中包含了那种设计模式实现的是该系统的哪个功能 试题四(共 15 分) 阅读下列说明和 C 代码,回答问题 1 至问题 2,将解答写在答题纸的对应栏内 【说明】 一个无向连通图 G 上的哈密尔顿(Hamilton)回路是指从图 G 上的某个顶点出发,经 过图上所有其他顶点一次且仅一次, 最后回到该顶点的路径。 一种求解无向图上的哈密尔顿 回路算法的基本思想如下 假设图 G 存在一个从顶点 u0出发的哈密尔顿回路 u0u1u2u3.u0un-1u0。算 法从顶点 u0出发,访问该顶点的一个未被访