2016年下半年软件设计师下午真题+答案解析_第1页
2016年下半年软件设计师下午真题+答案解析_第2页
2016年下半年软件设计师下午真题+答案解析_第3页
2016年下半年软件设计师下午真题+答案解析_第4页
2016年下半年软件设计师下午真题+答案解析_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

2016年下半年软件设计师下午练习题+答案解析试题一(共15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某航空公司拟开发一个机票预订系统,系统的主要功能如下:1.客户注册:客户提供基本信息(姓名、身份证号、手机号)进行注册,系统为其提供唯一的客户ID。2.航班查询:客户输入出发地、目的地、日期,系统根据航班数据库返回符合条件的航班列表(包含航班号、出发时间、到达时间、剩余座位数)。3.机票预订:客户选择航班并填写乘客信息(姓名、身份证号),系统验证航班剩余座位数是否足够。若足够则锁定座位(剩余座位数减1),提供预订记录(包含预订号、客户ID、航班号、乘客信息、预订时间、状态);若不足则提示“无座”。4.支付:客户对已锁定但未支付的预订记录进行支付。系统验证支付信息(银行账号、有效期、CVV码),若验证通过则更新预订状态为“已支付”;否则取消座位锁定(剩余座位数加1),更新预订状态为“支付失败”。5.预订查询:客户输入预订号或身份证号,查询预订记录的状态及详情。图11是该系统的顶层数据流图,图12是0层数据流图(部分),图13是1层数据流图(“机票预订”加工的细化)。问题1(4分)补充图11中的外部实体。问题2(5分)补充图12中缺失的数据流及其起点和终点。问题3(6分)图13是“机票预订”加工的细化图,指出其中存在的错误(至少4个)。答案解析问题1:顶层数据流图的外部实体是与系统交互的外部角色或系统。根据说明,系统的主要交互方包括客户(发起注册、查询、预订、支付、查询请求)和银行(处理支付验证)。因此,图11中缺失的外部实体为“客户”和“银行”。问题2:0层数据流图需体现系统内部主要加工与数据存储、外部实体间的数据流。根据功能描述:客户注册时需将客户基本信息(姓名、身份证号、手机号)输入系统,系统提供客户ID并存储,因此存在数据流“客户基本信息”从外部实体“客户”到加工“客户注册”;航班查询时,客户输入出发地、目的地、日期,系统查询航班数据库后返回航班列表,因此存在数据流“出发地、目的地、日期”从“客户”到“航班查询”,以及“航班列表”从“航班查询”到“客户”;机票预订时,客户选择航班并填写乘客信息,系统验证座位后提供预订记录,因此存在数据流“乘客信息”从“客户”到“机票预订”,“预订记录”从“机票预订”到“预订数据库”;支付时,客户输入支付信息,系统验证后更新状态,因此存在数据流“支付信息”从“客户”到“支付”,“支付结果”从“支付”到“客户”;预订查询时,客户输入查询条件(预订号或身份证号),系统返回预订详情,因此存在数据流“查询条件”从“客户”到“预订查询”,“预订详情”从“预订查询”到“客户”。结合图12已有的数据流,缺失的数据流包括:①数据流“客户基本信息”,起点“客户”,终点“客户注册”;②数据流“出发地、目的地、日期”,起点“客户”,终点“航班查询”;③数据流“乘客信息”,起点“客户”,终点“机票预订”;④数据流“查询条件”,起点“客户”,终点“预订查询”;⑤数据流“支付信息”,起点“客户”,终点“支付”。问题3:图13是“机票预订”加工的细化图,错误如下:1.加工“验证座位数”的输入数据流缺失:需要从航班数据库获取当前航班的剩余座位数,因此应补充数据流“剩余座位数”从“航班数据库”到“验证座位数”;2.加工“锁定座位”的输出数据流不完整:锁定座位后需更新航班数据库的剩余座位数(剩余座位数减1),因此应补充数据流“更新后的剩余座位数”从“锁定座位”到“航班数据库”;3.加工“提供预订记录”的输入数据流缺失:需要客户ID(来自客户注册的结果)和航班号(来自客户选择的航班),因此应补充数据流“客户ID”从“客户数据库”到“提供预订记录”,“航班号”从“客户”到“提供预订记录”(或通过上层加工传递);4.外部实体“客户”与加工“机票预订”间的数据流不完整:客户需提供乘客信息(姓名、身份证号),因此应补充数据流“乘客信息”从“客户”到“提供预订记录”;5.数据存储“预订数据库”的输入数据流缺失:提供的预订记录需存储到预订数据库,因此应补充数据流“预订记录”从“提供预订记录”到“预订数据库”。试题二(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某在线教育平台拟开发一个课程管理系统,该系统的主要功能如下:课程信息管理:管理课程的基本信息(课程编号、名称、学时、学分)和教师信息(教师工号、姓名、职称)。一门课程可由多名教师授课,一名教师可讲授多门课程。学生选课:学生(学号、姓名、专业)可选择多门课程,每门课程可被多名学生选择。学生需记录选课时间。成绩管理:教师为所选课程的学生录入成绩(百分制),系统自动计算绩点(成绩≥60时,绩点=成绩/10;否则0)。概念模型设计根据需求设计的实体联系图(ER图)如图21所示(部分)。逻辑模型设计根据概念模型设计的关系模式如下(不完整):课程(课程编号,名称,学时,学分)教师(教师工号,姓名,职称)学生(学号,姓名,专业)授课(课程编号,教师工号)选课(学号,课程编号,选课时间)成绩(学号,课程编号,成绩,绩点)问题1(5分)补充图21中缺失的联系及其类型(注:联系类型用1:1、1:n或m:n表示)。问题2(5分)补充“成绩”关系模式中的主键和外键。问题3(5分)若“成绩”关系模式中的“绩点”通过计算得到,是否需要存储?请说明理由。答案解析问题1:ER图中,课程与教师之间是多对多(m:n)联系,因为一门课程可由多名教师授课,一名教师可讲授多门课程;学生与课程之间是多对多(m:n)联系,因为学生可选多门课,一门课可被多名学生选。因此,图21中缺失的联系为:课程与教师之间的“授课”联系,类型m:n;学生与课程之间的“选课”联系,类型m:n。问题2:“成绩”关系模式的主键是(学号,课程编号),因为每个学生的每门课程成绩唯一。外键包括:学号,引用“学生”关系的主键;课程编号,引用“课程”关系的主键。问题3:不需要存储“绩点”。理由:绩点是根据成绩计算得到的导出属性(成绩≥60时,绩点=成绩/10;否则0),可通过查询时实时计算(如SELECT成绩,CASEWHEN成绩>=60THEN成绩/10ELSE0ENDAS绩点FROM成绩)。存储导出属性会增加数据冗余,可能导致数据不一致(如成绩修改后绩点未同步更新)。试题三(共15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某物流企业拟开发一个货物追踪系统,该系统的主要功能如下:1.客户通过互联网提交运输请求(包含货物名称、数量、起运地、目的地、联系方式)。2.系统根据运输请求提供运输任务(包含任务ID、货物信息、起运地、目的地、状态),并分配给最近的运输员。3.运输员通过移动设备接收运输任务,更新运输状态(已接单、运输中、已送达),并反馈位置信息。4.客户和管理员可通过互联网查询运输任务的状态和位置。图31是该系统的用例图(部分),其中用例“提交运输请求”和“查询运输状态”已给出。问题1(6分)补充图31中的参与者和用例。问题2(6分)用例“更新运输状态”可以分解为哪些子用例?说明分解的理由。问题3(3分)用例“分配运输任务”的参与者是谁?说明理由。答案解析问题1:参与者是与系统交互的外部实体。根据说明,系统的参与者包括:客户(提交运输请求、查询运输状态);运输员(接收运输任务、更新运输状态、反馈位置信息);管理员(查询运输状态)。用例是系统提供的功能,除已给出的“提交运输请求”“查询运输状态”外,还包括:“提供运输任务”(系统根据请求提供任务);“分配运输任务”(系统将任务分配给运输员);“接收运输任务”(运输员接收任务);“反馈位置信息”(运输员反馈位置);“更新运输状态”(运输员更新状态)。问题2:“更新运输状态”可分解为“标记已接单”“标记运输中”“标记已送达”三个子用例。理由:这三个状态是运输过程中的不同阶段,更新操作需要分别处理不同状态的转换(如从“未接单”到“已接单”,再到“运输中”,最后到“已送达”),分解后能更清晰地描述每个状态转换的具体操作。问题3:“分配运输任务”的参与者是系统自身(或“货物追踪系统”)。理由:分配运输任务是系统根据规则(如最近运输员)自动完成的功能,无需人工干预,因此参与者是系统本身。试题四(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某公司拟开发一个员工考勤管理系统,需要统计员工每月的迟到次数和缺勤天数。员工的考勤记录包括:日期:考勤的具体日期(如20231001);上班时间:员工实际到达时间(如09:15);下班时间:员工实际离开时间(如18:30);状态:正常、迟到、缺勤(缺勤表示当天无考勤记录)。公司规定:上班时间早于等于09:00为正常,晚于09:00为迟到;缺勤天数为当月无考勤记录的天数。现采用动态规划算法计算某员工某月的迟到次数和缺勤天数。假设每月最多31天,定义二维数组dp[i][j],其中i表示日期(1≤i≤31),j表示状态(0表示正常,1表示迟到,2表示缺勤)。dp[i][j]表示第i天状态为j时的累计次数。问题1(5分)写出动态规划的状态转移方程。问题2(5分)若某员工10月的考勤记录如下(仅列出部分):日期:1(08:50,正常)、2(09:10,迟到)、3(无记录,缺勤)、4(09:05,迟到)、…,31(无记录,缺勤)。计算该员工10月的迟到次数和缺勤天数。问题3(5分)动态规划算法在此问题中的优势是什么?答案解析问题1:状态转移方程需根据当天考勤记录更新累计次数。设第i天的状态为s(s=0/1/2),则:若第i天正常(s=0):dp[i][0]=dp[i1][0]+dp[i1][1]+dp[i1][2](前一天任意状态,当天正常,累计正常次数加1);若第i天迟到(s=1):dp[i][1]=dp[i1][0]+dp[i1][1]+dp[i1][2](前一天任意状态,当天迟到,累计迟到次数加1);若第i天缺勤(s=2):dp[i][2]=dp[i1][0]+dp[i1][1]+dp[i1][2](前一天任意状态,当天缺勤,累计缺勤次数加1);初始条件:dp[0][0]=dp[0][1]=dp[0][2]=0(第0天无记录)。问题2:根据考勤记录,10月共31天:迟到天数:日期2(09:10)、4(09:05),假设其他日期中还有x天迟到,总迟到次数为2+x;缺勤天数:日期3、31,假设其他无记录的天数为y,总缺勤天数为2+y(需根据完整记录统计)。假设仅给出的4天中,迟到2次,缺勤2天,其余27天中无其他迟到或缺勤(即正常),则总迟到次数为2,缺勤天数为2(实际需根据完整数据计算)。问题3:动态规划算法在此问题中的优势是:通过状态转移方程逐步计算每天的累计次数,避免重复计算;时间复杂度为O(n)(n为当月天数),效率高;能清晰记录每天的状态,便于回溯和统计。试题五(共15分)阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某公司拟开发一个在线考试系统,系统的主要功能如下:考生登录:考生输入用户名和密码,系统验证身份。试卷提供:根据考试科目和难度,从试题库中随机抽取试题提供试卷。在线答题:考生在规定时间内答题,系统实时记录答案。自动判卷:系统根据参考答案和评分规则对试题(单选题、多选题、填空题)自动评分。成绩查询:考生查询考试成绩及答题详情。图51是该系统的类图(部分),其中类“考生”“试题库”“试卷”已给出。问题1(5分)补充图51中的类及其属性和方法。问题2(5分)说明类“试卷”与“试题”之间的关系类型,并解释理由。问题3(5分)类“自动判卷”需要哪些接口或方法?列举至少3个。答案解析问题1:需补充的类包括:“考试”:属性(考试ID、科目、难度、开始时间、结束时间),方法(提供试卷、启动考试、结束考试);“试题”:属性(试题ID、类型、内容、参考答案、评分规则),方法(获取内容、获取答案);“答题记录”:属性(记录ID、考生ID、试题ID、答案、得分),

温馨提示

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

评论

0/150

提交评论