软件工程练习题

  • 格式:docx
  • 大小:51.13 KB
  • 文档页数:10

"软件工程"练习题

一、填空题

1.软件主要包括程序、 数据 和 文档 三局部容。

2. 目前使用最广泛的软件工程方法学是传统〔构造化方法〕 方法和 面向对象方法 。

3.软件可行性研究的任务是从技术、 经济和 社会可行性 三个方面分析软件工程的可行性。

4.软件测试的目的是 找出软件潜在的错误和缺陷 ;通常把软件测试方法分为 黑盒测试〔功能测

试〕和 白盒测试〔构造测试〕 两大类。

5.软件测试中,测试用例由输入数据和 预期的输出结果 两局部组成。

6.典型的软件生命周期模型〔软件过程模型〕包括瀑布模型、 快速原型模型 和 增量模型、螺旋

模型、喷泉模型 等。

7.模块 A 调用模块 B 以查询学生成绩,模块A 通过参数向模块 B 传送所查询学生的**,模块 B

通过参数向模块 A 返回学生的考试成绩。模块A 和模块 B 之间的耦合类型属于 数据 耦合。 8.在类的继承构造中, 不同层次的类共享同一个行为名称, 但各个类可以按照自己的需要为同名行 为设计不同的算法,此性质称为类的 重写 。

9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是 驱动模块

和 桩模块 。

10.软件生存期中时间最长的是_软件维护 阶段。

11.构造化分析方法中,功能模型用 DFD 描述;数据模型用 E-R 描述。

12.过程设计〔详细设计〕中,常用的描述工具有 图形 、 表格 和 语言 三类。

13.在模块构造图中,直接调用*一模块的其他模块数称为该模块的 扇入数 。

14.面向对象分析〔OOA〕方法中,必须定义对象间的通信机制,对象间通信是通过 消息传递机 制 来实现的。

15.面向对象方法用 对象 分解取代了构造化方法的 功能 分解。

16.写出以下各对事物之间的关系〔继承、会萃、普通关联〕:

交通工具—— 汽车的关系是: 继承 ; 书——读者的关系是: 普通关联 ;

班级—— 学生的关系是: 会萃 ; 多边型—— 线段的关系是: 会萃 。

17.面向对象设计〔OOD〕阶段,可以将面向对象的设计容划分为四局部,分别是:人机界面部

分、 问题域局部 、 任务管理局部 和 数据管理局部 。

18.UML 的中文含义是 统一建模语言 ;CASE 的中文含义是 用例 。

二、选择题

1.需求分析阶段,开辟人员需从用户那里获得的最重要信息是( ) 。

A.用户能承受的开辟费用 B.用户能承受的开辟周期

C.用户要让软件做什么 D.软件应具有何种构造

2.数据流图中的每一个处理至少有〔〕。

A.一个输入流或者一个输出流 B.一个输入流和一个输出流

C.一个输入流 D.一个输出流

3.软件测试中,白盒法是通过分析程序的〔 〕来设计测试用例的。

A、应用围 B、部逻辑 C、功能 D、输入数据

4.有一个计算程序,它的输入量惟独一个*,其围是[-1.0,1.0],现从输入的角度考虑一组测试

用例: -1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )

A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误猜测法

5.关于单元测试,正确的选项是( )。

A.单元测试的依据是概要设计说明书 B.单元测试中不需要使用白盒测试法

C.单元测试包括模块接口测试 D.单元测试时不需要辅助模块

6.银行计算机储蓄管理信息系统中, 根据客户提出的要求 〔如存款、 取款、查询、挂失、咨询等〕

发展相应的业务处理的该层数据流图是〔〕

A.变换型 B.事务型 C.既不是 A 也不是 BD.不一定

7 .软件详细设计的主要任务是确定每一个模块的〔〕 。 A.算法和使用的数据构造 B.外部接口 C.

功能 D.编程语言

8.〔〕 表示了类之间的“普通__特殊〞关系。

A.会萃 B.关联 C.消息传递 D.继承

9.面向对象开辟方法定义了三种模型来描述系统, 〔〕可以用状态图来表示。

A.对象模型 B.功能模型 C .动态模型 D.类模型

10.对象的部实现与外部可访问性的别离表达了对象的〔 〕;

A.继承性 B.共享性 C.封装性 D.抽象性

11.构造化分析方法用数据流图描述〔 〕。

A.系统的控制流程 B.系统的数据构造 C.系统的根本加工 D.系统的功能

12.在面向数据流的设计方法中,普通把数据流图划分为〔 〕两种类型。

A.数据流和事务流 B.变换流和数据流 C.变换流和事务流 D.控制流和事务流

13.产生软件危机的主要原因有〔 〕。

①软件本身的特点 ②用户使用不当 ③硬件可靠性差

④程序员水平 ⑤缺乏好的开辟方法和管理手段

A. ③④B. ①②④C. ①⑤ D. ①③

14.软件测试中,黑盒法是根据程序的〔 〕来设计测试用例的。

A、应用围 B、部逻辑 C、功能 D、输入数据

15.OOA 模型规定了一组对象如何协同才干完成软件系统所指定的工作。 这种协同在模型中是以说

明对象通信方式的一组〔 〕连接来实现的。

A.消息 B.记录 C.数据 D.属性

16.用黑盒法设计测试用例时采用的方法包括〔 〕。

