一、 单项选择题(每题2分,共40分)
1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A. 螺旋模型
B.增量模型
C.功能模型
D.瀑布模型
2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的
B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件 C.瀑布模型和增量模型都属于整体开发模型
D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节 3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统 C.目标系统
B.当前逻辑模型 D.新系统
A)研究的一方面。
C.社会可行性
D.操作可行性
4.研究软硬件资源的有效性是进行(
A.技术可行性
B.经济可行性
5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流
B.数据存储
C.加工
D.源点与终点
6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型 7、通过(B )可以完成数据流图的细化。
A.结构分析
B.功能分解
C.数据分析
D.系统分解
8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度 B.降低模块间接口的复杂程度
C.降低模块的复杂程度,并降低模块间接口的复杂程度 D.降低模块的复杂程度,并提高模块间接口的复杂程度 9、为了提高模块的独立性,模块内部最好是(C)。
A.逻辑内聚
B.时间内聚
C.功能内聚
D.通信内聚
10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,说明本模块重用率高 B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况 C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层 D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层
11、在软件开发过程中,以下说法正确的是(
A.程序流程图是逐步求精的好工具 图不可能任意转移控制,符合结构化原则 C.判定表是一种通用的设计工具
B)。
D.程序流程图和N-S图都不易表达模块的层次结构
12、面向数据结构的设计方法(Jackson方法)是进行(B)的形式化的方法。
A.系统设计
B.详细设计
C.软件设计
D.编码
13、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)
A.说明
B.方法
C.过程
D.类型
14、以下说法错误的是(D)
A.对象具有很强的表达能力和描述功能 B.对象是人们要进行研究的任何事务 C.对象是封装的基本单位
D.类封装比对象封装更具体、更细致 15、以下说法正确的是(B)
A.功能模型不包括对象模型中值的约束条件 B.功能模型说明对象模型中操作的含义 C.功能模型说明动态模型中约束的含义 D.功能模型说明对象模型中动作的意义 16、以下说法错误的是(D)
A.面向对象方法不仅支持过程抽象,而且支持数据抽象 B.某些面向对象的程序设计语言还支持参数化抽象 C.信息隐蔽通过对象的封装性来实现 D.在面向对象方法中,类是最基本的模块 17、以下说法错误的是(A)
A.多态性防止了程序相互依赖性而带来的变动影响
B.多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果C.多态性与继承性相结合使软件具有更广泛的重用性和可扩充性 D.封装性是保证软件部件具有优良的模块性的基础 18、软件可维护性的特征中相互矛盾的是(C)。
A.可修改性和可理解性 B.可测试性和可理解性 C.效率和可修改性 D.可理解性和可读性 19、以下说法正确的是(C)。
A.组装结构可用来描述现实世界中的一般的抽象关系 B.分类结构可用来描述现实世界中的类的组成的抽象关系 C.面向对象的继承性是子类自动共享父类数据结构和方法的机制
D.面向对象的唯一性是指将具有一致性的数据结构(属性)和行为(操作)的对象抽象成类
20、以下说法错误的是(A)
A.面向对象分析与面向对象设计的行医没有明显区别
B.在实际的软件开发过程中面向对象分析与面向对象设计的界限是模糊的 C.面向对象分析和面向对象设计活动一个多次迭代的过程 D.从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程 一、多项选择题(每题2分,共20分) 1、软件危机产生的主要原因是(AE )。
A.软件本身的特点
B.用户使用不当
C.硬件可靠性差
D.对软件的错误认识 E.缺乏好的开发方法和手段
2、以下说法中正确的是(BCD)。
A.快速原型思想是在研究概要设计阶段的方法和技术中产生的 B.探索型和实验型快速原型采用的是抛弃策略 C.演化型快速原型采用附加策略
D.快速原型是利用原型辅助软件开发的一种新思想 3、下列叙述中,(ABD)是不正确的。
A.软件系统中所有的信息流都可以认为是事物流
B.软件系统中所有的信息流都可以认为是变换流 C.事务分析和变换分析的设计步骤是基本相似的 D.事务分析和变换分析的设计步骤完全不同
4、在程序的描述和分析中,下列哪个不是用以指明数据来源、数据流向和数据处理的辅助图形(ACD)。
A.瀑布模型 C.数据结构图
B.数据流图
D.业务图
5、软件维护是保证软件正常、有效的重要手段,而软件的下述特性中(ABCD)有利于软件的维护。
A.可测试性 C.可修改性
B.可理解性 D.可移植性
6、软件需求规格说明书的内容包括对(ACD)的描述。
A.主要功能
B.算法的详细过程
D.软件的性能
C.用户界面及运行环境 7、下列说法正确的是(ACD)。
A.变换型的DFD是由输入、变换(或称处理)和输出三部分组成
B.变换型数据处理的工作过程一般分为三步:处理数据、变换数据和再处理数据 C.变换输入端的数据流为系统的逻辑输入,它将外部形式的数据变换成内部形式,送给主加工。
D.变换输出端为逻辑输出,它把主加工产生的数据的内部形式转换成外部形式后物理输出。
8、以下说法正确的是(ABC)。
A.面向对象方法不仅支持过程抽象,而且支持数据抽象 B.某些面向对象的程序设计语言还支持参数化抽象 C.信息隐藏通过对象的封装性来实现 D.在面向对象方法中,类是最基本的模块
9、在程序设计过程中,要为程序调试做好准备,主要体现在(ABC)。
A.采用模块化、结构化的设计方法设计程序 B.编写程序时要为调试提供足够的灵活性
C.根据程序调试的需要,要选择并安排适当的中间结果输出和必要的断点
D.以上答案都不正确
10、对象间的关系可以有哪几种关系(BCD)。
A.一对多关系
B.一般-特殊关系
C.整体-部分关系
D.
二、填空题(每空1分,共15分)
1.快速原型的思想是在研究______需求分析_____的方法和技术中产生的。
2. _____可行性研究_____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
3.经过需求分析,开发人员已经基本上理解了用户的要求,确定了目标系统的功能,定义了系统的数据,描述了处理这些数据的基本策略。将这些共同的理解进行整理,最后形成文档_____需求规格说明书______.
4.两个模块通过全程变量相互作用,这种耦合方式称为_____公共耦合______。
5.再详细设计阶段,除了对模块内的算法进行设计,还应对模块内的_____数据结构_____进行设计。
6.子类自动共享父类的属性和操作的机制称为_____继承_____。
7.在UML语言中,利用_____用例图_____来对需求分析中的问题进行描述。 8.对象抽象是_____类_____,类的具体化就是_____对象_____。
9.用等价类划分法设计测试用例时,如果被测试程序的某个输入条件规定了取值范围,则可以确定一个合理等价类和_____两个不合理等价类_____。
10.用黑盒技术设计测试用例的方法有_____等价类划分_____、_____边界值分析_____、_____错误推测_____和_____因果图_____。
11.在单元测试中,测试一个模块时,需要设计_____驱动模块_____。 三、简答题(每题6分,共24分)
1、测试面向对象软件时,单元测试、集成测试和确认测试各有哪些新特点?
单元测试:集中检测软件设计的最小单元——模块。通常,单元测试和编码属于软件过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,就可以用详细设计描述作指南,对重要的执行通路进行测试,以便发现模块内部的错误。可以应用人工测试和计算机测试这样两种不同类型的测试方法,完成单元测试工作。这两种测试方法各有所长,互相补充。通常,单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。
集成测试:是测试和组装软件的系统化技术,例如,子系统测试即是在把模块按照设计要求组装起来的同时进行测试,主要目标是发现与接口有关的问题(系统测试与此类似)。例如,数据穿过接口时可能丢失;一个模块对另一个模块可能