2005 年下半年软件设计师上午试题 欢迎访问软件考试网(www.hbsoft.net)

 

  ●阵列处理机属于 ___(1)___ 计算机。 欢迎访问软件考试网(www.hbsoft.net)

  ( 1 ) A.SISD B.SIMD C.MISD D.MIMD

 

  ●采用 ___(2)___ 不能将多个处理机互连构成多处理机系统。 欢迎访问软件考试网(www.hbsoft.net)

  ( 2 ) A.STD 总线   B. 交叉开关   C.PCI 总线   D.Centronic 总线

 

  ●某计算机系统的可靠性结构是如下图所示的双重串并联结构,若所构成系统的每个部件的可靠度为 0.9 ,即 R=0.9 ,则系统的可靠度为 ___(3)___ 。


图 1

( 3 ) A.0.9997 B.0.9276 C.0.9739 D.0.6561 欢迎访问软件考试网(www.hbsoft.net)

 

  ●若每一条指令都可以分解为取指、分析和执行三步。已知取指时间 t 取指 =5 △ t, 分析时间 t 分析 =2 △ t ,执行时间 t 执行 =5 △ t 。如果按顺序方式从头到尾执行完 500 条指令需 ___(4)___ △ t 。如果按照 [ 执行 ]k 、 [ 分析 ]k+1 、 [ 取指 ]k+2 重叠的流水线方式执行指令,从头到尾执行完 500 条指令需 ___(5)___ △ t 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 4 ) A.5590 B.5595 C.6000 D.6007

  ( 5 ) A.2492 B.2500 C.2510 D.2515

 

  ●在开发一个系统时,如果用户对系统的目标是不很清楚,难以定义需求,这时最好使用 ___(6)____ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 6 ) A. 原型法    B. 瀑布模型   C. V- 模型    D. 螺旋模型 欢迎访问软件考试网(www.hbsoft.net)

 

  ●应该在 ___(7 )阶段制定系统测试计划。 欢迎访问软件考试网(www.hbsoft.net)

  ( 7 ) A. 需求分析   B. 概要设计   C. 详细设计   D. 系统测试

 

  ●已经发布实施的标准(包括已确认或修改补充的标准),经过实施一定时期后,对其内容再次审查,以确保其有效性、先进性和适用性,其周期一般不超过 ___(8)____ 年。 欢迎访问软件考试网(www.hbsoft.net)

( 8 ) A. 1 B. 3 C . 5 D. 7

 

  ● ___(9)____ 不需要登记或标注版权标 记就能得到保护 欢迎访问软件考试网(www.hbsoft.net)

  ( 9 ) A. 专利权    B. 商标权    C. 著作权    D. 财产权

 

  ●如图 2 所示的树型文件中,方框表示目录,圆圈表示文件, "/" 表示路径的分隔符, "/" 路径之首表示根目录。图 2 中, ___(10)____ 。

  假设当前目录是 D1 ,进程 A 以如下两种方式打开文件 f1 :方式① fd1 = open("___(11)____/f1" , o_RDONLY); 方式② fd1 = open("/D1/W1/f1" , o_RDONLY); 欢迎访问软件考试网(www.hbsoft.net)

  其中,方式 1 的工作效率比方式 2 的工作效率搞,因为采用方式 1 的文件系统 ___(12)____ 。

  ( 10 ) A. 子目录 W2 中文件 f2 和子目录 D2 中文件 f2 是完全相同的 欢迎访问软件考试网(www.hbsoft.net)

B. 子目录 W2 中文件 f2 和子目录 D2 中文件 f2 是不相同的 欢迎访问软件考试网(www.hbsoft.net)

C. 子目录 W2 中文件 f2 和子目录 D2 中文件 f2 是可能相同也可能不相同 欢迎访问软件考试网(www.hbsoft.net)

D. 树型文件系统中不允许出现相同名字的文件 欢迎访问软件考试网(www.hbsoft.net)

  ( 11 ) A./D1/W1 B.D1/W1 C.W1 D.f1 欢迎访问软件考试网(www.hbsoft.net)

  ( 12 ) A. 可以直接访问根目录下的文件 f1

B. 可用从当前路径开始查找需要访问的文件 f1

C. 只需要访问一次磁盘,就可以读取文件 f1 ,而方式 2 需要两次

D. 只需要访问一次磁盘,就可以读取文件 f1 ,而方式 2 需要三次

 

●正在开发的软件项目可能存在一个未被发现的错误,这个错误出现的概率是 0.5% ,给公司造成的损失将是 1 000 000 元,那么这个错误的风险曝光度 (risk exposure) 是 ___(13)____ 元。 欢迎访问软件考试网(www.hbsoft.net)

  ( 13 ) A.5 000 000 B.50 000 C.5 000 D.500

 

  ●代码走查 (code walkthrough) 和代码审查 (code inspection) 是两种不同的代码评审方法,这两种方法的主要区别是 ____(14)____ 。

  ( 14 ) A. 在代码审查中由编写代码的程序员来组织讨论,而在代码走查中由高级管理人员来领导评审小组的活动

B. 在代码审查中只检查代码中是否有错误,而在代码走查中还要检查程序与设计文档的一致性

C. 在代码走查中只检查程序的正确性,而在代码审查中还要评审程序员的编程能力和工作业绩

D. 代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的 欢迎访问软件考试网(www.hbsoft.net)

 

  ●在软件项目管理中可以使用各种图形工具来辅助决策,下面对 Gannt 图的描述不正确的是 _____(15)____ 。

  ( 15 ) A.Gantt 图表现各个活动的顺序和它们之间的因果关系 欢迎访问软件考试网(www.hbsoft.net)

B.Gantt 图表现哪些活动可以并行进行 欢迎访问软件考试网(www.hbsoft.net)

C.Gantt 图表现了各个活动的起始时间 欢迎访问软件考试网(www.hbsoft.net)

