2005上半年软件设计师考试真题及答案-下午卷
试题一
阅读以下说明和数据流图,回答问题1~问题3。
【说明】
学生住宿服务系统帮助学生在就学的缄市内找到所需的住房,系统对出租的房屋信息、房主信息、需要租房
的学生信息以及学生和房主的会面信息进行管理和维护。
房主信息包括姓名、地址、电话号码以及系统分配的唯一身份标识D.和密码;房屋信息包括房屋地址、类型
(单间/套间)、适合住宿的人数、房租、房主的ID以及现在是否可以出租(例如由于装修原因,需等到装修后才可出
租或者房屋已被租出)。每当房屋信息发生变化时,房主必须通知系统,系统将更新房屋文件以便学生能够获得准
确的可租用房屋信息。房主向系统中加入可租用的房屋信息时,须交纳一定的费用,由系统自动给出费用信息。房
主可随时更新房屋的各种属性。
学生可通过系统查询现有的可租用的房屋,但必须先在系统中注册。学生信息包括姓名、现住址、电话号码、
出生日期、性别以及系统分配的唯一身份标识(1D.和密码。若学生希望租用某房屋,则需要发出租房请求,请求中
包含房屋的详细信息,系统将安排学生与房主会面的时间和地点,并将会面信息通知学生和房主,会面信息包括会
面时间、地点以及会面双方的基本信息,系统将记录会面信息。
学生住宿服务系统的顶层图如图1-1所示;学生住宿服务系统的第0层DFD图如图 1-2所示,其中,加工3的细
化图如图1-3所示。
【数据流图1-1】
【数据流图1-2】
1
【数据流图1-3】
1、【问题1】
(1)数据流图1-1缺少了一条数据流(在图1-2中也未给出该数据流),请给出此数据流的起点和终点,并采用
说明中的词汇给出此数据流名。
(2)数据流图1-2中缺少了与“查询房屋”加工相关的数据流,请指出此数据流的起点和终点。
2
2、【问题2】
“安排会面”加工除需要写入会面文件外,还需要访问哪些文件?
3、【问题3】
请补齐下列数据字典条目:
登录信息=学生ID+密码
注册信息=___________
试题二
阅读以下说明和表,回答问题1~问题4。
【说明】
某公司信息管理系统的需求分析和部分关系模式设计的结果描述如下。
1.公司有多个部门,每个部门有一名负责人、一间办公室、一部电话、多名职员,每个职员最多属于一个
部门,负责人也是一名公司职员。
2.公司职员的月工资大于等于1000元且小于等于8000元。
3.数据库的部分关系模式设计如下:
职员(职员号,职员姓名,月工资,部门号,办公室,电话)
部门(部门号,部门名,负责人代码,任职时间)
4.“职员”和“部门”的关系示例分别如表2-1和表2-2所示。
【表2-1】
“职员”关系
职员号
职员姓名
月工资
部门号
60801
60802
60803
60804
60805
60806
60807
60808
60810
60820
60821
60836
汪俊华
杨晓军
王晓华
邢彦军
吕靖原
芦文峰
牟雪松
高亚南
周 黎
姚应磊
程文驰
许俊坤
1000
3200
4300
2800
5300
3200
2800
1200
3200
1200
3200
0
1
1
2
2
3
3
3
4
4
4
5
办公室
A座201
A座201
B座202
B座202
A座301
A座301
A座301
B座302
B座302
B座302
B座303
电话
6883122
6883122
6883123
6883123
6883124
6883124
6883124
6883125
6883125
6883125
6883126
Null
…
…
3
【表2-2】 “部门”关系
部门号
1
2
3
4
5
部门名
财务部
市场部
研发部
生产部1
生产部2
负责人代码
60802
60803
60805
60810
60821
任职时间
2001-8-5
2002-6-3
2002-6-3
2003-8-1
2004-6-3
4、【问题1】
根据上述说明,请给出
(1)“职员”关系模式的主键和外键。
(2)“部门”关系模式的主键和外键。
5、【问题2】
(1)用SQL定义“职员”关系模式,请在空缺处填入正确的内容。
Create Table 职员 ( 职员号CHAR(5)
(a) ,
职员姓名CHAR(8),
月工资 NUMBER(4),
部门号 CHAR(1),
办公室 CHAR(20),
电话
CHAR(8),
(b)
(部门号),
CHECK (月工资>=1000 AND月工资<=8000));
(2)针对人数大于等于2的部门创建视图D_View(Dept,D_num,D_Totals, D_AvgPay),其中,Dept为部门号,
D_num为部门人数,D_Totals为工资总数,D_AvgPay为平均工资,请在空缺处填入正确的内容。
Create View D_View (Dept,D_num,D_Totfls,D_AvgPay)As
(Select部门号, (c)
from 职员
(d)
count(*)>=2 WHERE 部门号 IS NOT NULL);
6、【问题3】
对于表2-1、表2-2所示的“职员”和“部门”关系,请指出下列各行是否可以插入“职员”关系,为什么?
4
7、【问题4】
原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修改后的“职员”和“部
门”关系模式。
试题三
阅读以下说明和流程图,从供选择的答案中选出应填入流程图 (n) 处的字句写在答题纸的对应栏内。
【说明】
一个印刷电路板的布线区域可分成n×m个方格,如图3-1(a)所示,现在需要确定电路板中给定的两个方格的
中心点之间的最短布线方案。电路只能沿水平或垂直方向布线,如图3-1(b)中虚线所示。为了避免线路相交,应将
已布过线的方格做封锁标记,其他线路不允许穿过被封锁的方格。
【图3-1】
设给定印刷电路板的起始方格x与目的方格y尚未布线,求这两个方格间最短布线方案的基本思路是:从起始
方格x开始,先考查距离起始方格距离为1的可达方格并用一个路径长度值标记,然后依次考查距离为2,3,…的可
达方格,直到距离为k的某一个可达方格就是目标方格y时为止,或者由于不存在从x到y的布线方案而终止。布线区
域中的每一个方格与其相邻的上、下、左、右四个方格之间的距离为1,依次沿下、右、上、左这四个方向考查,
并用一个队列记录可达方格的位置。表3-1给出了沿这四个方向前进1步时相对于当前方格的相对偏移量。
【表3-1】
5
搜索顺序i
方向
行偏移量
列偏移量
0
1
2
3
下
右
上
左
1
0
-1
0
0
1
0
-1
例如,设印刷电路板的布线区域可划分为一个6×8的方格阵列,如图3-2(a)所示,其中阴影表示已封锁方格。从
起始方格x(位置[3,2],标记为0)出发,按照下、右、上、左的方向依次考查,所标记的可达方格如图3-2(a)所示,
目标方格为y(位置[4,7],标记为10),相应的最短布线路径如图3-2(b)虚线所示。
【图3-2】
图3-3和图3-4所示的流程图即利用上述思路,在电路板方格阵列中进行标记,图
【图3-3】
6
【图3-4】
7
中使用的主要符号如表3-2所示。在图3-4中,设置电路板初始格局即将可布线方格置为数值-1、已布线方格(即封
8