中级软件设计师2017下半年下午试题附答案解析
试题一(15 分) 阅读下列说明和图,回答问题1 至 4,将答案填入答题纸的对应栏内。 【说明】 某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的 APP 以及微信小程序,基于Web的管理与监控系统。该共享单车系统的主要功能如下。 1)用户注册登录。用户在APP 段端输入手机号并获取验证码后进行注册,将用户信息 进行存储。用户登录后显示用户所在位置周围的单车。 2)使用单车。 ①扫码/手动开锁。通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令 进行开锁,系统修改单车状态,新建单车行程。 ②骑行单车。单车定时上传位置,更新行程。 ③锁车结账。 用户停止使用或手动锁车并结束行程后, 系统根据已设置好的计费规则及 使用时间自动结算,更新本次骑行的费用并显示给用户, 用户确认支付后, 记录行程的支付 状态,系统还将重置单车的开锁密码和单车状态。 3)辅助管理。 ①查询。用户可以查看行程列表和行程详细信息。 ②保修。用户上报所在位置或单车位置以及单车故障信息并进行记录。 4)管理与监控 ①单车管理及计费规则设置。 商家对单车基础信息,状态等进行管理,对计费规则进行 设置并存储。 ②单车监控。对单车,故障,行程等进行查询统计。 ③用户管理。管理用户信用与状态信息,对用户进行查询统计。 现采用结构化方法对共享单车系统进行分析与设计, 获得如图 1-1 所示的上下文数据流 图和图 1-2 所示的 0 层数据流图。 【问题 1】 (3 分) 使用说明中的词语,给出图1-1 中的实体 E1~E3 的名称。 【问题 2】 (5 分) 使用说明中的词语,给出图1-2 中的数据存储 D1~D5 的名称。 【问题 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 表示,联系的类型为 1:1,1:n 和 m:n(或 1:1,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 中 C1~C9 所对应的类名。 【问题 2】 (4 分) 根据说明中的描述,给出图3-1 中类 C6~C9 的属性。 【问题 3】 (2 分) 图 3-1 中包含了那种设计模式?实现的是该系统的哪个功能? 试题四(共 15 分) 阅读下列说明和 C 代码,回答问题 1 至问题 2,将解答写在答题纸的对应栏内 【说明】 一个无向连通图 G 上的哈密尔顿(Hamilton)回路是指从图 G 上的某个顶点出发,经 过图上所有其他顶点一次且仅一次, 最后回到该顶点的路径。 一种求解无向图上的哈密尔顿 回路算法的基本思想如下: 假设图 G 存在一个从顶点 u0出发的哈密尔顿回路 u0—u1—u2—u3—.—u0—un-1—u0。算 法从顶点 u0出发,访问该顶点的一个未被访