D.Gantt 图表现了各个活动完成的进度 欢迎访问软件考试网(www.hbsoft.net)

 

  ●在活动图中,结点表示项目中各个工作阶段的里程碑,连接各个结点的边表示活动,边上的数字表示活动持续的时间。在下面的活动图中,从 A 到 J 的关键路径是 _____(16)___ ,关键路径长度是 ___(17)___ ,从 E 开始的活动启动的最早时间是 ____(18)____ 。 欢迎访问软件考试网(www.hbsoft.net)

 

 

  ( 16 ) A.ABEGJ B.ADFHJ C.ACFGJ D.ADFIJ 欢迎访问软件考试网(www.hbsoft.net)

  ( 17 ) A.22 B.49 C.19 D.35 欢迎访问软件考试网(www.hbsoft.net)

  ( 18 ) A.10 B.12 C.13 D.15 欢迎访问软件考试网(www.hbsoft.net)

 

  ● 一个故障已经被发现,而且也被排除了,为了检查修改是否引起了其它故障,这时应该进行 ___(19)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 19 ) A. 程序走查   B. 退化测试   C. 软件评审   D. 接收测试 欢迎访问软件考试网(www.hbsoft.net)

 

  ●一个系统的模块结构图如下所示,用 { × , × , × } 表示这个系统的测试模块组合。下面的选项中 ___(20)___ 表示自顶向下的测试, ____(21)___ 表示三明治式测试。 欢迎访问软件考试网(www.hbsoft.net)

 

 

  ( 20 ) A.{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K}

B.{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}

C.{K}{J}{I}{H}{G}{F}{B}{C}{D}{E}{A,B,C,D,E,F,G,H,I,J,K}

D.{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}

  ( 21 ) A.{A}{A,B,C,D,E}{A,B,C,D,E,F,G,H,I,J,K}

B.{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{A,B,C,D,E,F,G,H,I,J,K}

C.{K}{J}{I}{H}{G}{F}{B}{C}{D}{E}{A,B,C,D,E,F,G,H,I,J,K }

D.{A}{F}{G}{H}{I}{J}{K}{B,F,G}{C,H}{D,I,J}{E,K}{ A,B,C,D,E,F,G,H,I,J,K }

 

  ● 某公司服务器上存储了大量的数据,员工使用服务器前首先必须登录。为了保证安全,使用认证技术 ___(22)___ 。为保证传输效率,使用 ___(23)___ 加密算法对传输的数据进行加密。 欢迎访问软件考试网(www.hbsoft.net)

  ( 22 ) A. 对登录系统的用户身份进行认可     B. 保护数据在传输中的机密性

C. 保证数据在传输中不被非法修改     D. 防止登录信息被泄漏出去

  ( 23 ) A.RSA B.ECC C.MD4 D.3DES

 

  ● ____(24)___ 不能保障公司内部网络边界的安全 欢迎访问软件考试网(www.hbsoft.net)

  ( 24 ) A. 在公司网络与 Internet 或外界其它接口处设置防火墙

B. 公司以外网络上用户要访问公司网时,使用认证授权系统

C. 禁止公司员工使用公司外部的电子邮件服务器

D. 禁止公司内部网络的用户私自设置拨号上网

 

  ●某仓库有两名发货员,一名审核员。当顾客提货时,只要发货员空闲 , 允许顾客进入仓库提货,顾客离开时,审核员检验顾客提货是否正确。其工作流程如下图所示。为了利用 PV 操作正确地协调他们之间的工作,设置了两个信号量 S1 和 S2 ,且 S1 的初值为 2 , S2 的初值为 1 。图中的 a 应填写 ____(25)___ ;图中的 b 、 c 和 d 应分别填写 ____(26)____ 。 欢迎访问软件考试网(www.hbsoft.net)

 

 

  ( 25 ) A.P(S1) B.P(S2) C.V(S1) D.V(S2)

  ( 26 ) A.P(S2) 、 V(S2) 和 V(S1) B.P(S1) 、 V(S1) 和 V(S2)

C.V(S1) 、 P(S2) 和 V(S2) D.V(S2) 、 P(S1) 和 V(S1)

 

  ●编译程序进行词法分析时不能 ____(27)____ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 27 ) A. 过滤源程序中的注释      B. 扫描源程序并识别记号

C. 指出出错行号        D. 查出拼错的保留字(关键字)

欢迎访问软件考试网(www.hbsoft.net)

  ●某一确定有限自动机 (DFA) 的状态转换图如下图所示,该 DFA 接受的字符串集是 ____(28)___ ,与之等价的正规式是 ___(29)___ 。

 

 

  ( 28 ) A. 以 1 开头的二进制代码串组成的集合 欢迎访问软件考试网(www.hbsoft.net)

B. 以 1 结尾的二进制代码串组成的集合

C. 包含偶数个 0 的二进制代码串组成的集合

D. 包含奇数个 0 的二进制代码串组成的集合

  ( 29 ) A.1*0(0|1)* B.((0|1*0)*1*)* C.1*((0|1)0)* D.(1*(01*0)*)* 欢迎访问软件考试网(www.hbsoft.net)

 

  ●下列关于静态多态实现重载的描述中正确的是 ____(30)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 30 ) A. 重载的方法(函数)的方法名(函数名)可以不同 欢迎访问软件考试网(www.hbsoft.net)

B. 重载的方法(函数)必须在返回值类型以及参数类型上有所不同

C. 重载的方法(函数)必须在参数顺序或参数类型上有所不同

D. 重载的方法(函数)只需在返回值类型上有所不同

 

  ●程序设计语言提供了基本类型及其相关的操作,而 ____(31)____ 则允许开发者自定义一种新的类型及其相关的操作。

  ( 31 ) A. 对象     B. 实例     C. 类     D. 引用 欢迎访问软件考试网(www.hbsoft.net)

 

  ● ___(32)___ 表示了对象间 "is-a" 的关系。 欢迎访问软件考试网(www.hbsoft.net)

  ( 32 ) A. 组合     B. 引用     C. 聚合    D. 继承 欢迎访问软件考试网(www.hbsoft.net)

 

  ●在关系代数运算中,关系 S 、 SP 和 R 如下表所示。若先 ___(33)___ ,则可以从 S 和 SP 获得 R 。其对应的关系表达式为 ___(34)___ 。如下的 SQL 语句可以查询销售总量大于 1000 的部门号。 Select 部门名 From S 欢迎访问软件考试网(www.hbsoft.net)

