选择题
第一章
1、下列说法中正确的是(B)
A、20 出纪50年代提出软件工程的概念
B、20 世纪60年代提出了软件工程的概念
C、20世纪70年代出现了客户机/服务器技术
D、20柑纪80年代软件工程学科达到成熟
2、产生软件危机的主要原因(D)
A、软件工具落后
B、软件生产能力不足
C、实行严格的产品控制
D、软件本身的特点及开发方法
3、软件工程的三要素(C)
A、技术、方法和工具
B、方法、对象和类
C、方法、工具和过程
D、过程、模型、方法
4、在以下选项中,(A)不属于软件工程学科所要研究的基本内容
A、软件工程材料
B、软件工程方法
C、软件工程工具
D、软件工程过程
第二章
1、增量模型本质上是一种(C)
A、线性顺序模型
B、整体开发模型
C、非整体开发模型
D、螺旋模型
2、软件过程是(C)
A、特定的开发模型
B、—种软件求解的计算逻辑
C、软件开发活动的集合
D、软件生命周期模型
3、软件生命周期模型不包括(B)
A、瀑布模型
B、用例模型
C、增量模型
D、螺旋模型
4、包含风险分析的软件工程模型是(A)
A、螺旋模型
B、瀑布模型
C、增量模型
D、喷泉模型
5、软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、(D)、维护等几个阶段。
A、产品发布
B、版本更新
C、可行性分析
D、测试
6、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)。
A、分析阶段
B、设计阶段
C、编码阶段
D、测试阶段
7、螺旋模型综合了(B)的优点,并增加了风险分析。
A、增量模型和喷泉模型
B、瀑布模型和快速原型模型
C、瀑布模型和喷泉模型
D、快速原型模型和喷泉模型
第四章
1、在需求分析之前有必要进行(B)工作
A、程序设计
C、E-R分析
B、可行性研究
D、行为建模
2、需求分析是一个(D),它应该贯穿于系统的整个生命周期中,而不是仅仅属于软件生命周期早期的一项工作
A、概念
C、方法
B、工具
D、过程
3、软件需求规格说明书的内容不应该包括(B)
A、对重要功能的描述
C、对数据的要求
B、对算法的详细过程描述
D、软件的性能
4、软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档,以及(C)
A、总结
C、需求分析评审
B、阶段性报告
D、以上答案都不正确
5、进行需求分析可使用多种工具,但(B)是不适用的。
A、数据流图
B、PAD图
C、状态转换图
D、数据词典
6、在结构化分析方法中,用以表达系统内数据的流动情况的工具是(A)
A、数据流图
C、结构化语言
B、数据字典
D、判定表与判定树
7、结构化分析方法的基本思想是(B)
A、自底向上逐步分解
B、自顶向下逐步分解
C、自底向上逐步抽象
D、自顶向下逐步抽象
8、在E-R图中,包含以下基本成分(D)
A、数据、对象、实体
B、控制、关系、对象
C、实体、关系、控制
D、实体、属性、关系
第五章
1、面向数据流的软件设计方法可将(C)映射成软件结构
A、控制结构
B、模块
C、数据流
D、事物流
2、模块的独立性是由内聚性和耦合性来度量的,其中内聚性是(C)
A、模块间的联系程度
B、信息隐藏程度
C、模块的功能强度
D、接口的复杂程度
3、Jackson方法根据(C)来导出程序结构
A、数据流图
B、数据间的控制结构
C、数据结构
D、IPO图
4、为了提高模块的独立性,模块之间最好是(C)
A、公共环境耦合
B、控制耦合
C、数据耦合
D、特征耦合
5、在面向数据流的软件设计方法中,一般将信息流分为(D)
A、数据流和控制流
B、变换流和控制流
C、事务流和控制流
D、变换流和事务流
第六章
1、而向对象技术中,对象是类的实例。对象有3种成分:(A)属性和方法(或操作)。
A、标识
B、继承
C、封装
D、消息
2、以下哪一项不是面向对象的特征(D)
A、多态性
B、继承性
C、封装性
D、过程调用
3、汽车有一个发动机,汽车和发动机之间的关系是(B)关系。
A、组装
B、整体部分
C、分类
D、一般具体
4、(D)把对象的属性和操作结合在起,构成一个 独立的对象,其内部信息对外界是隐藏的,外界只能通过有限的接口与对象发生联系。
A、多态性
B、继承
C、消息
D、封装
5、面向对象的主要特征除了对象唯一-性、 封装、继承外,还有(D)
A、兼容性
B、完整性
C、可移植性
D、多态性
6、关联是建立(B)之间关系的一种手段。
A、对象
B、类
C、功能
D、属性
7、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,-个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(B),一个子类获得其父类的全部描述(数据和操作)。
A、兼容性
B、继承性
C、复用性
D、多态性
8、所有的对象可以成为各种对象类,每个对象类都定义了一组(D)
A、说明
B、类型
C、过程
D、方法
9、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。
A、操作
B、消息
C、信息
D、继承
10、UML是软件开发中的一个重要工具,它主要应用于(D)
A、基于螺旋模型的结构化方法
B、基于需求动态定义的原型化方法
C、基于数据的数据流开发方法
D、基于对象的面向对象的方法
11、(C)是从用户使用系统的角度描述系统功能的图形表达方法
A、类图
B、活动图
C、用例图
D、状态图
12、(B)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
A、类图
B、顺序图
C、状态图
D、协作图
第七章
1、面向对象模型主要由以下哪些模型组成(A)
A、对象模型、动态模型、功能模型
B、对象模型、数据模型、功能模型
C、数据模型、动态模型、 功能模型
D、对象模型、动态模型、数据模型
2、面向对象分析的首要工作是建立(D)
A、系统的动态模型
B、系统的功能模型
C、基本的E-R图
D、问题的对象模型
3、面向对象的分析方法主要是建立3类模型,既(B)
A、系统模型、E-R模型、应用模型
B、对象模型、动态模型、功能模型
C、E-R模型、对象模型、功能模型
D、对象模型、动态模型、应用模型
4、面向对象分析阶段建立的3个模型中,核心的模型是(C)模型。
A、功能
B、动态
C、对象
D、分析
5、面向对象的动态模型中,每张状态图表示(A)的动态行为。
A、某一个类
B、有关联的若干个类
C、一系列事件
D、一系列状态
6、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B)。
A、顺序图
B、状态图
C、系统结构图
D、数据流图
7、对象模型的描述工具是(D)。
A、状态图
B、数据流图
C、结构图
D、对象图
8、功能模型中所有的(D)往往形成一个层次结构,在这个层次结构中一个数据流图的过程可以由下一层数据流图做进一步的说明。
A、事件追踪图
B、物理模型图
C、状态迁移图
D、数据流图
第八章
1、程序编译器的体系结构适合使用(A)
A、仓库体系结构
B、模型一视图一控制器结构
C、客户机服务器结构
D、以上都不是
2、网站系统是一个典型的(C)
A、仓库体系结构
B、胖客户机/服务器结构
C、瘦客户机/服务器结构
D、以上都不是
3、在分层体系结构中,(D)实现与实体对象相关的业务逻辑。
A、表示层
B、持久层
C、实体层
D、控制层
4、(B)可以帮助人们简单方便地复用已经成功的设计或体系结构设计。
A、商业构件
B、设计模式
C、遗留系统
D、需求规格说明
5、(A)用于封装具体的平台,从而使应用程序可以在不同的平台上运行。
A、抽象工厂模式
B、外观模式
C、观察者模式
D、以上都不是
第九章
1、面向对象设计阶段的主要任务是系统设计和(D)
A、结构化设计
B、数据设计
C、面向对象程序设计
D、对象设计
2、只有类的共有界面的成员才能成为使用类的操作,这是软件设计的(B)原则。
A、过程抽象
B、信息隐藏
C、功能抽象
D、共享性
3、(B)是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、协作图和其他图的基础。
A、部署图
B、类图
C、组件图
D、配置图
4、下面所列的性质中,(D)不属于面向对象设计的特性。
A、继承性
B、重用性
C、封装性
D、可视化
5、下列是面向对象设计方法中有关对象的叙述,其中(B)是正确的。
A、对象在内存中没有它的存储区
B、对象的属性集合是它的特征表示
C、对象的定义与程序中类型概念相当
D、对象之间不能相互通信
6、面向对象设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这一特点称为类的(C)。
A、多态性
B、封装性
C、继承性
D、重用性
第十章
1、软件实现是软件产品由概念到实体的一个关键过程,它将(B)的结果翻泽成用某种程序设计语言编写的并且最终可以运行的程序代码。虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响。
A、软件设计
B、详细设计
C、架构设计
D、总体设计
2、(C)是一种纯面向对象语言。
A、C
B、Pascal
C、Java
D、Lisp
3、第1个体现结构化编程思想的程序设计语言是(C)。
A、FORTRAN
B、C
C、Pascal
D、COBOL
4、面向对象设计的结果,实现时(A)。
A、只能使用面向对象语言
B、只能使用非面向对象语言
C、可以使用第四代语言
D、既可使用面向对象语言,也可使用非面向对象语言
第十一章
1、软件测试的目的是(B)
A、证明软件是正确的
B、发现软件中的错误
C、找出软件中的所有错误
D、评价软件的质量
2、白盒测试法又称为逻辑覆盖法,主要用于(D)
A、确认测试
B、系统测试
C、α测试
D、单元测试
3、以下哪种测试方法不属于白盒测试技术?(B)
A、基本路径测试
B、边界值分析测试
C、循环覆盖测试
D、条件测试
4、成功的测试是指运行测试用例后(A)
A、发现了程序错误
B、未发现程序错误
C、证明程序正确
D、改正了程序错误
5、白盒测试法是根据程序的(B)来设计测试用例的方法。
A、输出数据
B、内部逻辑
C、功能
D、输入数据
6、软件的集成测试工作最好由(C)承担。以提高集成测试的效果。
A、该软件的设计人员
B、该软件开发组的负责人
C、不属于该软件开发组的软件设计人员
D、该软件的编程人员
7、黑盒测试是从()观点的测试,白盒测试是从(B)观点的测试。
A、开发人员、管理人员
B、用户、管理人员
C、用户、开发人员
D、开发人员、用户
8、软件测试可能发现软件中的(),但不能证明软件(D)。
A、所有错误、没有错误
B、设计错误、没有错误
C、逻辑错误、没有错误
D、错误、没有错误
9、使用白盒测试法时确定测试数据应根据(A)和指定的覆盖标准。
A、程序的内部逻辑
B、程序的复杂程度
C、程序的难易程度
D、程序的功能
10、黑盒测试法根据(B)设计测试用例。
A、程序的调用规则
B、软件要完成的功能
C、模块间的逻辑关系
D、程序的数据结构
11、在软件测试中,逻辑覆盖标准主要用于(A)。
A、白盒测试
B、黑盒测试
C、灰盒测试
D、回归测试
12、集成测试的主要方法有两个,一个是(),一个是(C)。
A、白盒测试法、黑盒测试法
B、等价类划分法、边缘值分析法
C、非增量式测试法、增量式测试法
D、因果图法、错误推测法
13、软件测试的目的是尽可能发现软件中的错误,通常(D)是代码编写阶段可进行的则试,它是整个测试工作的基础。
A、集成测试
B、系统测试
C、验收测试
D、单元测试
14、单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A)。
A、系统功能
B、局部数据结构
C、重要的执行路径
D、错误处理
15、软件维护的副作用,是指(C )。
A、运行时误操作
B、隐含的错误
C、因修改软件而造成的错误
D、开发时的错误
16、影响软件可维护性的主要因素不包括(C)。
A、可修改性
B、可测试性
C、可用性
D、可理解性