2007年软件设计师考试复习题及答案

上传人:子 文档编号:42768266 上传时间:2018-06-03 格式:DOC 页数:10 大小:544.34KB
返回 下载 相关 举报
2007年软件设计师考试复习题及答案_第1页
第1页 / 共10页
2007年软件设计师考试复习题及答案_第2页
第2页 / 共10页
2007年软件设计师考试复习题及答案_第3页
第3页 / 共10页
2007年软件设计师考试复习题及答案_第4页
第4页 / 共10页
2007年软件设计师考试复习题及答案_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《2007年软件设计师考试复习题及答案》由会员分享,可在线阅读,更多相关《2007年软件设计师考试复习题及答案(10页珍藏版)》请在金锄头文库上搜索。

1、1试题一试题一(共共 1515 分分) 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考 试成绩,其主要功能描述如下:1. 每门课程都有 3 到 6 个单元构成,每个单元结束后会 进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作 为这门课程的考试成绩。2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给 成绩管理系统。3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据 学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果 他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否

2、 与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。4. 对于 有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无 效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系 统不会处理这些成绩。5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记 录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需 要,请求系统生成相应的成绩列表,用来提交考试委员会审查。6. 在生成成绩列表之前, 系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后 的成绩报告返还系统。7. 根据主讲教师

3、核对后的成绩报告,系统生成相应的成绩列表, 递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对 于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。现采用结 构化方法对这个系统进行分析与设计,得到如图 1-1 所示的顶层数据流图和图 1-2 所示的 0 层数据流图。成绩管理系统E2E4E1E3成绩单学生成绩成绩报告核对后的成绩报告成绩列表成绩审查结果生成成绩列表请求无效成绩通知课程完成通知图 1-1 顶层数据流图 【问题问题 1】1】 (4 分)分)使用说明中的词语,给出图 1-1 中的外部实体 E1E4 的名称。 【问题问题 2】2】 (3 分)分)

4、使用说明中的词语,给出图 1-2 中的数据存储 D1D5 的名称。 【问题问题 3】3】 (6 分)分)数据流图 1-2 缺少了三条数据流,根据说明及数据流图 1-1 提供的信息, 分别指出这三条数据流的起点和终点。起起 点点终终 点点【问题问题 4】4】 (2)数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图 形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。简要说明程序流程2图的适用场合与作用。D51验证学生信息2记录有效成绩3记录无效成绩4生成成绩列表E2E4E1D1D3D25生成最终成绩单E3 D4有效成绩无效成绩无效成绩通知课程完成通知学生成绩成绩报告核对后

5、的成绩报告成绩列表成绩审查结果生成成绩列表请求成绩单图 1-2 0 层数据流图试题二(试题二(15 分)分)阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。【说明说明】某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。1对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位) 、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表 2-1 所示。表 2-1 客户及车辆信息客户编号GS0051客户名称公司客户性质单位折扣率95%联系人杨浩

6、东联系电话82638779车牌号颜色车型车辆类别*0765白色帕萨特微型车2记录维修车辆的故障信息。包括:维修类型(普通、加急) 、作业分类(大、中、小修) 、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表 2-2 所示。表 2-2 维修委托书 No.20070702003 登记日期:2007-07-02车牌号*0765客户编号GS0051维修类型普通作业分类中修结算方式自付进厂时间20070702 11:09业务员张小江业务员编号012预计完工时间故障描述车头损坏

7、,水箱漏水3维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表 2-3 所示。表 2-3 维修派工单No.20070702003维修项目编号维修项目工时维修员编号维修员工种012维修车头5.00012机修012维修车头2.00023漆工015水箱焊接补漏1.00006焊工3017更换车灯1.00012机修4客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。根据需求阶段收集的信息,设计的实体联系图(图 2-1)和关系模式(不完整)如下所示。图 2-

8、1 中业务员和维修工是员工的子实体。 【概念结构设计概念结构设计】图 2-1 实体联系图【逻辑结构设计逻辑结构设计】客户( (5) ,折扣率,联系人,联系电话)车辆(车牌号,客户编号,车型,颜色,车辆类别)委托书( (6) ,维修类型,作业分类,结算方式,进厂时间,预计完工时间,登记日期,故障描述,总费用)维修项目(维修项目编号,维修项目,单价)派工单( (7) ,工时)员工( (8) ,工种,员工类型,级别)【问题问题 1】1】 (4 分)分)根据问题描述,填写图 2-1 中(1)(4)处联系的类型。联系类型分为一对一、一对多 和多对多三种,分别使用 1 : 1,1 : n 或 1 : *,