Where 部门号 in (Select 部门号 From SP Group by ___(35)___) 关系表 S 关系表 SP 关系表 R 欢迎访问软件考试网(www.hbsoft.net)

部门号

部门名

010

家电部

021

百货部

030

食品部

035

五金部

部门号

商品号

销售量

010

01020210

500

010

01020211

780

010

01020212

990

021

02110200

580

025

02520100

1290

035

03530311

4680

部门名

商品号

销售量

家电部

01020210

500

家电部

01020211

780

家电部

01020212

990

 

 

  ( 33 ) A. 对 S 进行选择运算,再与 S 进行自然连接运算

B. 对 S 进行选择运算,再与 SP 进行自然连接运算,最后进行投影运算

C. 对 S 和 SP 进行笛卡尔积运算,再对运算结果进行投影运算

D. 分别对 S 和 SP 进行投影运算,再对运算结果进行笛卡尔积运算

  ( 35 ) A. 部门号 where sum( 销售量 )>1000 欢迎访问软件考试网(www.hbsoft.net)

B. 部门号 having sum( 销售量 )>1000

C. 商品号 where sum( 销售量 )>1000

D. 商品号 having sum( 销售量 )>1000

欢迎访问软件考试网(www.hbsoft.net)

  ●给定关系 R ( A1 , A2 , A3 , A4 )上的函数依赖集 F={A 1A 3->A2 , A2->A3} , R 候选关键字为 ____(36)___ 。分解ρ ={(A1,A2) , (A1,A3)}___(37)____ 。( 36 ) A.A 1A 3 B.A 1A 2A 3 C .A 1A 3A 4 D.A2 和 A 1A 3

  ( 37 ) A. 是无损联接的         B. 是保持函数依赖的

C. 既是无损联接又保持函数依赖  D. 既是有损联接又不保持函数依赖 欢迎访问软件考试网(www.hbsoft.net)

 

  ●已知某二叉树的中序、层序序列分别为 DBAFCE 、 FDEBCA ,则该二叉树的后序序列为 ___(38)___ 。  ( 38 ) A.BCDEAF B.ABDCEF C.DBACEF D.DABECF

欢迎访问软件考试网(www.hbsoft.net)

  ●在二叉树的顺序存储中,每个结点的存储位置与其父结点、左右子树结点的位置都存在一个简单的映射关系,因此可与三叉链表对应。若某二叉树共有 n 个结点,采用三叉链表存储时,每个结点的数据域需要 d 个字节,每个指针域占用 4 个字节,若采用顺序存储,则最后一个结点下标为 k (起始下标为 1 ) , 那么 ___(39)___ 时采用顺序存储更节省空间。

  ( 39 ) A.d<12n/(k-n) B.d>12n/(k-n) C.d<12n/(k+n) D.d>12n/(k+n)

欢迎访问软件考试网(www.hbsoft.net)

  ●简单无向图的邻接矩阵是对称的,可以对其进行压缩存储。若无向图 G 有 n 个节点。若无向图 G 有 n 个节点,其邻接矩阵为 A[1..n,1..n], 且压缩存储在 B[1..k] 中,则 k 的值至少为 ____(40)____ 。若按行压缩存储对称矩阵的上三角元素,则当 n 等于 10 时,边 (V6 , V3) 的信息存储在 B[___(41)___] 中。

  ( 40 ) A.n(n+1)/2 B.n2/2 C.(n-1)(n+1)/2 D.n(n-1)/2

  ( 41 ) A.18 B .19 C .20 D.21

  ●以下内容中, ___(42)___ 应写入操作手册。 欢迎访问软件考试网(www.hbsoft.net)

  ( 42 ) A. 描述系统对各种输入数据的处理方法 欢迎访问软件考试网(www.hbsoft.net)

B. 说明系统升级时厂商提供的服务

C. 描述系统处理过程的各个界面

D. 说明系统各部分之间的接口关系

 

  ● 某软件工程项目各开发阶段工作量的比例如下表所示 欢迎访问软件考试网(www.hbsoft.net)

需求分析

概要设计

详细设计

编码

测试

0.29

0.13

0.17

0.10

0.31

 

  假设当前已处于编码阶段, 3000 行程序已完成了 1200 行,则该工程项目开发进度已完成的比例是 ____(43)___ 。

  ( 43 ) A.29% B.45% C.59% D.63% 欢迎访问软件考试网(www.hbsoft.net)

 

  ●在 11 个元素的有序表 A[1..11] 中进行折半查找( L(low+high)/2 」 )查找元素 A[11] 时,被比较的元素的下标依次是 ___(44)___ 。

  ( 44 ) A.6 , 8 , 10 , 11 B.6 , 9 , 10 , 11 C.6 , 7 , 9 , 11 D.6 , 8 , 9 , 11

 

  ●关于维护软件所需的成本,以下叙述正确的是 ___(45)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 45 ) A. 纠正外部和内部设计错误比纠正源代码错误需要更大的成本

B. 与需求定义相比,源代码的文字量大得多,所以源代码的维护成本更高

C. 用户文档需要经常更新,其维护成本超过了纠正设计错误的成本

D. 需要定义的错误会在设计时被发现并纠正,因此需求定义纠错的成本小于源代码纠错的成本

 

  ●由元素序列( 27,16,75,38,51 )构造平衡二叉树,则首次出现的最小不平衡子树的根(即离插入结点最近且平衡因子的绝对值为 2 的结点)为 ____(46)____ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 46 ) A.27 B.38 C.51 D.75 欢迎访问软件考试网(www.hbsoft.net)

 

  ●若排序前后关键字相同的两个元素相对位置不变,则称该排序方法是稳定的。 ___(47)____ 排序是稳定的。

  ( 47 ) A. 归并 B. 快速   C. 希尔     D. 堆

