首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 软件设计师 > 正文

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

来源:考试吧Exam8.com) 2011-8-11 11:59:20 考试吧:中国教育培训第一门户 模拟考场
考试吧整理“2011年软考软件设计师考前练习题及答案解析(19)”,方便考生备考!

  70. 以下关于用例(use case)的叙述中,说法不够准确的是 () 。

  A.用例将系统的功能范围分解成许多小的系统功能陈述

  B.一个用例代表了系统的一个单一的目标

  C.用例是一个行为上相关的步骤序列

  D.用例描述了系统与用户的交互

  参考答案:D。

  解析:用例(use case)用来描述系统在对事件做出响应时所采取的行动,即它确定了一个与系统参与者进行交互,并由系统执行的动作序列。可见,一个用例本身并不是一个功能需求,它代表了系统的一个单一的目标,是一个行为上相关的步骤序列。

  选项D所描述的范围太广,不够准确。在UML规范中,参与者是指系统所涉及到的人,或者是用户在本系统中扮演的角色。一个参与者总是在系统的自动化边界之外。

  71. 采用UML分析用户需求时,用例UCl可以出现在用例UC2出现的任何位置,那么UCl和UC2之间的关系是 () 关系。

  A.include

  B.extend

  C.generalize

  D.call

  参考答案:C。

  解析:用例之间的泛化(generalize)关系类似于类之间的泛化关系。子用例继承父用例的行为与含义。子用例还可以增加或者覆盖父用例的行为。子用例可以出现在父用例出现的任何位置。

  本试题中,由于用例UCl可以出现在用例UC2出现的任何位置,因此UCl与UC2之间是选项C的“泛化(generalize)”关系。要注意,不是“用例UCl可以出现在用例UC2的任何位置”。

  选项A的“包含(include)”关系,表示基础用例在它内部,说明某一位置上显式的合并是另一个用例的行为。被包含用例从不孤立存在,仅作为某些包含它的更大的基础用例的一部分出现。

  选项B的“扩展(extend)”关系,表示基础用例在延伸用例间的一个位置上,隐式合并了另一个用例的行为。基础用例可以单独存在,但是在一定的条件下,它的行为可以被另一个用例的行为延伸。

  选项D的“call”可解释成“调用”。

  72.若有以下定义,则值为3的表达式是()

  inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;

  A. p+=2,*(p++)

  B. p+=2,*++p

  C. p+=3,*p++

  D. p+=2,++*p

  参考答案:A。

  解析:数组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。

  73.要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的函数是()

  A. funa(int*a,intn,intx)

  {*a=x;

  whlie(a[n]!=x)n--;

  returnn;

  }

  B. funb(int*a,intn,intx)

  {intk;

  for(k=l;k<=n;k++)

  if(a[k]==x)returnk;

  return0;

  }

  C. func(inta[],intn,intx)

  {int*k;

  a[O]=x;k=a+n;

  while(*k!=x)k--;

  returnk-n;

  }

  D. fund(inta[],intn,intx)

  {intk=0;

  dok++;

  while((kif((kelsereturn0;

  }

  参考答案:C。

  解析:在数组中找指定值是经常遇到的计算要求,有多种编程方法。在这里,数据预放在数组下标1至n的元素中,下标为0的元素没有放数据,程序可以利用这个位置简化查找函数。函数funa先将要查找的情放入a[0],从数据表的最后一个元素开始逆序向前查找。这样做的好处是循环条件不必担心因数组中原先没有值为x的元素而一直顺序查找下去,访问不是数表的元素,需插入条件n>O。在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。

  相关推荐:

  2011软考软件设计师考试(上午)同步辅导汇总

  2011上半年软考软件设计师考试试题及答案(上午)

  2011年上半年软考软件设计师考试试题(下午)

文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。