1、(A)二级公共基础知识(二)及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:46,分数:100.00)1.在图所示的流程图中,如果标记为 b 的运算执行了 m 次(m1),那么标记为 a 的运算执行次数为_。(分数:2.00)A.B.C.D.2.面向对象程序设计中,采用_机制实现共享类中的方法和数据:A公用调用 B封装 C动态绑定 D继承(分数:2.00)A.B.C.D.3.采用面向对象技术开发的应用系统的特点是_。A重用性更强 B运行速度更快 C占用存储量小 D维护更复杂(分数:2.00)A.B.C.D.4.面向对象程序设计语言提供的_机制可以实现发送一个通用的
2、消息而调用不同类的方法。A函数调用 B多态 C封装 D继承(分数:2.00)A.B.C.D.5.面向对象程序设计语言中提供的继承机制可将类组织成一个_结构,以支持可重用性和可扩充性。A栈 B星形 C层次 D总线(分数:2.00)A.B.C.D.6._不是面向对象程序设计的主要特征。A封装 B多态 C继承 D结构(分数:2.00)A.B.C.D.7.下列关于面向对象程序设计的叙述,正确的是_。A对象是类的模板 B“封装”就是生成类库的标准C一个类至少有一个实例 D一个类可以继承其父类的属性和方法(分数:2.00)A.B.C.D.8.在面向对象的系统中,由于有了_,所以父类的数据和方法可以应用于子
3、类。A继承性 B封装性 C抽象性 D多态性(分数:2.00)A.B.C.D.9.在面向对象方法中,对象是类的实例。表示与对象相关特征的数据称为对象的_。A数据变量 B数据结构 C属性 D定义(分数:2.00)A.B.C.D.10.在面向对象方法中,一个对象通过发送_来请求另一个对象为其服务。A调用语 B消息 C命令 D函数(分数:2.00)A.B.C.D.11.面向对象程序设计以_为基本的逻辑构件。A模块 B对象 C结构 D类(分数:2.00)A.B.C.D.12.消息传递是对象间通信的手段,一个消息通常包括_。A发送消息的对象的标志、调用的发送方的操作名和必要的参数B发送消息的类名和接收消息
4、的类名C接收消息的对象的标志、调用的接收方的操作名和必要的参数D接收消息的类名(分数:2.00)A.B.C.D.13.在面向对象方法中,对象可看成是属性(数据)及这些属性上的专用操作的封装体。封装是一种_技术。A组装 B产品化 C固化 D信息屏蔽(分数:2.00)A.B.C.D.14.类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个_。A例证(illustration) B用例(use-case)C实例(instance) D例外(exception)(分数:2.00)A.B.C.D.15.编制一个好的程序,首先要确保它的正确性和可靠性,除此之外,通常更注重源程序的_
5、。A易使用性、易维护性和效率 B易使用性、易维护性和易移植性C易理解性、易测试性和易修改性 D易理解性、安全性和效率(分数:2.00)A.B.C.D.16.编制一个好的程序,应强调良好的编程风格,例如,选择标志符的名称时应考虑_。A名称长度越短越好,以减少源程序的输入量B多个变量共用一个名称,以减少变量名的数目C选择含义明确的名称,以正确提示所代表的实体D尽量用关键字作名称,以使名称标准化(分数:2.00)A.B.C.D.17.编制一个好的程序,在书写语句时应考虑_。A把多个短的语句写在同一行中,以减少源程序的行数B尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效C尽量消除表达式中的括
6、号,以简化表达式D避免使用测试条件“非”,以提高程序的可读性(分数:2.00)A.B.C.D.18.在书写程序中的功能性注解时应考虑_。A仅为整个程序做注解 B仅为每个模块做注解C为程序段做注解 D为每个语句做注解(分数:2.00)A.B.C.D.19.源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标志符、注解和_。A程序的视觉组织 B尽量不用或少用 goto 语句C检查输入数据的有效性 D设计良好的输出报表(分数:2.00)A.B.C.D.20.编写程序时,_是应采纳的原则之一。A程序的结构化 B程序越短越好C尽可能节省存储单元 D尽可能减少注解行(分
7、数:2.00)A.B.C.D.21.在编制程序时,应采纳的原则之一是_。A不限制 goto 语句的使用 B减少或取消注解行C程序越短越好 D程序结构应有助于读者理解(分数:2.00)A.B.C.D.22.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中适用于需求明确或很少变更的项目的是_。A瀑布模型 B演化模型 C螺旋模型 D喷泉模型(分数:2.00)A.B.C.D.23.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中_主要用来描述面向对象的软件开发过程。A瀑布模型 B演化模型 C螺旋模型 D喷泉模型(分数:2.00)A.B.C.D.24.如果用户对系统的
8、目标不是很清楚,需求难以确定,这时最好使用_进行系统开发。A原型法 B瀑布模型 CV-模型 D螺旋模型(分数:2.00)A.B.C.D.25.在软件开发的各个阶段中,对软件开发成败影响最大的是_。A需求分析 B概要设计 C详细设计 D编码(分数:2.00)A.B.C.D.26.以下关于编程风格的叙述中,不应提倡的是_。A使用括号以改善表示式的清晰性B用计数方法而不是文件结束符来判断文件的结束C一般情况下,不要直接进行浮点数的相等比较D使用有清晰含义的标志符(分数:2.00)A.B.C.D.27.一般地,可以将软件开发的生命周期划分为软件项目计划、_、软件设计、编码、测试、运行/维护 6 个阶段
9、。A可行性分析 B初始调查 C需求分析与定义 D问题分析(分数:2.00)A.B.C.D.28.源程序清单是在软件生存周期的_阶段产生的文档。A软件概要设计 B编码 C软件详细设计 D测试(分数:2.00)A.B.C.D.29.软件的复杂性与许多因素有关。_不属于软件的复杂性参数。A源程序的代码行数 B程序的结构C算法的难易程度 D程序中注释的多少(分数:2.00)A.B.C.D.30.系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于_。A校正性维护 B适应性维护 C完善性维护 D预防性维护(分数:2.00)A.B.C.D.31.原型化方法是一种动态定义需求的方法,
10、_不具有原型化方法的特征。A简化项目管理 B尽快建立初步需求C加强用户参与和决策 D提供严格定义的文档(分数:2.00)A.B.C.D.32.瀑布模型(Waterfall Model)突出的缺点是不适应_的变动。A算法 B平台 C程序语言 D用户需求(分数:2.00)A.B.C.D.33._是调试程序的主要工作之一。A调度 B证明程序正确 C人员安排 D排错(分数:2.00)A.B.C.D.34.开发软件时对提高开发人员工作效率至关重要的是_。A操作系统的资源管理功能 B程序开发环境C程序人员数量 D计算机的并行处理能力(分数:2.00)A.B.C.D.35.某软件在应用初期,运行在 Wind
11、ows 环境中。现因某种原因,该软件需要在 UNIX 环境中运行,而且必须完成相同的功能。为适应这个要求,软件本身需要进行修改,而所需修改的工作量取决于该软件的_。A可扩充性 B可靠性 C复用性 D可移植性(分数:2.00)A.B.C.D.36.软件的易使用性反映了用户学习、使用该软件以及为程序准备输入和解释输出所需的工作量。按照。ISO/IEC 9126 软件质量度量模型的定义,一个软件的易使用性属性不包括_。A易理解性 B易操作性 C易改变性 D易学习性(分数:2.00)A.B.C.D.37.在了解程序内部结构和流程后,通常采用_验证程序内部逻辑是否符合设计要求。A黑盒技术 B白盒测试 C
12、等价类划分 D边界值分析(分数:2.00)A.B.C.D.38.软件测试中的 测试由用户在软件开发者的指导下完成,这种测试属于_阶段的测试活动。A单元测试 B集成测试 C系统测试 D确认测试(分数:2.00)A.B.C.D.39.进行软件测试的目的是_。A尽可能多地找出软件中的缺陷 B缩短软件的开发时间C减少软件的维护成本 D证明程序没有缺陷(分数:2.00)A.B.C.D.40.系统测试计划应该在软件开发的_阶段制定。A需求分析 B概要设计 C详细设计 D系统测试(分数:2.00)A.B.C.D.41.软件的_是指软件从一种计算机系统转换到另一种计算机系统运行的难易程度。A兼容性 B可移植性
13、 C可转换性 D可扩展性(分数:2.00)A.B.C.D.42.在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率称为_。A可扩展性 B可接近性 C可靠性 D稳定性(分数:2.00)A.B.C.D.43.以下关于程序测试的叙述,正确的是_。A程序测试的目的是证明程序的正确性B白盒测试也称为功能测试C黑盒测试也称为结构测试D程序测试要注意检验程序是否有多余的功能(分数:4.00)A.B.C.D.44.黑盒测试也称为功能测试。黑盒测试不能发现_。A终止性错误 B输入是否正确接收C界面是否有误 D是否存在冗余代码(分数:4.00)A.B.C.D.45.在进行单元测试时,常用的方法是_。A采用
14、白盒测试,辅之以黑盒测试 B采用黑盒测试,辅之以白盒测试C只使用白盒测试 D只使用黑盒测试(分数:4.00)A.B.C.D.46.白盒测试是根据程序的_来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。A功能 B性能 C内部逻辑 D内部数据(分数:4.00)A.B.C.D.(A)二级公共基础知识(二)答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:46,分数:100.00)1.在图所示的流程图中,如果标记为 b 的运算执行了 m 次(m1),那么标记为 a 的运算执行次数为_。(分数:2.00)A.B.C.D. 解析:分析 该流程是一个 while 型循环
15、,先进行分支条件的判断,然后再执行循环体,也就是“当条件 P 成立,反复执行 A,直到 P 不成立”。结合到本例中,就是只有当条件 a 不成立时,程序才会结束,因此至少有一次不成立。根据题意,b 执行了 m 次,说明 a 也相应地执行了 m 次,而加上这一次“不成立”的情况,其执行的次数应为 m+1 次。2.面向对象程序设计中,采用_机制实现共享类中的方法和数据:A公用调用 B封装 C动态绑定 D继承(分数:2.00)A.B.C.D. 解析:分析 继承是面向对象方法中重要的概念,是面向对象程序设计语言不同于其他程序设计语言的主要特点。它用来说明特殊类(子类)与一般类(父类)的关系,通常使用泛化
16、来说明一般类与特殊类之间的关系,它们之间是一对多关系。继承是面向对象开发中用于实现共享类中的方法和数据的共享机制,它是利用可重用成分构造软件系统的最有效特性,它不仅支持系统的重用性,还有利于提高系统的可扩充性。3.采用面向对象技术开发的应用系统的特点是_。A重用性更强 B运行速度更快 C占用存储量小 D维护更复杂(分数:2.00)A. B.C.D.解析:分析 用面向对象技术开发的应用系统最重要的改进就是可重用性,而非运行速度、占用存储量、维护量方面。4.面向对象程序设计语言提供的_机制可以实现发送一个通用的消息而调用不同类的方法。A函数调用 B多态 C封装 D继承(分数:2.00)A.B. C
17、.D.解析:分析 多态性是面向对象程序设计语言的一个重要特性,它是指一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出不同的行为,也就是发送一个通用的消息而用不同的方法来响应,这通常是使用重载和改写两项技术来实现的。5.面向对象程序设计语言中提供的继承机制可将类组织成一个_结构,以支持可重用性和可扩充性。A栈 B星形 C层次 D总线(分数:2.00)A.B.C. D.解析:分析 继承机制实现的是父类和子类之间的关系,子类又能够作为其他类的父类,因此可以将类组织成一个层次结构。6._不是面向对象程序设计的主要特征。A封装 B多态 C继承 D结构(分数:2.00)A.B.C.D
18、. 解析:分析 封装、多态和继承是面向对象程序设计语言的三大特性,而结构则是传统的面向过程程序设计语言的主要特性。7.下列关于面向对象程序设计的叙述,正确的是_。A对象是类的模板 B“封装”就是生成类库的标准C一个类至少有一个实例 D一个类可以继承其父类的属性和方法(分数:2.00)A.B.C.D. 解析:分析 类是对象的抽象,对象是类的实例,即类是对象的模板;类库是一种可重用的类资源,并不是以“封装”为标准的;类与类之间的实例没有直接关系,并没有一个类至少有一个实例的约束;而子类与父类之间是一种继承关系,子类中包含所有父类的属性和方法,并且可以在此基础上定义自己的属性和方法。8.在面向对象的
19、系统中,由于有了_,所以父类的数据和方法可以应用于子类。A继承性 B封装性 C抽象性 D多态性(分数:2.00)A. B.C.D.解析:分析 在面向对象的系统中实现“父类的数据和方法可以应用于子类”的特性是继承性。9.在面向对象方法中,对象是类的实例。表示与对象相关特征的数据称为对象的_。A数据变量 B数据结构 C属性 D定义(分数:2.00)A.B.C. D.解析:分析 在面向对象方法中,对象是类的实例。表示对象相关特征的数据称为对象的属性。10.在面向对象方法中,一个对象通过发送_来请求另一个对象为其服务。A调用语 B消息 C命令 D函数(分数:2.00)A.B. C.D.解析:分析 在面
20、向对象方法中,一个对象通过发送消息来请求另一个对象为其服务。11.面向对象程序设计以_为基本的逻辑构件。A模块 B对象 C结构 D类(分数:2.00)A.B. C.D.解析:分析 本题涉及的是面向对象程序设计中最常见的知识点,显然它是以对象为基本的逻辑构件。12.消息传递是对象间通信的手段,一个消息通常包括_。A发送消息的对象的标志、调用的发送方的操作名和必要的参数B发送消息的类名和接收消息的类名C接收消息的对象的标志、调用的接收方的操作名和必要的参数D接收消息的类名(分数:2.00)A.B.C. D.解析:分析 消息就是向对象发出的服务请求,它通常包括提供服务的对象标识、消息名、输入信息和回
21、答信息。消息通信则是面向对象方法学中的一个重要原则,它与对象的封装原则密不可分,为对象间提供了唯一合法的动态联系的途径。13.在面向对象方法中,对象可看成是属性(数据)及这些属性上的专用操作的封装体。封装是一种_技术。A组装 B产品化 C固化 D信息屏蔽(分数:2.00)A.B.C.D. 解析:分析 封装是一种信息屏蔽技术,封装的目的是使对象的定义和实现分离。14.类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个_。A例证(illustration) B用例(use-case)C实例(instance) D例外(exception)(分数:2.00)A.B.C. D.
22、解析:分析 类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个实例。15.编制一个好的程序,首先要确保它的正确性和可靠性,除此之外,通常更注重源程序的_。A易使用性、易维护性和效率 B易使用性、易维护性和易移植性C易理解性、易测试性和易修改性 D易理解性、安全性和效率(分数:2.00)A.B. C.D.解析:分析 对于源程序而言,除了必须确保其正确性和可靠性之外,还需注重其易使用性(包括易理解性)、易维护性(包括易测试性、易修改性)和易移植性。16.编制一个好的程序,应强调良好的编程风格,例如,选择标志符的名称时应考虑_。A名称长度越短越好,以减少源程序的输入量B多个变
23、量共用一个名称,以减少变量名的数目C选择含义明确的名称,以正确提示所代表的实体D尽量用关键字作名称,以使名称标准化(分数:2.00)A.B.C. D.解析:分析 在选择标志符的名称时,最主要是要保证程序的清晰性,因此应选择含义明确的,能够正确提示所代表实体的名称。17.编制一个好的程序,在书写语句时应考虑_。A把多个短的语句写在同一行中,以减少源程序的行数B尽量使用标准文本以外的有特殊功效的语句,以提高程序的功效C尽量消除表达式中的括号,以简化表达式D避免使用测试条件“非”,以提高程序的可读性(分数:2.00)A.B.C.D. 解析:分析 在书写代码时,要注意的有:不应该将多个短句写在同一行,
24、这样会降低程序的易读性;也不应该使用特殊功效的语句,否则会降低程序的易理解性;同样的道理,消除表达式中的括号,简化表达式的同时,也会使得表达式更不易理解;而“非”的逻辑最不直观,因此避免使用它是正确的。18.在书写程序中的功能性注解时应考虑_。A仅为整个程序做注解 B仅为每个模块做注解C为程序段做注解 D为每个语句做注解(分数:2.00)A.B.C. D.解析:分析 功能性注释最合适的大小显然是“程序段”。19.源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标志符、注解和_。A程序的视觉组织 B尽量不用或少用 goto 语句C检查输入数据的有效性 D设计
25、良好的输出报表(分数:2.00)A. B.C.D.解析:分析 源程序中应包含一些内部文档,以帮助阅读和理解源程序,源程序的内部文档通常包括选择合适的标志符、注解和程序的视觉组织。20.编写程序时,_是应采纳的原则之一。A程序的结构化 B程序越短越好C尽可能节省存储单元 D尽可能减少注解行(分数:2.00)A. B.C.D.解析:分析 对于这类编码规范的题目,重点在于抓住“结构良好、清晰易读”的目标。从这个角度可以确定“程序的结构化”和“使用有实际意义的名字”是正确的选择。程序越短越好,尽可能节省存储单元是在早期缺少存储媒介时要考虑的。现在早已不会受到这方面的约束,不应以牺牲易读性的代价来节省这
26、些资源。显然,注释行对于程序的阅读与使用十分有益,不应尽可能地减少,而是合理地使用它们。21.在编制程序时,应采纳的原则之一是_。A不限制 goto 语句的使用 B减少或取消注解行C程序越短越好 D程序结构应有助于读者理解(分数:2.00)A.B.C.D. 解析:分析 编程时所采纳的原则的 4 个选项中,只有 D,即程序结构应有助于读者理解是能帮助提高可维护性的,因而应予以采纳。而 A 不限制 goto 语句的使用,这是造成软件结构混乱,可维护性差的重要原因,当然是不能采纳的。同样 B 减少或取消注释行也不可采纳,因为对于复杂的程序,必要的注解有助于读者理解、修改,且注解行丝毫不影响程序的运行
27、,减少或取消注解行显然不利于可维护性。对于 C 程序越短越好而言,当然在不影响软件其他质量因素的情况下,程序短而精要比杂而冗长好,但在编制程序时以程序越短越好为编程原则,会因为过多考虑程序的精巧而使其可读性及可修改性变差,也就是可维护性变差。这在当前计算机软硬件飞速发展的时代显然是不可取的。22.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中适用于需求明确或很少变更的项目的是_。A瀑布模型 B演化模型 C螺旋模型 D喷泉模型(分数:2.00)A. B.C.D.解析:分析 为了指导软件的开发,可以用不同的方式将软件生命周期中的所有开发活动组织起来,从而形成不同的软件开发模型。
28、以下就是常见的软件开发模型,以及它们的特性。1)瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是:可以使过程比较规范化,有利于评审;缺点是:过于理想,缺乏灵活性,容易产生需求偏差,而且无法有效地适应用户需求改变带来的影响。2)演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。3)螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开
29、始第一个螺旋。4)喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。23.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中_主要用来描述面向对象的软件开发过程。A瀑布模型 B演化模型 C螺旋模型 D喷泉模型(分数:2.00)A.B.C.D. 解析:分析 喷泉模型主要用于描述面向对象的开发过程。24.如果用户对系统的目标不是很清楚,需求难以确定,这时最好使用_进行系统开发。A原型法 B瀑布模型 CV-模型 D螺旋模型(分数:2.00)A. B.C.D.解析:分析 对于许多需求不够明确的项目,比较适合采用原型模型
30、。它采用了一种动态定义需求的方法,通过快速建立一个能够反映用户主要需求的软件原型(用于代替严格的文档),让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。原型化人员对原型的实施很重要,衡量他们的重要标准是能否从用户的模糊描述中快速地获取实际的需求。25.在软件开发的各个阶段中,对软件开发成败影响最大的是_。A需求分析 B概要设计 C详细设计 D编码(分数:2.00)A. B.C.D.解析:分析 需求分析是对待开发软件提出的需求进行分析并给出详细的定义,它将指导概要设计、详细设计和编码工作。因此需求分析对软件开发成败的影响是最大的。26.以下关于编程
31、风格的叙述中,不应提倡的是_。A使用括号以改善表示式的清晰性B用计数方法而不是文件结束符来判断文件的结束C一般情况下,不要直接进行浮点数的相等比较D使用有清晰含义的标志符(分数:2.00)A.B. C.D.解析:分析 逐一分析这 4 个选项:1)由于在高级程序语言中通常有大量的运算符,其间的优先级也比较复杂,使用括号可以改善表达式的清晰性,减少歧义,也提高了程序的易读性。因此该描述是正确的。2)而第二句中,文件的结束应该用文件结束符来判断。用计数法来判断比较容易出错,从而不能正确地判别输入的结束,而文件结束符总是准确地指明输入的结束。3)浮点数比较:由于计算用一个最近似值表示一个浮点数。在计算
32、过程中,这些误差和计算误差常有积累,因此进行浮点数的相等比较,可能会把两个实际相等却因误差而略有差别的数当做不相等。因此一般不宜直接进行相等比较。4)标志符的意义清晰,是编码风格中很重要的一部分。27.一般地,可以将软件开发的生命周期划分为软件项目计划、_、软件设计、编码、测试、运行/维护 6 个阶段。A可行性分析 B初始调查 C需求分析与定义 D问题分析(分数:2.00)A.B.C. D.解析:分析 系统开发的生命周期是指一个系统历经软件项目计划、需求分析与定义、软件设计、编程、测试、运行/维护直至淘汰的整个过程。生命周期阶段的划分通常可以采用以下 3 种方法。1)Boehm 划分法:计划(
33、问题定义、可行性研究)、开发(需求分析、总体设计、详细设计、编码、测试)、运行(维护)三大阶段。2)国标(GB85661988)划分法:可行性研究与计划、需求分析、概念设计、详细设计、实现、组装测试、确认测试、使用和维护。并在(GB/T85661995 信息技术一软件生存期过程中定义了获取过程、供应过程、开发过程、运行过程、维护过程、管理过程和支持过程 7 个部分。3)RUP 划分法:分为初始、细化、构造、移交 4 个主要阶段。28.源程序清单是在软件生存周期的_阶段产生的文档。A软件概要设计 B编码 C软件详细设计 D测试(分数:2.00)A.B. C.D.解析:分析 在软件生命周期的各个阶
34、段,各自需要完成的一些关键的活动,产生一些特定的工件,满足一些关键的要素。1)制定计划:确定待开发软件系统的总目标,给出其功能、性能、可靠性及接口等方面的要求;由系统分析员和用户合作,研究完成该项软件任务的可行性,探讨解决问题的可能方案,并对可用的资源(计算机硬件、软件、人力等)、成本、可取得的利益、开发的进度做出估计,制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查。2)需求分析与定义:对待开发软件提出的需求进行分析,并给出详细的定义。软件人员和用户共同讨论决定:哪些需求是可以满足的,并对其加以确切地描述。然后编写出软件需求说明书或系统功能说明书,并将之与初步的系统用户手册
35、一并提交管理机构评审。3)软件设计:设计是软件工程的技术核心。在设计阶段中,设计人员从已确定的各项需求导出相应的体系结构。结构中的每一组成部分都是意义明确的模块,每个模块都和某些需求相对应,这就是所谓的概要设计。进而对每个模块要完成的工作进行具体的描述,为源程序编写打下基础,这就是所谓的详细设计。所有设计中的考虑都应以设计说明书的形式加以描述,供后续工作使用并提交评审。4)编程:把软件设计转换为计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序”清单。写出的程序应当是结构良好、清晰易读的,且与设计相一致。5)测试:测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基
36、础上检验软件的各个组成部分。首先是单元测试,查找各模块在功能和结构上存在的问题并加以纠正;其次是组装测试,将已测试过的模块按一定顺序组装起来;最后按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付使用。6)运行/维护:已交付的软件投入正式使用,便进入运行阶段。这一阶段通常会维持很长时间。软件在运行中可能出现多方面的原因,需要对其进行修改。29.软件的复杂性与许多因素有关。_不属于软件的复杂性参数。A源程序的代码行数 B程序的结构C算法的难易程度 D程序中注释的多少(分数:2.00)A.B.C.D. 解析:分析 源程序的代码行数体现了软件的规模,而规模是会对复杂性产生影响的
37、一个重要因素。程序的结构也涉及了软件的内部逻辑,因此也是与软件的复杂度相关的;所选择算法的难易程度,与软件复杂性之间的关联就更加紧密了。程序中的注释本身不是软件的一部分,它只是在编程时,为了提高代码的可读性而增加的,因此它与软件复杂性无关。30.系统的硬件环境、软件环境和数据环境发生变化时需要对系统进行维护,这种维护属于_。A校正性维护 B适应性维护 C完善性维护 D预防性维护(分数:2.00)A.B. C.D.解析:分析 软件维护可以分为 4 种。1)正确性(校正性)维护:在软件运行中发现错误,并进行修改。2)适应性维护:为了适应变化的软件工作环境,需要进行适当的变更。3)完善性维护:为了增
38、加软件的功能,需做变更。4)预防性维护:为了预防一些可预见的问题发生,而必须进行变更。显然,为了满足系统的硬件环境、软件环境和数据环境发生的变化而做的维护应该属于适应性维护。31.原型化方法是一种动态定义需求的方法,_不具有原型化方法的特征。A简化项目管理 B尽快建立初步需求C加强用户参与和决策 D提供严格定义的文档(分数:2.00)A.B.C.D. 解析:分析 原型化方法包括两种形式。1)快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法:通过快速建立一个能够反映用户主要需求的软件原型(而用于代替严格的文档),让用户在计算机上使用它,了解其概要,再根
39、据反馈的结果进行修改。因此它能够充分体现用户的参与和决策。原型化人员对原型的实施很重要,衡量它们的重要标准是能否从用户的模糊描述中快速获取实际的需求。2)演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。从上面的描述中可以看出,在原型化方法中可以简化项目管理,尽快建立初步的需求,加强用户参与和决策,但是在文档方面就不是那么严格,而是用软件原型来代替这些严格定义的文档。32.瀑布模型(Waterfall Model)突出的缺点是不适应_的变动。A算法 B平台 C程序语
40、言 D用户需求(分数:2.00)A.B.C.D. 解析:分析 瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是:可以使过程比较规范化,有利于评审。缺点在于:过于理想,缺乏灵活性,容易产生需求偏差,而且无法有效地适应用户需求的改变。33._是调试程序的主要工作之一。A调度 B证明程序正确 C人员安排 D排错(分数:2.00)A.B.C.D. 解析:分析 调试程序的目的不是为了证明程序正确,而是排错,这是十分重要的理念。34.开发软件时对提高开发人员工作效率至关重要的是_。A操作系统的资源管理功能 B程序开发环境C程序人员数量 D计算机的并行处理能力(分数:2
41、.00)A.B. C.D.解析:分析 开发软件时,提高开发人员工作效率至关重要的是程序开发工具、环境。选择恰当的程序开发环境可以节省大量的开发工作量,如软件工程中的 CASE 工具、ER/Win 等。又例如,PowerBuilder 提高了开发界面的效率。Windows 环境下的多窗口技术等都为开发人员提高了效率。而程序人员的数量,虽然对进度的快慢有明显的影响,但未必能够提高开发人员的效率。而操作系统的资源管理功能,对开发人员的效率有一定作用,但只是局部的。计算机并行处理能力属于另一范畴,且大量的软件开发工作不在并行处理机上进行。35.某软件在应用初期,运行在 Windows 环境中。现因某种
42、原因,该软件需要在 UNIX 环境中运行,而且必须完成相同的功能。为适应这个要求,软件本身需要进行修改,而所需修改的工作量取决于该软件的_。A可扩充性 B可靠性 C复用性 D可移植性(分数:2.00)A.B.C.D. 解析:分析 可扩充性是指能够在其基础上添加新功能的难易程度;可靠性是衡量在规定的一段时间内和规定条件下维护性能水平的一组软件质量;复用性是指程序可被用于与其实现功能相关的其他应用问题的程度;而可移植性是与从某一环境转移到另一环境的能力有关的属性。要将 Windows 下的软件应用到 UNIX 环境下就是一种典型系统移植,因此应取决于该软件的可移植性。36.软件的易使用性反映了用户
43、学习、使用该软件以及为程序准备输入和解释输出所需的工作量。按照。ISO/IEC 9126 软件质量度量模型的定义,一个软件的易使用性属性不包括_。A易理解性 B易操作性 C易改变性 D易学习性(分数:2.00)A.B.C. D.解析:分析 ISO/IEC 9126 模型已于 1996 年被采纳为我国的国家标准GB/T 161201996 软件产品评价、质量特性及其使用指南。根据其定义,软件易使用性的属性包括:1)易理解性:用户理解该软件系统的难易程度。2)易学习性:用户学习使用该软件系统的难易程度。3)易操作性:用户操作该软件系统的难易程度。37.在了解程序内部结构和流程后,通常采用_验证程序
44、内部逻辑是否符合设计要求。A黑盒技术 B白盒测试 C等价类划分 D边界值分析(分数:2.00)A.B. C.D.解析:分析 根据所采用的测试策略不同,可以将测试分为黑盒测试和白盒测试两种。其中白盒测试又称为结构测试或逻辑驱动测试,在已知产品内部工作过程的基础上,通过测试证明每种内部操作是否符合设计规格要求。最常见的方法是逻辑覆盖法。38.软件测试中的 测试由用户在软件开发者的指导下完成,这种测试属于_阶段的测试活动。A单元测试 B集成测试 C系统测试 D确认测试(分数:2.00)A.B.C.D. 解析:分析 确认测试也称为有效性测试,主要是验证软件的功能、性能及其他特性是否与用户要求(需求)一
45、致。根据用户的参与程度,通常包括 4 种类型。1)内部确认测试:主要由软件开发组织内部按软件需求说明书进行测试。2) 测试:由用户在开发环境下进行测试。3) 测试:由用户在实际使用环境下进行测试。4)验收测试:针对需求规格说明书,在交付前由用户为主进行的测试。39.进行软件测试的目的是_。A尽可能多地找出软件中的缺陷 B缩短软件的开发时间C减少软件的维护成本 D证明程序没有缺陷(分数:2.00)A. B.C.D.解析:分析 软件测试是为了发现错误而执行程序的过程,也是质量管理的重要手段,其目标就是尽可能多地找出软件中潜在的缺陷。40.系统测试计划应该在软件开发的_阶段制定。A需求分析 B概要设
46、计 C详细设计 D系统测试(分数:2.00)A. B.C.D.解析:分析 系统测试是将软件与外部支持的硬件、外设、支持软件、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统的一系列集成与确认测试。根据 V 模型,它应该针对根据需求分析的结果进行,因此系统测试计划应该在需求分析阶段制定。41.软件的_是指软件从一种计算机系统转换到另一种计算机系统运行的难易程度。A兼容性 B可移植性 C可转换性 D可扩展性(分数:2.00)A.B. C.D.解析:分析 可移植性是与从某一环境转移到另一环境的能力有关的属性,它包括以下几个方面。1)适应性:软件无须采用特殊处理就能够适应不同规定环境程度。2)易安装性:在指定环境下安装软件的难易程度。3)一致性:软件服从与可移植性有关的标准或约束的程度。4)易替换性:软件在特定软件环境中用来替代指定的其他软件的可能性和难易程度。42.在规定的条件下和规定的时间间隔内,软件实现其规定功能的概率称为_。A可扩展性 B可接近性 C可靠性 D稳定性(分数:2.00)A.B.C. D.解析:分析 可靠性是衡量在规定的一段时间内和规定条件下维护性能水平的一组软件质量,它包括以下几个特性。1)成熟性:由软件故障引起失效的频度。2)容错性:在错误或违反指定接口情况下维护指定性能水平的能力。3)易恢复性:在故障发