欢迎访问软件考试网(www.hbsoft.net)

  ●若对象 A 可以给对象 B 发送消息,那么 ___(48)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 48 ) A. 对象 B 可以看见对象 A B. 对象 A 可看见对象 B

C. 对象 A 、 B 相互不可见     D. 对象 A 、 B 相互可见

 

  ●类描述了一组对象共同的特性,下列叙述中正确的是 ____(49)____ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 49 ) A. 类本身不能具有变量 欢迎访问软件考试网(www.hbsoft.net)

B. 对象具有类定义的所有变量的一份拷贝

C. 对象间不能共享类定义的变量

D. 可通过类名访问静态变量 ( 类变量 )

 

  ● ___(50)___ 反映了类间的一种层次关系,而 ___(51)____ 反映了一种整体与部分的关系。 欢迎访问软件考试网(www.hbsoft.net)

  ( 50 ) A. 继承 B. 组合     C. 封装 D. 多态 欢迎访问软件考试网(www.hbsoft.net)

  ( 51 ) A. 继承     B. 组合     C. 封装     D. 多态

 

  ●下列叙述中正确的是 ___(52)__ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 52 ) A. 面向对象程序设计语言都不支持过程化的程序设计

B. 面向对象系统只可采用面向对象程序设计语言实现

C. 某些过程化程序设计语言也可实现面向对象系统

D. 面向对象程序设计语言不支持对成员变量的直接访问

 

  ● 设求解某问题的递归算法如下: 欢迎访问软件考试网(www.hbsoft.net)

F(int n){

if n==1 {

Move(1)

}else{

F(n-1);

Move(n);

F(n-1);

}

}

  求解该算法的计算时间时 , 仅考虑算法 Move 所做的计算为主要计算 , 且 Move 为常数级算法。则算法 F 的计算时间 T(n) 的递推关系式为 ____(53)____ ;设算法 Move 的计算时间为 k ,当 n=4 时,算法 F 的计算时间为 ___(54)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 53 ) A.T(n)=T(n-1)+1 B.T(n)=2T(n-1) C.T(n)=2T(n-1)+1 D.T(n)=2T(n+1)+1

  ( 54 ) A.14k B.15k C.16k D.17k

 

  ●利用贪心法求解 0/1 背包问题时, ___(55)___ 能够确保获得最优解。用动态规划方法求解 0/1 背包问题时,将 " 用前 i 个物品来装容量是 X 的背包 " 的 0/1 背包问题记为 KNAP(1,i,X), 设 fi(X) 是 KNAP(1,i,X) 最优解的效益值,第 j 个物品的重量和放入背包后取得效益值分别为 W 和 p(j=1~n) 。则依次求解 f0(X) 、 f1(X) 、 ... 、 f(X) 的过程中使用的递推关系式为 ___(56)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 55 ) A. 优先选取重量最小的物品       B. 优先选取效益最大的物品

C. 优先选取单位重量效益最大的物品  D. 没有任何准则

  ( 56 ) A.fi(X)=min{f(X),f(X)+p} B.f(X)=max{f(X),f(X-Wi)+p}

C.f(X)=min{f(X-Wi),f(X-Wi)+p} D.f(X)=max{f(X-Wi),f(X)+p}

 

  ● ___(57)___ 标准中定义了 MP3 音乐标准。 欢迎访问软件考试网(www.hbsoft.net)

  ( 57 ) A.JPEG B.MPEG-1 C.MPEG-2 D.MPEG-3

 

  ●使用 200DPI 的扫描分辨率扫描一幅 2 × 2.5 英寸 的黑白图像,可以得到一幅 ___(58)___ 像素的图像。  ( 58 ) A.200 × 2 B.2 × 2.5 C.400 × 500 D.800 × 1000 欢迎访问软件考试网(www.hbsoft.net)

 

  ●要在网络上发布彩色动画文件,可以采用的存储格式是 ___(59)___ 。 欢迎访问软件考试网(www.hbsoft.net)

  ( 59 ) A.BMP B.JPEG C.MP3 D.GIF

 

  ●为保证用户在网络上边下载边观看视频信息,需要采用 ____(60 ) __ 技术。 欢迎访问软件考试网(www.hbsoft.net)

  ( 60 ) A. 流媒体     B. 数据库      C. 数据采集    D. 超链接

 

  ●通过代理服务器使内部局域网中的客户机访问 Internet 时, ___(61 )不属于代理服务器的功能。  ( 61 ) A. 共享 IP 地址   B. 信息缓存     C. 信息转发    D. 信息加密

 

  ●下列( 62 )设备可以隔离 ARP 广播帧。 欢迎访问软件考试网(www.hbsoft.net)

  ( 62 ) A. 路由器     B. 网桥       C. 以太网交换机  D. 集线器

 

  ●在 Windows 系统中, ___(63 )不是网络服务组件。 欢迎访问软件考试网(www.hbsoft.net)

  ( 63 ) A. RAS B.HTTP C.IIS D. DNS

 

  ●在 OSI 参考模型中,数据链路层处理的数据单位是 ___(64 )。 欢迎访问软件考试网(www.hbsoft.net)

  ( 64 ) A. 比特     B. 帧        C. 分组      D. 报文

 

  ●在 OGSA 标准中定义了 ___(65 )的概念,它提供一组遵守特定的约定并定义明确的接口,是实体之间产生、管理和交换信息的机制。

  ( 65 ) A.Object B.Grid Service C.Web Service D. XML

 

  ● MIDI enables people to use ___(66 ) computers and electronic musical instruments. There are actually three components to MIDI, the communications "___(67 ) ", the Hardware Interface and a distribution ___(68 ) called "Standard MIDI Files". In the context of the WWW, the most interesting component is the ___(69 ) Format. In principle, MIDI files contain sequences of MIDI Protocol messages. However, when MIDI Protocol ___(70 ) are stored in MIDI files, the events are also time-stamped for playback in the proper sequence. Music delivered by MIDI files is the most common use of MIDI today. 欢迎访问软件考试网(www.hbsoft.net)

  ( 66 ) A.personal B.electronic C. multimedia D. network

  ( 67 ) A.device B.protocol C. network D. controller

  ( 68 ) A.format B.text C. wave D. center

  ( 69 ) A.Video B.Faxmail C. Graphic D. Audio

  ( 70 ) A.messages B.packets C.frame D.information

 

  ● Certificates are ___(71 ) documents attesting to the ___(72 ) of a public key to an individual or other entity. They allow verification of the claim that a given public key does in fact belong to a given individual. Certificates help prevent someone from using a phony key to ___(73 ) someone else. In their simplest form, Certificates contain a public key and a name. As commonly used, a certificate also contains an ___(74 ) date, the name of the CA that issued the certificate, a serial number, and perhaps other information. Most importantly, it contains the digital ___(75 ) of the certificate issuer. The most widely accepted format for certificates is X.509 , thus, Certificates can be read or written by any application complying with X.509. 欢迎访问软件考试网(www.hbsoft.net)

  ( 71 ) A.text B.data C.digital D.structured

  ( 72 ) A.connecting B.binding C.composing D.conducting

  ( 73 ) A.impersonate B.personate C.damage D.control

  ( 74 ) A.communication B.computation C.expectation D.expiration

  ( 75 ) A.signature B.mark C.stamp D.hypertext

