a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 61|回复: 0

[软件设计师] 2011年软考软件设计师考前练习题及答案解析(19)

[复制链接]
发表于 2012-8-2 09:08:23 | 显示全部楼层 |阅读模式
 70. 以下关于用例(use case)的叙述中,说法不够准确的是 () 。  A.用例将系统的功能范围分解成许多小的系统功能陈述
- ^, N3 r: c- n1 R  B.一个用例代表了系统的一个单一的目标
$ `( O7 R' E7 k9 q; n- U4 r  C.用例是一个行为上相关的步骤序列
+ e( J' X7 S& Z+ K( D2 p, g  D.用例描述了系统与用户的交互" ^  o6 C7 k- _7 N6 Q, L8 K
  参考答案:D。4 O) O4 P: O2 K
  解析:用例(use case)用来描述系统在对事件做出响应时所采取的行动,即它确定了一个与系统参与者进行交互,并由系统执行的动作序列。可见,一个用例本身并不是一个功能需求,它代表了系统的一个单一的目标,是一个行为上相关的步骤序列。
' z$ l& [$ A7 t% B; \  选项D所描述的范围太广,不够准确。在UML规范中,参与者是指系统所涉及到的人,或者是用户在本系统中扮演的角色。一个参与者总是在系统的自动化边界之外。
, P& x" b' v3 |' q  71. 采用UML分析用户需求时,用例UCl可以出现在用例UC2出现的任何位置,那么UCl和UC2之间的关系是 () 关系。
% Q. ]" G, @3 c+ p4 u5 E  M8 t  A.include
! r# J2 E7 i# X4 D; Q  B.extend6 b* `- L: w* ?0 i
  C.generalize
3 T3 z* I8 q: n& Q' H  D.call
/ L  I$ U; Z, e0 R" B  参考答案:C。4 Y! O6 U0 p$ W. A7 o
  解析:用例之间的泛化(generalize)关系类似于类之间的泛化关系。子用例继承父用例的行为与含义。子用例还可以增加或者覆盖父用例的行为。子用例可以出现在父用例出现的任何位置。8 l! R# o+ U. y, I
  本试题中,由于用例UCl可以出现在用例UC2出现的任何位置,因此UCl与UC2之间是选项C的“泛化(generalize)”关系。要注意,不是“用例UCl可以出现在用例UC2的任何位置”。
0 n% P0 I+ X2 H) _7 _/ }3 G3 |  选项A的“包含(include)”关系,表示基础用例在它内部,说明某一位置上显式的合并是另一个用例的行为。被包含用例从不孤立存在,仅作为某些包含它的更大的基础用例的一部分出现。
6 V8 `, M. Z0 r  选项B的“扩展(extend)”关系,表示基础用例在延伸用例间的一个位置上,隐式合并了另一个用例的行为。基础用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为延伸。6 y* U7 V! }) P  S9 ?
  选项D的“call”可解释成“调用”。
2 b1 g( ]5 _) [$ G" X9 t& c  72.若有以下定义,则值为3的表达式是()% J- @( j: h/ k# u: {% S
  inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
1 y6 q2 v& N# L4 Y  A. p+=2,*(p++): B# l! Z  ~9 Y9 ]0 V
  B. p+=2,*++p
9 @5 b# m4 N# f" o6 O5 V  C. p+=3,*p++
: n* w3 k- G& N9 X' J* ^( j" S7 H$ n  D. p+=2,++*p
$ [" l6 H* y6 v& ?' \6 N  参考答案:A。1 Y" Y& Z2 \& d& f
  解析:数组a有10个元素,分别有值1至10,指针变量p指向a[0],A逗号表达式p+=2,*(P++),先是P+=2使P指向a[2],接着是*(P++),以当时P所指变量a[2]取内容3为表达式的值,同时使p指向a[3]。B返号表达式p+=2,*++p,先是p+=2使p指向a[2],以后是*++p,又使p增1,让它指向a[3],并取指针p所指变量a[3]的内容4作为表达式的值。C逗号表达式p+=3,*p++,先是p+=3使p指向a[3],以后是*p++,表达式的值是a[3]为4,而使p指向a[4]。D逗号表达式p+=2,++*p,先是p+=2,使p指向a[2],以后是++*p,因当时的*p就是a[2],++a[2]使a[2]增1,变成4,并以4为表达式的值。所以只有p+=2,*(p++)的值是3。所以解答是A。. Y( w- G4 p, r$ @& b
  73.要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的函数是()
% I( H' h/ d/ i8 ^  A. funa(int*a,intn,intx)
( a$ G6 d4 o& v  {*a=x;
- n% U* |" A* G: D  whlie(a[n]!=x)n--;. f% B6 l0 @. k" k; n+ k
  returnn;
0 Z. j$ V: A$ W3 i5 c* [  }' j& q6 t- z) B$ k: D0 f& F
  B. funb(int*a,intn,intx)- s  X, B( n6 ?1 |( [- ]
  {intk;
6 V" s0 ^7 {$ ?) k- p& H7 k: c  for(k=l;kO。在a[0]处放入x后,这个条件就不必要了,循环至少在访问了a[0]后终止,并返回0值。所以该函数能完成指定的功能。函数funb采用常规的办法编写,循环在a[1]与a[n]之间顺序寻找,一旦找到立即返回找到处的下标,直至查找循环结束,查不到指定的值而返回0值。函数func采用与函数funa相同的方法,不过是另外引入一个指针变量。但是该函数return语句后的表达式有严重的错误,应返回k-a,两指针的差,其值等于找到元素的下标。表达式k-n是指针k向前移n个位置的指针值。函数fund预置k为0,循环让k增1,并在k在界内和a[k]不等于x的情况下循环。循环结束有两种情况,或k已不在界内,或k在界内,并且a[k]等于x。若是后者,函数返回k,而若前者,函数返回比该函数也能正确完成查找工作。这样,不能正确完成查找工作的函数是函数fonc。所以正确选择是C。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-18 04:59 , Processed in 0.296583 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表