9、m : n 或 * : *表示。 【问题问题 2】2】 (4 分)分)补充图 2-1 中的联系并指明其联系类型。联系名可为:联系 1,联系 2,。 【问题问题 3】3】 (4 分)分)根据图 2-1 和说明,将逻辑结构设计阶段生成的关系模式中的空(5)(8)补充完整。 【问题问题 4】4】 (3 分)分)根据问题描述,写出客户、委托书和派工单这三个关系的主键。 试题三(试题三(共共 1515 分分) 【说明说明】已知某唱片播放器不仅可以播放唱片,而且可以连接电脑并把电脑中的歌曲刻录到唱片上(同步歌曲) 。连接电脑的过程中还可自动完成充电。关于唱片,还有以下描述信息:1每首歌曲的描述信息包括:歌

10、曲的名字、谱写这首歌曲的艺术家以及演奏这首歌曲的艺术家。只有两首歌曲的这三部分信息完全相同时,才认为它们是同一首歌曲。艺术家可能是一名歌手或一支由 2 名或 2 名以上的歌手所组成的乐队。一名歌手可以不属于任何乐队,也可以属于一个或多个乐队。2每张唱片由多条音轨构成;一条音轨中只包含一首歌曲或为空,一首歌曲可分布在多条音轨上;同一首歌曲在一张唱片中最多只能出现一次。3. 每条音轨都有一个开始位置和持续时间。一张唱片上音轨的次序是非常重要的,因此对于任意一条音轨,播放器需要准确地知道,它的下一条音轨和上一条音轨是什么(如果存在的话) 。根据上述描述,采用面向对象方法对其进行分析与设计,得到了如表

11、 3-1 所示的类列表、如图 3-1 所示的初始类图以及如图 3-2 所示的描述播放器行为的 UML 状态图。表 3-1 类列表车辆委托书维修项目派工故障员工客户维修工业务员1(1) (2) (4) (3) 4类类 名名说说 明明Artist艺术家Song歌曲Band乐队Musician歌手Track音轨Album唱片图 3-1 初始类图图 3-2 播放器行为 UML 状态图【问题问题 1】1】 (3 分)分) 根据说明中的描述,使用表 3-1 给出的类的名称,给出图 3-1 中的 AF 所对应的类。【问题问题 2】2】 (6 分)分) 根据说明中的描述,给出图 3-1 中(1)(6)处的多重

12、度。【问题问题 3】3】 (4 分)分)图 3-1 中缺少了一条关联,请指出这条关联两端所对应的类以及每一端的多重度。类类多重度多重度【问题问题 4】4】 (2 分)分)根据图 3-2 所示的播放器行为 UML 状态图,给出从“关闭”状态到“播放”状态所经过的最短事件序列(假设电池一开始就是有电的) 。试题四试题四( (共共 1515 分分) )【说明说明】ACDFEB(1) (2) (3) (4) (5) (6) 10.*10.*编写演奏5某机器上需要处理 n 个作业 job1, job2, , jobn,其中:(1) 每个作业 jobi(1in)的编号为i,jobi有一个收益值 pi和最后

13、期限值 di;(2) 机器在一个时刻只能处理一个作业,而且每个作业需要一个单位时间进行处理,一旦作业开始就不可中断,每个作业的最后期限值为单位时间的正整数倍;(3) job1jobn的收益值呈非递增顺序排列,即p1p2pn;(4) 如果作业 jobi在其期限之内完成,则获得收益 pi;如果在其期限之后完成,则没有收益。为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图 4-1 是基于贪心策略求解该问题的流程图。(1) 整型数组 J有 n 个存储单元,变量 k 表示在期限之内完成的作业数,J1.k存储所有能够在期限内完成的作业编号,数组 J1.k里的作业按其最后期限非递减排序,即 d

14、J1 dJk。(2) 为了方便于在数组 J 中加入作业,增加一个虚拟作业 job0,并令 d0 = 0,J0 = 0。(3) 算法大致思想:先将作业 job1的编号 1 放入 J1,然后,依次对每个作业 jobi (2in)进行判定,看其能否插入到数组 J 中,若能,则将其编号插入到数组 J 的适当位置,并保证 J 中作业按其最后期限非递减排列,否则不插入。jobi能插入数组 J 的充要条件是:jobi和数组 J 中已有作业均能在其期限之内完成。(4) 流程图中的主要变量说明如下: i:循环控制变量,表示作业的编号;k:表示在期限内完成的作业数;r:若 jobi能插入数组 J,则其在数组 J

15、中的位置为 r+1;q:循环控制变量,用于移动数组 J 中的元素。图 4-1 贪心策略流程图【问题问题 1】1】 (9 9 分)分)请填充图 4-1 中的空缺(1)、(2)和(3)处。【问题问题 2】(42】(4 分分) )假设有 6 个作业 job1, job2, , job6;完成作业的收益数组 p=(p1,p2,p3,p4,p5,p6) = (90,80,50,30,20,10); 每个作业的处理期限数组 d=(d1,d2,d3,d4,d5,d6) = (1,2,1,3,4,3)。请应用试题中描述的贪心策略算法,给出在期限之内处理的作业编号序列 (4) (按作业处理的顺序给出) ,得到的总收益为 (5) 。【问题问题 3】(23】(2 分分) )开开始始d0 = J0 = 0;J1 = 1; k = 1i = 2( (1 1) ) r = k( (2 2) ) 输输入入作作业业数数n n 和和期期限限数数组组d d结结束束输输出出可可完完成成 的的作作业业序序列列YNYNYNYN处处理理a a处处理理a a开开始始处处理理a a结结束束i+q = q - 1( (3 3) )k+?6对于本题的作业处理问题,用图 4-1 的贪心算法策略,能否求得最高收益? (6) 。用贪心算法求解任意给定问题时,是否一定能得到最优解? (7)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号