欢迎访问软件考试网(www.hbsoft.net)

2005 年下半年软件设计师下午试题

欢迎访问软件考试网(www.hbsoft.net)

试题一至试题四是必答题

欢迎访问软件考试网(www.hbsoft.net)

试题一( 15 分)

  阅读下列说明了和图 , 回答问题 1 至问题 3 ,将解答填入答题纸的对应栏内。

[ 说明 ] 欢迎访问软件考试网(www.hbsoft.net)

  某公司的主要业务是出租图书和唱碟。由于业务需求,该公司委托软件开发公司 A 开发一套信息管理系统。该系统将记录所有的图书信息、唱碟信息、用户信息、用户租借信息等。 A 公司决定采用面向对象的分析和设计方法开发此系统。图 1-1 所示为某类图书或唱碟被借阅时应记录的信息,图 1-2 描述了系统定义的两个类 Book 和 CD ,分别表示图书和唱碟的信息。

[ 图 1-1] 欢迎访问软件考试网(www.hbsoft.net)

图书 / 唱碟 _________________________

借出时间

归还时间

用户

 

[ 图 1-2] 欢迎访问软件考试网(www.hbsoft.net)

 

[ 问题 1] ( 3 分) 欢迎访问软件考试网(www.hbsoft.net)

  经过进一步分析,设计人员决定定义一个类 Items_on_loan ,以表示类 Book 和 CD 的共有属性和方法。请采用图 1-2 中属性和方法的名称给出类 Items_on_loan 应该具有的属性和方法。(注意:不同名称的属性和方法表示不同的含义,如 CD 中的 composer 与 Book 中的 author 无任何关系)

[ 问题 2] ( 6 分) 欢迎访问软件考试网(www.hbsoft.net)

  为了记录每种图书或唱碟的历史记录,引入类 CirculationHistory ,类中存储的信息是图 1-1 中所表示的内容。请采用 UML 表示法将下列四个类间的关系表示出来。 欢迎访问软件考试网(www.hbsoft.net)

Items_on

Book

CirculationHistory

CD

 

[ 问题 3] ( 6 分)

  现需了解十大最畅销(借出次数最多)图书或唱碟。为此引入 TemPopulate 类以存储所有十大畅销图书或 CD 的名称及其被借出的次数。下列顺序图描述了某类图书或唱碟被借出后成为十大畅销图书或唱碟时对象间的消息交互。系统在一次运行过程中,应有 ___(1)___ 个 TenPopulate 实例对象最合适,一个 TenPopulate 类实例对象最多需要和 ____(2)____ 个 Items_on_loan 实例对象交互。 欢迎访问软件考试网(www.hbsoft.net)

 

