2013年上半年软考《软件设计师》下午模拟试卷二

如果您发现本试卷没有包含本套题的全部小题,请尝试在页面顶部本站内搜索框搜索相关题目,一般都能找到。
7

阅读下列算法说明和流程图,根据要求回答问题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];如果在其期限之后完成,则没有收益。

 为获得较高的收益,采用贪心策略求解在期限之内完成的作业序列。图3-25是基于贪心策略求解该问题的流程图。

 (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中的元素。

请将图3-25中的(1)~(3)空缺处的内容填写完整。

9

阅读以下技术说明,根据要求回答问题1~问题4。

 [说明]

 某汽车停车场欲建立一个信息系统,已经调查到的需求如下。

 1.在停车场的入口和出口分别安装一个自动栏杆、一台停车卡打印机、一台读卡器和一个车辆通过传感器等,其示意图见如图3-21所示。

 

 2.当汽车到达入口时,驾驶员按下停车卡打印机的按钮获取停车卡。当驾驶员拿走停车卡后,系统命令栏杆自动抬起;汽车通过入口后,入口处的传感器通知系统发出命令,栏杆自动放下。

 3.在停车场内分布着若干个付款机器。驾驶员将在入口处获取的停车卡插入付款机器,并缴纳停车费。付清停车费之后,将获得一张出场卡,用于离开停车场。

 4.当汽车到达出口时,驾驶员将出场卡插入出口处的读卡器。如果这张卡是有效的,系统命令栏杆自动抬起;汽车通过出口后,出口传感器通知系统发出命令,栏杆自动放下。若这张卡是无效的,系统不发出栏杆抬起命令而发出告警信号。

 5.系统自动记录停车场内空闲的停车位的数量。若停车场当前没有车位,系统将在入口处显示“车位已满”信息。这时,停车卡打印机将不再出卡,只允许场内汽车出场。

 根据上述描述,采用面向对象方法对其进行分析与设计,得到如表3-11所示的类/用例/状态列表,如图3-22所示的用例图,如图3-23所示的初始类图以及如图3-24所示的描述入口自动栏杆行为的UML状态图。

根据说明中的描述,使用表3-11给出的用例名称,给出图3-22中U1、U2和U3所对应的用例。

13

阅读下列说明,根据要求回答问题1~问题3。

 [说明]

 某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。

 [需求分析结果]

 1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。

 2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-9所示。系统记录训练场地安排的信息。

3.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表3-10所示。

4.所有球员、教练和裁判可能出现重名情况。

 [概念模型设计]

 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。

 1.实体联系图(图3-20)

 

 2.关系模式

 教练(教练编号,姓名,年龄)

 队员(队员编号,姓名,年龄,身高,体重, (a) 

 球队(球队名称,代表地区,成立时间, (b) 

 场地(场地名称,场地规模,位置)

 训练记录( (c) )

 裁判(裁判编号,姓名,年龄,级别)

 比赛记录( (d) )

根据问题描述,补充4个联系,完善图3-20的实体联系图。

18

阅读以下某建账软件的技术说明和数据流图,根据要求回答问题1~问题6。

 [说明]

 某商业银行已有一套基于客户机/服务器(C/S)模式的储蓄系统X和一套建账软件Y。建账软件Y主要用于将储蓄所手工处理的原始数据转换为系统X所需的数据格式。该建账软件具有以下功能。

 (1)分户账录入:手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确性。

 (2)初录/复录比对:将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。

 (3)数据确认:当上述两套数据完全一致后,将其中任一套作为最终进入系统X的原始数据。

 (4)汇总核对和打印:对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。该建账软件需要打印的分户账清单样式如表3-8所示。

(5)数据转换:将经过确认的数据转换为储蓄系统X需要的中间格式数据。

 (6)数据清除:为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的数据。

 该软件的数据流图如图3-17~图3-19所示,图中部分数据流数据文件的格式如下。

 初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质

 复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质

 会计账目=储蓄所号+总户数+总余额

 操作结果=初录操作结果+比对操作结果+复录操作结果

不考虑数据确认处理(加工2),请指出图3-17~图3-19数据流图中可能存在的错误。