软件设计师历年试题 int f(int r)
{ int x;
x = r*r +1 ; return x;
}
(49)A. x和r均是全局变量
B. x是全局变量、r是形式参数 D. x是局部变量、r是全局变量
C. x是局部变量、r是形式参数
● 程序语言的大多数语法现象可用上下文无关文法描述。对于一个上下文无关文法G=(N,T,P,S),其中N是非终结符号的集合,T是终结符号的集合,P是产生式集合,S是开始符号。令集合V= N∪T,那么G所描述的语言是 (50) 的集合。
(50)A. 从S出发推导出的包含V中所有符号的串 B. 从S出发推导出的仅包含T中符号的串
C. N中所有符号组成的串 (51)A. 数据定义
B. 数据操作
D. T中所有符号组成的串
D. 数据控制
● 在数据库系统中,数据的完整性约束的建立需要通过数据库管理系统提供的(51) 语言来实现。
C. 数据查询
● 若某个关系的主码为全码,则该主码应包含 (52) 。 (52)A. 单个属性
B. 两个属性 C. 多个属性 D. 全部属性
● 建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Zip,City)分别表示:供应商代码、供应商名、供应商邮编、供应商所在城市,其函数依赖为:Sno→(Sname,Zip,City ),Zip→City。“供应商”表S属于 (53) 。 (53)A. 1NF
B. 2NF
C. 3NF
D. BCNF
● 关系R、S如下图所示,R S可由 (54) 基本的关系运算组成,R S = (55) 。
A a b c d B b a d f R
C c d e g
S
A a d b C c f d D d g g (54)A. (55)A.
?、?和? B. ?、?和?
A a b c B b a d B b a C c d e C c d
C. ?、?和? A a b d A a b B b a f B b a D. ?、?和? D d g g c d g B. C C.
A a b D. C c d D d g
● 若事务T1对数据A已加排它锁,那么其它事务对数据A (56) 。 (56)A. 加共享锁成功,加排它锁失败 B. 加排它锁成功,加共享锁失败
C. 加共享锁、加排它锁都成功 D. 加共享锁、加排它锁都失败
● 拓扑排序是指有向图中的所有顶点排成一个线性序列的过程,若在有向图中从顶点vi到vj有一条路径,则在该线性序列中,顶点vi必然在顶点vj之前。因此,若不能得到全部顶点的拓扑排序序列,则说明该有向图一定 (57) 。 (57)A. 包含回路
B. 是强连通图 C. 是完全图
D. 是有向树
25
软件设计师考试历年真题 第49页 共 26 页 软件设计师历年试题 设栈S和队列Q的初始状态为空,元素按照a、b、c、d、e的次序进入栈S,当一个元素从栈中出来后立即进入队列Q。若队列的输出元素序列是c、d、b、a、e,则元素的出栈顺序是 (58) ,栈S的容量至少为 (59) 。 (58)A. a、b、c、d、e (59)A. 2
B. e、d、c、b、a C. c、d、b、a、e B. 3
C. 4
D. e、a、b、d、c D. 5
● 对于n(n≥0)个元素构成的线性序列L,在 (60) 时适合采用链式存储结构。 (60)A. 需要频繁修改L中元素的值
B. 需要频繁地对L进行随机查找
C. 需要频繁地对L进行删除和插入操作 D. 要求L存储密度高
● 对于二叉查找树(Binary Search Tree),若其左子树非空,则左子树上所有结点的值均小于根结点的值;若其右子树非空,则右子树上所有结点的值均大于根结点的值;左、右子树本身就是两棵二叉查找树。因此,对任意一棵二叉查找树进行 (61) 遍历可以得到一个结点元素的递增序列。在具有n个结点的二叉查找树上进行查找运算,最坏情况下的算法复杂度为 (62) 。 (61) A. 先序 (62) A. O(n2) 法策略。 (63)A. 贪心
B. 分而治之
C. 动态规划
D. 试探+回溯
● 关于算法与数据结构的关系, (64) 是正确的。 (64)A. 算法的实现依赖于数据结构的设计
B. 算法的效率与数据结构无关 C. 数据结构越复杂,算法的效率越高 D. 数据结构越简单,算法的效率越高
● 若一个问题既可以用迭代方式也可以用递归方式求解,则 (65) 方法具有更高的时空效率。 (65)A. 迭代
B. 递归
C. 先递归后迭代
D. 先迭代后递归
D. 服务提供商
B. 中序
C. 后序
D. 层序
B. O(nlog2n)
C. O(log2n)
D. O(n)
● 迪杰斯特拉(Dijkstra)算法按照路径长度递增的方式求解单源点最短路径问题,该算法运用了 (63) 算
● 在FTP协议中,控制连接是由 (66) 主动建立的。 (66)A. 服务器端 B. 客户端
● 网页中代码
B. 一个单行文本输入框 C. 一个提交按纽
D. 一个使用图像的提交按纽 ● 电子邮件应用程序利用POP3协议 (68) 。 (68)A. 创建邮件
B. 加密邮件
D. 接收邮件
C. 发送邮件
先进行(70) 。 (69)A. 先进性
B.开放性
C. 经济性
D. 高可用性
(70)A. 企业应用分析
C. 外部通信环境调研
B. 网络流量分析 D. 数据流向图分析 C. 操作系统
● 在进行金融业务系统的网络设计时,应该优先考虑(69)原则。在进行企业网络的需求分析时,应该首
● The Rational Unified Process (RUP) is a software engineering process, which captures many of best practices in modern software development. The notions of (71) and scenarios have been proven to be an excellent way to capture function requirements. RUP can be described in two dimensions – time and content. In
26
软件设计师考试历年真题 第51页 共 27 页 软件设计师历年试题 into four consecutive (72)
which is concluded with a well-defined (73) and can be further broken down into (74) – a complete development loop resulting in a release of an executable product, a subset of the final product under development, which grows incrementally to become the final system. The content structure refers to the disciplines, which group (75) logically by nature.
(71)A. artifacts (73)A. milestone (74)A. rounds (75)A. functions
B. use-cases C. actors
C. aspects
D. workers D. phases D. criteria
D. activities
(72)A. orientations B. views
B. end-mark C. measure
B. loops
B. workflows C. actions
C. iterations D. circularities
2007年下半年 软件设计师 下午试卷
试题一(共15分)
阅读以下说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】
某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下:
1. 每门课程都有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程的平时成绩。课程结束后进行期末考试,其成绩作为这门课程的考试成绩。
2. 学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统。
3. 在记录学生成绩之前,系统需要验证这些成绩是否有效。首先,根据学生信息文件来确认该学生是否选修这门课程,若没有,那么这些成绩是无效的;如果他的确选修了这门课程,再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应,如果是,那么这些成绩是有效的,否则无效。
4. 对于有效成绩,系统将其保存在课程成绩文件中。对于无效成绩,系统会单独将其保存在无效成绩文件中,并将详细情况提交给教务处。在教务处没有给出具体处理意见之前,系统不会处理这些成绩。
5. 若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录,系统会发送课程完成通知给教务处,告知该门课程的成绩已经齐全。教务处根据需要,请求系统生成相应的成绩列表,用来提交考试委员会审查。
6. 在生成成绩列表之前,系统会生成一份成绩报告给主讲教师,以便核对是否存在错误。主讲教师须将核对之后的成绩报告返还系统。
7. 根据主讲教师核对后的成绩报告,系统生成相应的成绩列表,递交考试委员会进行审查。考试委员会在审查之后,上交一份成绩审查结果给系统。对于所有通过审查的成绩,系统将会生成最终的成绩单,并通知每个选课学生。
现采用结构化方法对这个系统进行分析与设计,得到如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
27
软件设计师考试历年真题 第53页 共 28 页 软件设计师历年试题 E1E2学生成绩成绩列表成绩审查结果成绩报告核对后的成绩报告成绩管理系统成绩单无效生成成成绩绩列表通知请求课程完成通知E3图1-1 顶层数据流图
E4 D2学生成绩D1D31验证学生信息无效成绩有效成绩E2核对后的成绩报告成绩报告4生成成绩列表成绩审查结果生成成绩列表请求成绩列表E13记录无效成绩无效成绩通知2记录有效成绩课程完成通知5生成最终成绩单成绩单D5E4E3D4
图1-2 0层数据流图
【问题1】(4分)
使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。 【问题2】(3分)
使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。 【问题3】(6分)
数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
起 点 【问题4】(2分)
终 点 28
软件设计师考试历年真题 第55页 共 29 页 软件设计师历年试题 具,程序流程图也是
软件开发过程中比较常用的图形化工具。简要说明程序流程图的适用场合与作用。
试题二(15分)
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。 【说明】
某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。
1.对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表2-1所示。
表2-1 客户及车辆信息
客户编号 折扣率 GS0051 95% 车牌号 **0765 客户名称 联系人 颜色 白色 ××公司 杨浩东 车型 帕萨特 客户性质 联系电话 单位 82638779 车辆类别 微型车 2.记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表2-2所示。
表2-2 维修委托书
No.20070702003
车牌号 作业分类 业务员 **0765 中修 张小江
GS0051 自付 012 故障描述 车头损坏,水箱漏水
维修类型 进厂时间 预计完工时间
登记日期:2007-07-02
普通 20070702 11:09 客户编号 结算方式 业务员编号 3.维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表2-3所示。
表2-3 维修派工单
No.20070702003 维修项目编号 012 012 015 017 维修项目 维修车头 维修车头 水箱焊接补漏 更换车灯 工时 5.00 2.00 1.00 1.00 维修员编号 012 023 006 012 维修员工种 机修 漆工 焊工 机修
4.客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。
根据需求阶段收集的信息,设计的实体联系图(图2-1)和关系模式(不完整)如下所示。图2-1中业务员和维修工是员工的子实体。
29
软件设计师考试历年真题 第57页 共 30 页