试题二(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

  阅读下列说明和图,回答问题 1 至问题 3 ,将解答填入答题纸的对应栏内。 [ 说明 ]

某企业决定开发一个企业仓储管理系统,由李工承担系统的设计工作。该系统的网络连接如图 2-1 所示。 [ 图 2-1]

 

 

  该企业有多个仓库,图 2-1 所示的中心数据库存储了各个仓库中每种货物的库存信息。每个仓

库配备一台前端机,进出货物均由前端机辅助实现。管理员每天上班时,通过前端机从中心数据库的库存表中读取本仓库各种货物的库存数,每个仓库的当日业务数据也都暂存在前端机,当天业务结束后,再将前端机中存储的数据传输到主机进行存储与汇总。

  每个仓库可以存放多种货物,但同一种货物不能存放在不同的仓库中。每个仓库有多个管理员,但每个管理员只管理一个仓库。货物出库 / 入库时,由仓库管理员将货物的条码通过阅读器输入前端机中,货物数量的默认值为 1 ,可以由管理员修改。前端机根据输入的货物信息,打印 " 出库 / 入库 " 清单。出库 / 入库单中同一种货物最多只出现一次,每份出库 / 入库单由流水号唯一标识。图 2-2 是一个出库单的实例。

[ 图 2-2] 欢迎访问软件考试网(www.hbsoft.net)

流水号: 200408080001300101 时间: 2005-10-01 13:22

货物编码

货物名称

单价

数量

6900100180988

全自动洗衣机

1680.00

26

6900100170655

32 寸彩色电视机

7580.00

20

6900100160126

1P 空调

2360.00

60

 管理员:    出库 / 入库:出库

 

  该系统处理业务的过程如下: 欢迎访问软件考试网(www.hbsoft.net)

1. 初始化:前端机根据仓库号从货物表中读取本仓库中每种货物的货物编码、库存量、货物名称和单价。

2. 登记出库 / 入库信息:由前端机存储每一笔 " 出库 / 入库 " 记录。

3. 汇总:在每个工作日结束前汇总当日各种货物的 " 出库 / 入库 " 量至日汇总表;

4. 更新库存表:根据当日的汇总信息更新货物的库存。

  李工经过分析,设计出如图 2-3 所示的关系模式。

[ 图 2-3] 欢迎访问软件考试网(www.hbsoft.net)

  出入库单(流水号,出入库标志,管理员号,时间)

  出入库记录(货物编码,数据,流水号)

  日汇总表(日期,货物编码,数量,出入库标志)

  仓库(仓库号,仓库名,仓库电话)

  管理员(管理号,姓名,仓库号)

  货物( __________(a)__________ )

  注:时间格式为:年-月-日时:分:日期格式为:年-月-日。

  实体联系图的表示方法如图 2-4 所示,其中方框表示实体,菱形表示联系,联系的类型在实体

与联系的边上标出。图 2-5 为与该系统对应的实体联系图。

[ 图 2-4] 欢迎访问软件考试网(www.hbsoft.net)

 

[ 图 2-5] 欢迎访问软件考试网(www.hbsoft.net)

 

[ 问题 1] ( 3 分) 欢迎访问软件考试网(www.hbsoft.net)

  根据题意,补充图 2-3 中 (a) 处的空缺,即货物关系模式的属性。

[ 问题 2] ( 6 分) 欢迎访问软件考试网(www.hbsoft.net)

  根据题意,补充图 2-5 中缺失的联系和联系的类型,使其成为完善的实体联系图。其中,联系名分别取名为联系 1 ,联系 2 ,联系 3 ,…。

[ 问题 3] ( 6 分) 欢迎访问软件考试网(www.hbsoft.net)欢迎访问软件考试网(www.hbsoft.net)

  写出每种关系模式的主键,将其填写在答题纸的对应栏内。

 

试题三(共 15 分)

  阅读下列说明和图,回答问题 1 至问题 4 ,将解答填入答题纸的对应栏内。

[ 说明 ] 欢迎访问软件考试网(www.hbsoft.net)

  某公司计划与客户通过 Internet 交换电子邮件和数据 ( 以下统一称为 " 消息 ") 。为保障安全,在对传输的数据进行加密的同时,还要对参与通信的实体进行身份认证。因此,需同时使用对称与非对称密钥体系。图 3-2 描述了接收者 B 使用非对称密钥体系对发送者 A 进行认证的过程。

[ 图 3-1] 欢迎访问软件考试网(www.hbsoft.net)

 

  图 3-2 描述了发送和接收消息的过程,其中的认证过程使用了图 3-1 中的方法。图 3-1 中的方框 a 和方框 b 与图 3-2 中的方框 a 和方框 b 相同。

[ 图 3-2] 欢迎访问软件考试网(www.hbsoft.net)

 

  图 3-2 中发送和接收消息的过程是: 欢迎访问软件考试网(www.hbsoft.net)

1 )发送者 A 使用与接收者 B 共享的对称密钥体系的密钥加密将要发送的消息。

2 )为了实现身份认证, A 使用与 B 共享的摘要算法生成消息摘要,并使用公钥密码体系把生成的消息摘要加密后发送给 B (这里假设 A 和 B 都通过安全的方法获得对方的公钥)。 欢迎访问软件考试网(www.hbsoft.net)

3 ) B 使用非对称密钥体系解密收到的消息摘要,使用与 A 共享的对称密钥体系的密钥解密加密后的消息,再使用与 A 共享的摘要算法针对解密后的消息生成消息摘要。 欢迎访问软件考试网(www.hbsoft.net)

4 ) B 对比自已生成的消息摘要与接收到的 A 发送的消息摘要是否相同,从而验证发送者 A 的身份。 欢迎访问软件考试网(www.hbsoft.net)

[ 问题 1] ( 2 分) 欢迎访问软件考试网(www.hbsoft.net)

  请在下列选项中选择合适的答案,填入图 3-1 、 3-2 的方框 a 和方框 b 。

B 的公钥, B 的私钥,摘要算法, A 的私钥, A 的公钥,会话密钥

[ 问题 2] ( 4 分) 欢迎访问软件考试网(www.hbsoft.net)

  请在下列选项中选择合适的答案,填入图 3-2 的方框 c 至方框 f 。

B 的公钥, B 的私钥,摘要算法, A 的私钥, A 的公钥,会话密钥

[ 问题 3] ( 5 分) 欢迎访问软件考试网(www.hbsoft.net)

  按照图 3-2 中的方法发送邮件时,使用不同的密码体制加密消息和消息摘要,请用 150 字以内文字简要说明这样做的理由。

[ 问题 4] ( 4 分) 欢迎访问软件考试网(www.hbsoft.net)

  请从下面关于摘要函数的说法中选出所有正确的描述。

[a] 很容易使不同的输入数据生成相同的输出数据。

[b] 根据输入数据获取输出数据的时间非常短。

[c] 根据输入数据获取输出数据的时间非常长。

[d] 输出数据的长度比输入数据的长度要长。

[e] 根据输出数据无法还原出输入数据。

欢迎访问软件考试网(www.hbsoft.net)

