下半年软件设计师下午试题及答案Word下载.docx
《下半年软件设计师下午试题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《下半年软件设计师下午试题及答案Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
【阐明】
某高校欲开发一种成绩管理系统,记录并管理所有选修课程学生平时成绩和考试成绩,其重要功能描述如下:
1.每门课程均有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程平时成绩。
课程结束后进行期末考试,其成绩作为这门课程考试成绩。
2.学生平时成绩和考试成绩均由每门课程主讲教师上传给成绩管理系统。
3.在记录学生成绩之前,系统需要验证这些成绩与否有效。
一方面,依照学生信息文献来确认该学生与否选修这门课程,若没有,那么这些成绩是无效;
如果她确选修了这门课程,再依照课程信息文献和课程单元信息文献来验证平时成绩与否与这门课程所包括单元相相应,如果是,那么这些成绩是有效,否则无效。
4.对于有效成绩,系统将其保存在课程成绩文献中。
对于无效成绩,系统会单独将其保存在无效成绩文献中,并将详细状况提交给教务处。
在教务处没有给出详细解决意见之前,系统不会解决这些成绩。
5.若一门课程所有有效平时成绩和考试成绩都已经被系统记录,系统会发送课程完毕告知给教务处,告知该门课程成绩已经齐全。
教务处依照需要,祈求系统生成相应成绩列表,用来提交考试委员会审查。
6.在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对与否存在错误。
主讲教师须将核对之后成绩报告返还系统。
7.依照主讲教师核对后成绩报告,系统生成相应成绩列表,递交考试委员会进行审查。
考试委员会在审查之后,上交一份成绩审查成果给系统。
对于所有通过审查成绩,系统将会生成最后成绩单,并告知每个选课学生。
现采用构造化办法对这个系统进行分析与设计,得到如图1-1所示顶层数据流图和图1-2所示0层数据流图。
图1-1顶层数据流图
图1-20层数据流图
【问题1】
(4分)
使用阐明中词语,给出图1-1中外部实体E1~E4名称。
【问题2】
(3分)
使用阐明中词语,给出图1-2中数据存储D1~D5名称。
【问题3】
(6分)
数据流图1-2缺少了三条数据流,依照阐明及数据流图1-1提供信息,分别指出这三条数据流起点和终点。
起点
终点
【问题4】
(2分)
数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求重要图形化工具,程序流程图也是软件开发过程中比较惯用图形化工具。
简要阐明程序流程图合用场合与作用。
试题二(15分)
阅读下列阐明,回答问题1至问题4,将解答填入答题纸相应栏内。
某汽车维修站拟开发一套小型汽车维修管理系统,对车辆维修状况进行管理。
1.对于新客户及车辆,汽车维修管理系统一方面登记客户信息,涉及:
客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;
还要记录客户车辆信息,涉及:
车牌号、车型、颜色等信息。
一种客户至少有一台车。
客户及车辆信息如表2-1所示。
表2-1客户及车辆信息
客户编号
GS0051
客户名称
×
公司
客户性质
单位
折扣率
95%
联系人
杨浩东
联系电话
82638779
车牌号
颜色
车型
车辆类别
**0765
白色
帕萨特
微型车
2.记录维修车辆故障信息。
涉及:
维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。
维修厂员工分为:
维修员和业务员。
车辆维修一方面委托给业务员。
业务员对车辆进行检查和故障分析后,与客户磋商,拟定故障现象,生成维修委托书。
如表2-2所示。
表2-2维修委托书
No.070登记日期:
-07-02
维修类型
普通
作业分类
中修
结算方式
自付
进厂时间
070211:
09
业务员
张小江
业务员编号
012
预测竣工时间
故障描述
车头损坏,水箱漏水
3.维修车间依照维修委托书和车辆故障现象,在已有维修项目中选取并拟定一种或各种详细维修项目,安排有关维修工及工时,生成维修派工单。
维修派工单如表2-3所示。
表2-3维修派工单
No.070
维修项目编号
维修项目
工时
维修员编号
维修员工种
维修车头
5.00
机修
维修车头
2.00
023
漆工
015
水箱焊接补漏
1.00
006
焊工
017
更换车灯
4.客户车辆在车间修理完毕后,依照维修项目单价和维修派工单中工时计算车辆本次维修总费用,记录在委托书中。
依照需求阶段收集信息,设计实体联系图(图2-1)和关系模式(不完整)如下所示。
图2-1中业务员和维修工是员工子实体。
【概念构造设计】
图2-1实体联系图
【逻辑构造设计】
客户((5),折扣率,联系人,联系电话)
车辆(车牌号,客户编号,车型,颜色,车辆类别)
委托书((6),维修类型,作业分类,结算方式,进厂时间,
预测竣工时间,登记日期,故障描述,总费用)
维修项目(维修项目编号,维修项目,单价)
派工单((7),工时)
员工((8),工种,员工类型,级别)
依照问题描述,填写图2-1中
(1)~(4)处联系类型。
联系类型分为一对一、一对多和多对多三种,分别使用1:
1,1:
n或1:
*,m:
n或*:
*表达。
补充图2-1中联系并指明其联系类型。
联系名可为:
联系1,联系2,…。
依照图2-1和阐明,将逻辑构造设计阶段生成关系模式中空(5)~(8)补充完整。
依照问题描述,写出客户、委托书和派工单这三个关系主键。
试题三(共15分)
阅读下列阐明和图,回答问题1至问题4,将解答填入答题纸相应栏内。
已知某唱片播放器不但可以播放唱片,并且可以连接电脑并把电脑中歌曲刻录到唱片上(同步歌曲)。
连接电脑过程中还可自动完毕充电。
关于唱片,尚有如下描述信息:
1.每首歌曲描述信息涉及:
歌曲名字、谱写这首歌曲艺术家以及演奏这首歌曲艺术家。
只有两首歌曲这三某些信息完全相似时,才以为它们是同一首歌曲。
艺术家也许是一名歌手或一支由2名或2名以上歌手所构成乐队。
一名歌手可以不属于任何乐队,也可以属于一种或各种乐队。
2.每张唱片由多条音轨构成;
一条音轨中只包括一首歌曲或为空,一首歌曲可分布在多条音轨上;
同一首歌曲在一张唱片中最多只能浮现一次。
3.每条音轨均有一种开始位置和持续时间。
一张唱片上音轨顺序是非常重要,因而对于任意一条音轨,播放器需要精确地懂得,它下一条音轨和上一条音轨是什么(如果存在话)。
依照上述描述,采用面向对象办法对其进行分析与设计,得到了如表3-1所示类列表、如图3-1所示初始类图以及如图3-2所示描述播放器行为UML状态图。
表3-1类列表
类名
说明
Artist
艺术家
Song
歌曲
Band
乐队
Musician
歌手
Track
音轨
Album
唱片
图3-1初始类图
图3-2播放器行为UML状态图
依照阐明中描述,使用表3-1给出类名称,给出图3-1中A~F所相应类。
依照阐明中描述,给出图3-1中
(1)~(6)处多重度。
图3-1中缺少了一条关联,请指出这条关联两端所相应类以及每一端多重度。
类
多重度
依照图3-2所示播放器行为UML状态图,给出从“关闭”状态到“播放”状态所通过最短事件序列(假设电池一开始就是有电)。
试题四(共15分)
阅读下列阐明和图,回答问题1至问题3,将解答填入答题纸相应栏内。
某机器上需要解决n个作业job1,job2,…,jobn,其中:
(1)每个作业jobi(1≤i≤n)编号为i,jobi有一种收益值p[i]和最后期限值d[i];
(2)机器在一种时刻只能解决一种作业,并且每个作业需要一种单位时间进行解决,一旦作业开始就不可中断,每个作业最后期限值为单位时间正整数倍;
(3)job1~jobn收益值呈非递增顺序排列,即p[1]≥p[2]≥…≥p[n];
(4)如果作业jobi在其期限之内完毕,则获得收益p[i];
如果在其期限之后完毕,则没有收益。
为获得较高收益,采用贪心方略求解在期限之内完毕作业序列。
图4-1是基于贪心方略求解该问题流程图。
(1)整型数组J[]有n个存储单元,变量k表达在期限之内完毕作业数,J[1..k]存储所有可以在期限内完毕作业编号,数组J[1..k]里作业按其最后期限非递减排序,即d[J[1]]≤…≤d[J[k]]。
(2)为了以便于在数组J中加入作业,增长一种虚拟作业job0,并令d[0]=0,
J[0]=0。
(3)算法大体思想:
先将作业job1编号1放入J[1],然后,依次对每个作业jobi(2≤i≤n)进行鉴定,看其能否插入到数组J中,若能,则将其编号插入到数组J恰当位置,并保证J中作业按其最后期限非递减排列,否则不插入。
jobi能插入数组J充要条件是:
jobi和数组J中已有作业均能在其期限之内完毕。
(4)流程图中重要变量阐明如下:
i:
循环控制变量,表达作业编号;
k:
表达在期限内完毕作业数;
r:
若jobi能插入数组J,则其在数组J中位置为r+1;
q:
循环控制变量,用于移动数组J中元素。
图4-1贪心方略流程图
(9分)
请填充图4-1中空缺
(1)、
(2)和(3)处。
假设有6个作业job1,job2,…,job6;
完毕作业收益数组p=(p[1],p[2],p[3],p[4],p[5],p[6])=(90,80,50,30,20,10);
每个作业解决期限数组d=(d[1],d[2],d[3],d[4],d[5],d[6])=(1,2,1,3,4,3)。
请应用试题中描述贪心方略算法,给出在期限之内解决作业编号序列(4)(按作业解决顺序给出),得到总收益为(5)。
对于本题作业解决问题,用图4-1贪心算法方略,能否求得最高收益?
(6)。
用贪心算法求解任意给定问题时,与否一定能得到最优解?
(7)。
从下列3道试题(试题五至试题七)中任选1道解答。
如果解答试题数超过1道,则题号小1道解答有效。
试题五(共15分)
阅读如下阐明和C代码,将应填入(n)处字句