A.判定覆盖法 B.条件覆盖法 C.等价分类法 D.路径分析法

17.有关集成测试的表达中, 〔〕是正确的。

A.测试底层模块时不需要桩模块 B. 自底向上测试方法有利于提前估计测试结果

C.驱动模块的作用是摹拟被调模块D. 自顶向下测试方法易于设计测试用例

18.现有一个程序,它的输入惟独一个整型数Y,其围是-50≤Y≤50。现从输入角度考

虑设计了一组测试用例:-100,100,0。设计这组测试用例的方法是〔 〕。

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误猜测法

19.在面向对象软件方法中, “类〞是〔 〕。

A.具有同类数据的对象的集合 B.具有一样操作的对象的集合

C.具有同类数据的对象的定义 D.具有同类数据和一样操作的对象的定义 20.面向对象开辟方法定义了三种模型来描述系统, 〔〕可以用数据流图来表示

A.对象模型 B.功能模型 C.动态模型 D.数据模型

21.软件开辟中,阶段评审是非常重要的环节,其主要目的和作用是〔〕。

A.减少测试工作量 B.防止后期付出高代价 C.保证软件质量 D.缩短软件开辟周期

23.数据流是数据流图的根本成份,以下关于数据流的表达中, 〔〕是正确的。

A.*加工的输入是一个数据流,该加工的输出也必然是一个数据流

B.多个不同的数据流可以流向一个加工,也可从一个加工中流出。

C.数据流只能从加工流向数据存储,但不能从数据存储流向加工 D.一个数据流可以从一个数据存储

流向另一个数据存储

24.在分层数据流图中,假设*层的加工 K 分解成下层的数据流图L,则 ( )。

A.K 与 L 的输入、输出数据流不一定一样

B.K 与 L 的输入数据流必须一样、输出数据流不一定一样

C .K 与 L 的输入、输出数据流必须一样

D .K 与 L 的输入数据流可以不同、输出数据流必须一样

25.数据流图所描述的是实际系统的〔〕。

A.逻辑模型 B.物理模型 C.程序流程 D.数据构造

26.为了提高模块的独立性,模块部最好是〔〕。

A.逻辑聚 B.时间聚 C.功能聚 D.通信聚

29.惟独当〔 〕,才是完毕测试的时候。 A.测试阶段完毕后 B.设计阶段完成后

C.集成测试阶段完毕后 D.软件产品停顿使用后

30.从以下表达中,选择能够与软件需求分析、设计、编码阶段相对应的软件测试:〔〕。

A.集成测试、确认测试、单元测试 B.单元测试、集成测试、确认测试

C.单元测试、确认测试、集成测试 D.确认测试、集成测试、单元测试

31.面向对象分析〔OOA〕的主要活动不包括〔〕。

A.确定对象 B.确定属性 C.确定关联 D.确定方式

32.面向对象分析〔OOA〕中,动态建模的容不包括〔 〕。

A、设计脚本 B、划分主题 C、 画事件追踪图 D、画状态转换图

33.软件生存周期中时间最长的是〔 〕阶段。

A.需求分析 B.概要设计 C.测试 D.维护

三、概念解释

1.软件: 程序、 数据、 和相关文档的集合; 用于实现计算机系统所需要的逻辑方法、 过程和控制。 2.软件危机:计算机软件开辟和维护过程中遇到的一系列严重问题

3.软件生命周期:软件从定义、开辟、运行维护,直到最终被废弃要经过一个漫长的时期 4.需求分析:发现、求精、建模、规格说明和复审的过程。

5.概要设计: 通过子细分析软件需求规格说明, 确定组成系统的模块及各模块之间的关系, 设计出完 变换模块只能有一个输入量、一个输出量

28.为了提高软件测试的效率,应该〔 〕。

A、在完成编码以后制定软件的测试方案 B、取一切可能的数据作为测试数据

C、选择发现错误可能性大的数据作为测试用例 D、随机地选取测试数据

27.由变换型数据流图转换成模块构造图,其中包括变换模块,则〔〕。

A.变换模块就是主模块B.变换模块的功能是将逻辑输入变换为逻辑输出C.变换模块没有下层模块D.

22.在综合瀑布模型和快速原型模型优点的同时,螺旋模型还增加了新的阶段—— 〔 〕。

A. 风险分析 B. 用户评价 C. 版本控制 D. 本钱估算

成预定功能的模块构造〔软件构造〕 ,并建立接口。

详细设计:详细的设计每一个模块,即确定完成每一个模块功能所需要的算法和数据构造

6. 模块化:将程序划分成独立命名且可独立访问的假设干模块,每一个模块完成一个子功能;将模块 集成起来构成一个整体,完成指定的系统功能。

信息隐藏:一个模块柏寒的信息对于不需要这些信息的模块来说,是不能访问的。

7.耦合:一个软件构造不同模块家之间的互连程度。

聚:一个模块各个元素彼此结合的严密程度。 8.对象:是客观世界中事物的抽象表示;是其属性〔状态、数据〕和相关操作〔行为、方法或者效劳〕 的封装体

类:是对具有一样属性和一样操作的一组相似对象的抽象描述。

9.消息:是对象之间发展通信的机制;是要求*个对象执行其操作的规格说明

消息传递:一个对象向另一个对象发送消息时,接收消息的对象经过解释、赋予响应,这种对象