试题四(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

  阅读以下函数说明、图和 C 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。

[ 说明 ] 欢迎访问软件考试网(www.hbsoft.net)

  散列文件的存储单位称为桶 (BUCKET) 。假如一个桶能存放 m 个记录,当桶中已有 m 个同义词(散列函数值相同)的记录时,存放第 m+1 个同义词会发生 " 溢出 " 。此时需要将第 m+1 个同义词存放到另一个称为 " 溢出桶 " 的桶中。相对地,称存放前 m 个同义词的桶为 " 基桶 " 。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。

  例如:设散列函数为 Hash(Key)=Key mod 7 ,记录的关键字序列为 15 , 14 , 21 , 87 , 96 , 293 , 35 , 24 , 149 , 19 , 63 , 16 , 103 , 77 , 5 , 153 , 145 , 356 , 51 , 68 , 705 , 453 ,建立的散列文件内容如图 4-1 所示。

[ 图 4-1] 欢迎访问软件考试网(www.hbsoft.net)

欢迎访问软件考试网(www.hbsoft.net)

  为简化起见,散列文件的存储单位以内存单元表示。 欢迎访问软件考试网(www.hbsoft.net)

  函数 InsertToHashTable ( int NewElemKey )的功能是:若新元素 NewElemKey 正确插入散列文件中,则返回值 1 ;否则返回值 0 。

  采用的散列函数为 Hash(NewElemKey)=NewElemKey % P ,其中 P 设定的基桶数目。

  函数中使用的预定义符号如下: 欢迎访问软件考试网(www.hbsoft.net)

#define NULLKey -1 /* 散列桶的空闲单元标识 */ 欢迎访问软件考试网(www.hbsoft.net)

#define P 7 /* 散列文件中基桶的数目 */ 欢迎访问软件考试网(www.hbsoft.net)

#define ITEMS 3 /* 基桶和溢出桶的容量 */ 欢迎访问软件考试网(www.hbsoft.net)

typedef struct BucketNode { /* 基桶和溢出桶的类型定义 */ 欢迎访问软件考试网(www.hbsoft.net)

int KeyData[ITEMS]; 欢迎访问软件考试网(www.hbsoft.net)

struct BucketNode *Link; 欢迎访问软件考试网(www.hbsoft.net)

}BUCKET;BUCKET Bucket[P]; /* 基桶空间定义 */ 欢迎访问软件考试网(www.hbsoft.net)

[ 函数 ] 欢迎访问软件考试网(www.hbsoft.net)

int InsertToHashTable(int NewElemKey){

/* 将元素 NewElemKey 插入散列桶中 , 若插入成功则返回 0, 否则返回 -1*/

/* 设插入第一个元素前基桶的所有 KeyData[] 、 Link 域已分别初始化为 NULLKEY 、 NULL*/

int Index; /* 基桶编号 */ 欢迎访问软件考试网(www.hbsoft.net)

int i,k; BUCKET *s,*front,*t;

____(1)____;

for(i=0;i<ITEMS; i++) /* 在基桶查找空闲单元,若找到则将元素存入 */

if (Bucket[Index].KeyData[i] == NULLKEY) {

Bucket[Index].KeyData[i] = NewElemKey;

break;

}

if (____(2)____)return 0; 欢迎访问软件考试网(www.hbsoft.net)

/* 若基桶已满,则在溢出桶中查找空闲单元,若找不到则申请新的溢出桶 */

_____(3)_____;

t = Bucket[Index].Link;

if (t != NULL) { /* 有溢出桶 */

while (t != NULL) {

for(k = 0;k < ITEMS; k++)

if (t -> KeyData[k] == NULLKEY) { /* 在溢出桶链表中找到空闲单元 */

t -> KeyData[k] = NewElemKey;

break;

} /*if*/

if (____(4)____) t = t-> Link;

else break;

} /*while*/ 欢迎访问软件考试网(www.hbsoft.net)

} /*if*/

if (____(5)____) { /* 申请新溢出桶并将元素存入 */

s = (BUCKET *)malloc(sizeof(BUCKET));

if (!s) return -1;

s->Link = NULL;

for(k = 0; k < ITEMS; k++)

s->KeyData[k] = NULLKEY;

s->KeyData[0] = NewElemKey;

_____(6)_____;

} /*if*/

return 0; 欢迎访问软件考试网(www.hbsoft.net)

} /*InsertToHashTable*/

 

  从下列的 3 道试题(试题五至试题七)中任选 1 道解答。如果解答的试题数超过 1 道,则题号小的 1 道解答有效。

 

试题五(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

  阅读以下说明和 C++ 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。

[ 说明 ] 欢迎访问软件考试网(www.hbsoft.net)

  在一公文处理系统中,开发者定义了一个公文类 OfficeDoc, 其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个 C++ 源文件中,能够正确编译通过。

[C++ 代码 ] 欢迎访问软件考试网(www.hbsoft.net)

#include <iostream>

const OBS_MAXNUM = 20 // 最多与 OfficeDoc 对象相关联的 DocExplorer 对象的个数

____(1)____;

class DocExploer { // 关注 OfficeDoc 公文对象的类

public:

DocExplorer (____(2)____ *doc); // 构造函数

_____(3)____

void update(OfficeDoc *doc)=0; // 更新自身状态的函数

// 其它相关属性和方法省略

}

class OfficeDoc{ // 公文类

private:

DocExploer *myObs[OBS_MAXNUM]; // 关注此公文类的 DocExplorer 类对象指针数组

int index; // 与 OfficeDoc 对象关联的 DocExploer 对象的个数

public:

OfficeDoc(){ 欢迎访问软件考试网(www.hbsoft.net)

index=0; }

void attach(DocExploer *o){

// 将一 DocExploer 对象与 OfficeDoc 对象相关联

if (index >= OBS_MAXNUM || o == NULL) return;

for (int loop = 0; loop < index; loop++)

if (myObs[loop] == 0) return;

myObs[index] = o;index++;

}

void detach(DocExploer *o){

// 解除某 DocExploer 对象与 OfficeDoc 对象的关联

if(o==NULL) return;

for(int loop = 0;

loop < index; loop++){

if(myObs[loop] == o){

if (loop <= index-2) myObs[loop] = myObs[index-1];

myObs[index-1] = NULL;

index--;

break;

}

}

}

private:

void notifyObs(){

// 通知所有的 DocExplorer 对象更改自身状态 欢迎访问软件考试网(www.hbsoft.net)

for(int loop = 0; loop <index; loop++){

myObs[loop]->____(4)____; //DocExplorer 对象更新自身状态

}

} // 其它公文类的相关属性和方法 }; 欢迎访问软件考试网(www.hbsoft.net)

DocExplorer::DocExplorer(OfficeDoc *doc){

//DocExploer 类对象的构造函数

doc->____(5)____;

// 将此 DocExplorer 对象与 doc 对象相关联

}

 

试题六(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

  阅读以下说明和 Java 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。 [ 说明 ] 在一公文处理系统中,开发者定义了一个公文类 OfficeDoc, 其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个 Java 源文件中,能够正确编译通过。 欢迎访问软件考试网(www.hbsoft.net)

[Java 代码 ] 欢迎访问软件考试网(www.hbsoft.net)

//Subject.java 文件

public interface Subject {

public void attach(Observer DocExplorer);

public void detach(Observer DocExplorer);

void notifyObservers(); }

欢迎访问软件考试网(www.hbsoft.net)

//Observer,java 文件

public interface Obsever{

void update(____(1)____); }

 

//OfficeDoc.java 文件

import java.util.*;

public class OfficeDoc implements Subject { //OfficeDoc 类实现 Subject 接口

private Vector ObserverVector = new java.util.Vector();

// 存储与 OfficeDoc 相关联的 DocExplorer 对象

public void attach(Obsever observer){ // 将某 DocExplorer 对象与 OfficeDoc 相关联     ObserverVector.addElement(observer); }

public void detach(Observer observer){ // 解除某 DocExplorer 对象与 OfficeDoc 的关联关系 ObserverVector.removeElement(observer); }

public void notifyObservers(){

// 当 OfficeDoc 对象状态已发生变化时,通知所有的 DocExplorer 对象

Enumeration enumeration = ______(2)_____;

while (enumeration.hasMoreElements()){

((Observer)enumeration.nextElement())._____(3)_____;

}

}

public Enumeration Observers(){

return ObserverVector.elements(); }

// 其它公文类的属性和方法省略

}

欢迎访问软件考试网(www.hbsoft.net)

//DocExplorer.java 文件

public class DocExplorer implements _____(4)____{

public void update(____(5)____){

// 更新    DocExplorer 自身的状态,代码省略

}

}

欢迎访问软件考试网(www.hbsoft.net)

试题七(共 15 分) 欢迎访问软件考试网(www.hbsoft.net)

  阅读以下说明和 C 代码,将应填入 _____(n)____ 处的字句写在答题纸的对应栏内。

[ 说明 ]

  在一公文处理系统中,开发者定义了一个公文结构 OfficeDoc ,其中定义了公文应该具有的属性。当公文件的内容或状态发生变化时,与之相关联的 DocExplorer 结构的值都需要发生改变。一个 OfficeDoc 结构能够关联一组 DocExplorer 结构。当 OfficeDoc 结构的内容或状态发生变化时,所有与之相关联的 DocExplorer 结构都将被更新,这种应用被称为观察者模式。以下代码采用 C 语言实现,能够正确编译通过。

[C 代码 ]

#include <stdio.h>

#define OBS_MAXNUM 20 /* 一个 OfficeDoc 变量最多能够关联的 DocExplorer 变量的个数 */

typedef void (____(1)____) (struc OfficeDoc * ,struct DocExplorer *);

struct DocExplorer {

func update; /*DocExplorer 结构采用的更新函数 */

/* 其它的结构字段省略 */

};

struct OfficeDoc{

___(2)____ myObs[OBS_MAXNUM];

/* 存储所有与 OfficeDoc 相关联的 DocExplorer 结构指针 */

int index; /*   与 OfficeDoc 结构变量相关联的 DocExplorer 结构变量的个数 */

};

void attach(struct OfficeDoc *doc, struct DocExplorer *ob){

/* 关联 Obersver 结构 ob 与 OfficeDoc 结构 doc*/

int loop = 0;

if (doc -> index >= OBS_MAXNUM || ob == NULL) return;

for(loop = 0; loop < doc->index; loop++)

if (doc -> myObs[loop] == ob) return;

doc->myObs[doc->index] = ob;

doc->index++;

}

void detach(struct OfficeDoc *doc, struct DocExplorer *ob){

/* 解除 doc 结构与 ob 结构间的关系 */ 欢迎访问软件考试网(www.hbsoft.net)

int loop;

if(ob == NULL) return;

for(loop = 0;loop < doc->index; loop++){

if(doc->myObs[loop] == ob){

if (loop <= doc->index - 2)

doc->myObs[loop] = doc->myObs[____(3)____];

doc->myObs[doc->index-1] = NULL;doc->index--;

breack;

}

}

}

void update1(struct OfficeDoc *doc, struct DocExplorer *ob){

/* 更新 ob 结构的值 , 更新代码省略 */ }

void update2(struct OfficeDoc *doc, struct DocExplorer *ob){

/* 更新 ob 结构的值,更新代码省略 */ }

void notifyObs(struct OfficeDoc *doc){

/* 当 doc 结构的值发生变化时,通知与之关联的所有 DocExplorer 结构变量 */

int loop;

for(loop = 0; loop < doc->index; loop++){

(doc->myObs[loop])->update(____(4)____);

}

}

void main() {

struct OfficeDoc doc; /* 定义一 OfficeDoc 变量 */

struct DocExplorer explorer1,explorer2; /* 定义两个 DocExplorer 变量 */

/* 初始化与 OfficeDoc 变量相关的 DocExplorer 变量个数为 0*/

doc.index = 0;

explorer1.update = update1; /* 设置 explorer1 变量的更新函数 */

explorer2.update = update2; /* 设置 explorer2 变量的更新函数 */

attach(&doc , &explorer1); /* 关联 explorer1 与 doc 对象 */

attach(&doc , &explorer1); /* 关联 explorer1 与 doc 对象 */

/* 其它代码省略 */

_____(5)____; /* 通知与 OfficeDoc 相关的所有 DocExploer 变量 */

return;

} 欢迎访问软件考试网(www.hbsoft.net)

©2005Copyright By hbsoft.net,All rights Reserved |联系我们 鄂ICP备05009730号