【问题3】( 6 分)
分析设计阶段项目建设成果主要包括______。
供选择的答案:
① 立项建议书 ② 概要设计规格说明 ③ 软件质量保证计划
④ 项目开发工作计划 ⑤ 可行性分析报告 ⑥ 详细设计规格说明
⑦ 测试计划 ⑧ 测试报告 ⑨ 软件配置管理计划
[问题2](3分)
(1)请指出在软件开发中软件总体结构、运行环境、出错处理设计应分别在哪个文档中阐述(选择候选答案的标号即可)。
候选答案:
①可行性研究报告②项目开发计划 ③软件需求规格说明
④数据要求规格说明⑤概要设计规格说明⑥详细设计规格说明
⑦测试计划⑧测试报告⑨用户手册
(2)请指出初步的用户手册、确认测试计划两个文档应分别在哪个阶段中完成(选择候选答案的标号即可)。
候选答案:
①行性研究与计划 ②需求分析 ③概要设计
④详细设计 ⑤测试 ⑥维护
(1)按照顺序分别是⑤,③,⑤。 (2)按照顺序分别是②,②。解析:要求指出在软件开发中软件总体结构、运行环境、出错处理设计应分别在哪个文档中阐述,还要求指出初步的用户手册、确认测试计划两个文档应分别在哪个阶段中完成,题目已经给出了备选的答案,联系项目的生命周期及各阶段产生的文档,要求考生能正确地选出答案。
软件的总体结构应当在概要设计规格说明书中正确定义并给出准确描述。软件的运行环境最初在软件需求规格说明中定义。出错处理设计应在概要设计规格说明中阐明。
初步的用户手册在需求分析阶段开始编写,确认测试计划也应在需求分析阶段开始编写。确认测试有两方面的任务:其一是做有效性测试,确认需求说明书中规定的所有需求是否已正确实现;其二是对所要求的软件配置进行审查,特别是对合同中规定应交付的文档进行审查。因为在需求分析阶段已经明确软件的各种功能、性能和其他的质量需求,初步的用户手册也有了,可以针对这些需求和用户手册中的内容编制如何逐项检查的确认测试计划,当然,这种测试计划只是初步的。测试实施的细节还需在体系结构、用户界面、数据库、出错处理和运行组合等设计完成后才能定下来。
下列选项中不属于软件生命周期开发阶段任务的是( )。
A.概要设计
B.软件修改
C.软件维护
D.详细设计
(7)下列选项中不属于软件生命周期开发阶段任务的是 A. 软件测试 B.概要设计 C.软件维护 D.详细设计
请指出在软件开发中软件总体结构、运行环境、出错处理设计应分别在哪个文档中阐述(选择候选答案的标号即可)。
候选答案:
①可行性研究报告 ②项目开发计划 ③软件需求规格说明
④数据要求规格说明 ⑤概要设计规格说明 ⑥详细设计规格说明
⑦测试计划 ⑧测试报告 ⑨用户手册
(2)请指出初步的用户手册、确认测试计划两个文档应分别在哪个阶段中完成(选择候选答案的标号即可)。
候选答案:
①可行性研究与计划 ②需求分析 ③概要设计
④详细设计 ⑤测试 ⑥维护
全国计算机二级C+考试历年真题整理0 6 年T2年2 0 X X 年 9 2 41.OA、概要设计与详细设计 B、过 程 控 制 C、软件结构设计与数据设计D、程序设计与数据设计故本题答案为A。2 .数 据 库 技 术 的 根 本 目 标 是 解 决 数 据 的 A、存 储 问 题 共 享 问 题 C、安全问题 D,保护问题故本题答案为3 .在 QA、概念模式 B、外模式 C、内模式 D、物理模式故本题答案为4 .在长度为6 4A、6 3 B、6 4 C、6 D、7故本题答案为B。5 .对下列二叉树进 行 中 序 遍 历 的 结 果 是。A s A C B D F E G B、A C B D F GEC、A B D C GE FD、F C A D B E G后遍历右子树。故本题答案为A。6.下列选项中不属于软件生命周期开发阶段任务的是A、软件测试 B、概要设计 C、软件维护 D、详细设计软件生命周期分为软件定义、软件开发及软件维护。其中软件开发阶段的任务中软件设计阶 段可分软件开发阶段。故本题答案为C。7.下 列 叙 述 中 正 确 的 是.ABC D、上述三种说法都不对称为算所需要的基本应该与所使用以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。故本题答案为D。8.下 列 选 项 中 不 符 合 良 好 程 序 设 计 风 格 的 是。A、源程序要文档化B、数据说明的次序要规范化C、避免滥用goto语句D、模块设计要保证高耦合、高内聚对保证程序的 1 2、数据说明的3 一 g o t o 语句,模块设计要保证低耦合、高内聚。故本题答案为D。9.设有如下三个关系表R S T下列操作中正确的是_ _ _ _ _。A、T=R n S B,R US C、D、T=R/S是关系R和关系S故本题答案为c。1 0._ _ _ _ _ _ oA、编码设计 B、测试阶段 C、运行阶段 D、物理设计数据库设计分为以下6计阶段、实施阶段及数据库运行和维护阶段。故本题答案为D o1L 下列运算符不能重载为友元函数的是 0A、-()-B、+-+C x =故本题答案为鼠1 2.语句 o f s t r e am f C S A LA R Y.D A T,i o s _ bas e:ap p);的功能是建立流对象 f 文件 S A LA R Y.D A T与 f 。A、若文件存在Bmn B C1 3 A B Cm l 3n l 3 D本题考查的是文件流的输出。o f s t r e am f(S A LA R Y.D A T“i o s bas e:ap p):是 以 i o s _ bas e:ap p 若文件不存在件。故本题答案为B o1 3 .有如下程序#i n cl u de u s i n g n am e s p ace s t d;cl as s A p u bl i c:v i r t u al v o i d f u n cl()co u t A l;)v o i df u n c2 ()co u t A 2”;;cl as s B:p u bl i c A(p u bl i c:v o i d f u n ci()co u t funcl();p-func2();return 0;A、B1B2 B、A1A2 C,B1A2 D,A1B2本题考查的是派生类。派生类B由基类A公有继承而来。调用p-funcl();B 的函数 void fund()p-func2();void func2()根据指针类型调用。故通过指针p调用func2时将直接调用基类中的void func2()。故本题答案为C。14.if格 式1 if(条件)语句或 格式2 if(条件)语 句lelse 语句2A、条件部分可以是一个if if(if(a=0)?)?B、语句部分可以是一个if if(?)if(?)?C、如果在 条件前加上逻辑非运算符!并交换 语 句1 和 语句2D、语句 if(?)while(?)?本题考查的是i f语句。if 条件 i f子句和else当然也可以是if?else语句本身和while语句。if?else(条件 值不为0 真执行 语 句1后忽略 语句2句 2 if0”假 i f 语句之后的下一条语句。故本题答案为A。15.A、const int b uffer=256;B、const doub le*point;C、int const b uffer=256;D、doub le*const point;本题考查的是符号常量定义。const int b uffer=256;声明常量b ufferconst doub le*point;改变声明常量指针*point*pointp o in t的值可以int const b uffer=256;声明常量b ufferdoub le*const point;p o in t不是声明的point*pointp o in t的值不可以doub le aa=123.45;doub le*const point=&aa;故本题答案为D。16.A、C+已有的任何运算符都可以重载 B、运算符函数的返回类型不能声明为基本数据类型C、在类型转换符函数的定义中不需要声明返回类型D、可以通过运算符重载来创建C+中原来没有的运算符本题考查的是运算符重载。运算符重载是针对C+选项D错误。除故了.、.*、-*?:这 5数的返回类型可A错误。运算符函此不需要返回值类型的声明。故本题答案为C。0A可以省略省略CD_,本题考查的是函数模板中模板实参的省略。判定其中部分个参数可以省能够获得同 A和B错误。对于C错误。常 规参数的信息无故本题答案为九18.fun(a+b,3,max(n-l,b)则 f u n 的 实 参 个 数 是 A、3 B、4 C、5 D、6本题考查的是函数的调用。在 C+形参列表)是 f u n ()函数中它包括 3 a+b3 和 m a x (n-1,b)3 个。故本题答案为A。A、内联函数在调用时发生控制转移 B、内联函数必须通过关键字i n l i n e 来定义C、内联函数是通过编译器来实现的D、内联函数函数体的最后一条语句必须是r e t u r n 语句 本题考查的是内联函数。在 C+中使用i n l i n e 关键字来定义内联函数。i n l i n e 关键字放在函数定义中函数类型之 前。不过编译器i n i i n e 说明。一个内也可以没有r e t u r n 将函数代码展开执行。内联函数是通过编译器来实现的。故本题答案为C。A、公有成员 B、公有成员和保护成员C、公有成员、保护成员和私有成员D、保护成员本题考查的是派生类。此时派生类对制属性。故本题答案为B。2 1.#include using namespace std;class Ob j(static int i;pub lic:Ob j()i+;、Ob j()i一;static int getVal()return i;;int Ob j:i=O;void f()Ob j ob 2;coutob 2.getVal();)int main()Ob j ob i;f();0b j*ob 3=new Ob j;coutgetVal0;delete ob 3;cout0b j:getVal();return 0;1程 序 的 输 出 结 果 是。A、232 B、231 C、222 D、221本题主要考查了 C+中类的静态成员。由于i是类Ob j ob i用构造函数Ob j()i的值将加1 f()ob 2时系统会自动调用构造函数Ob j()i的值将再加1ob 2.getVal();重 2 f()析构函数、Ob j()i的 值 将 减1 ob 3 统自动调用构造函数Ob j()i的 值 将 加1coutob 3-getVal();将i 2 deleteob 3后将执行Ob j的析构函数Ob j()i的值将减1Ob j:getVal()故本题答案为D。i的 值122.oAB、派生类的成员函数可以访问基类的所有成员 C、基类对象可以赋值给派生类对象D本题考查的是拷贝构造函数。拷贝构造函数通常在以下3123 故本题答案为B。23.0A,用一个对象去初始化同一类的另一个新对象时B、将类的一个对象赋值给该类的另一个时象时CD本题考查的是拷贝构造函数。拷贝构造函数通常在以下3123故本题答案为B。24.有如下程序#include#inc1udo using namespace std;i n t m a i n。(c ou t se t pre c i si on(3)f i xe d se t f i l l C)se t w(8);c ou t 12,3 4 5 34.567;re t u rn 0;*12.345*34.567则 程 序 中 下 划 线 处 遗 漏 的 操 作 符 是。A、se t pre c i s i on R、f i xe d C、se t f i 11C*)D、se t w 本题考查的是输入输出宽度的控制和输出精度的控制。se t w d n t n);设置输入输出的宽度。se t pre c i si on(i n t n);se t f i 11(c h a r c);设置填充字符。8 3据 宽 度 小 于8空闲的位置用*填充。故本题答案为九2 5.有如下的运算符重d ou b l e ope ra t or+(i n t i,i n t k)re t u rn d ou b l e(i+k):)A、+是作为非成员函数重载的B、两 个i n t型参数的和 也 应 该 是i n t +的返回类型声明为d ou b l eC、没有将运算符重载函数声明为某个类的友元D、C+已经提供了 求 两 个i n t型数据之和的运算符+本题考查的是运算符的重载。在 C+i n t c h a r d ou b l e 等内置类型运算符进行重载。故 本 题 答 案 为D。2 6.有如下程序#i n c l u d o u si n g n a m e spa c e st d;c l a ss Ba se prot e c t e d:Ba se()c ou t*A);Ba se(c h a r c)(c ou t c;?;c l a ss Dori v e d:pu b l i c Ba se pu b l i c:De ri v e d(c h a r c)c ou t char*C和D错误。在定义模板typename 与 class classo typenametypename都可以替换成class class不能 使 用typename来替换。故本题答案为A。28.在一个派生类对象结束其生命周期时 oA、先调用派生类的析构函数、后调用基类的析构函数B、先调用基类的析构函数后调用派生类的析构函数CD本题考查的是派生类析构函数的执行顺序。员对象的析构故本题答案为A。29.class MyBaseint k;public:MyBase(int n=0):k(n)int value()constreturn k;c l a ss M y Dori v e d:M y Ba se(i n t j;pu b l i c:M y Dori v e d (J n t i):j (i)i n t g e t K()c on st.re t u rn k;i n t g e t j ()c on st re t u rn j;;A、函数g e t K试图访问基类的私有成员变量kB,在类 M y De ri v e d M y Ba so 前缺少关键字 pu b l i c、prot e c t e d 或 pri v a t eC,类M y De ri v e d缺少一个无参的构造函数D、类M y De ri v e d的构造函数没有对基类数据成员k进行初始化本题考查的是派生类访问权限。构成派生类的以直接访问的。故本题答案为A。
下列选项中属于软件生命周期开发阶段任务的是( )。
A.可行性研究
B.需求分析
C.详细设计
D.软件维护
从结构化的瀑布模型来看,在软件生命周期中的6个阶段中,下面的几个选项中,如果(62)出错,对软件的影响最大。
A.需求分析阶段
B.详细设计阶段
C.测试和运行阶段
D.概要设计阶段
● 对下图所示的二叉树进行中序遍历(左子树、根、右子树)的结果是 (42) 。
(42)
A. 2 5 3 4 6 1
B. 2 5 3 4 1 6
C. 2 6 5 4 1 3
D. 2 6 4 5 3 1
下列软件开发的说法正确的是:()
A、软件开发通常由概要设计、详细设计、编码、软件维护4个阶段组成
B、软件开发通常由软件定义、详细设计、编码、软件测试4个阶段组成
C、软件开发通常由软件定义、详细设计、编码、软件维护4个阶段组成
D、软件开发通常由概要设计、详细设计、编码、软件测试4个阶段组成
下列选项中不属于软件生命周期开发阶段任务的是
A.软件测试
B.概要设计
C.软件维护
D.详细设计