南京晓庄学院-软件工程期末考试提纲 下载本文

一、选择

1. 下面不属于软件工程的3个要素是( D) A).工具 B).过程 C).方法 D).环境

2. 检查软件产品是否符合需求定义的过程称为( A) A).确认测试 B).集成测试 C).验证测试 D).模块测试

3.数据存储和数据流都是(D ),仅仅是所处的状态不同. A).分析结果 B).事件 C).动作 D).数据

4.数据流图和( C)共同组成系统的逻辑模型. A).HIPO图 B).PDL C).数据字典 D).层次图

5.数据元素组成数据的方式的基本类型(D ) A).顺序 B).选择 C).循环 D).以上全部

6.结构化分析方法就是面向(B )的自顶向下逐步求精进行需求分析的方法. A).目标 B).数据流 C).功能 D).对象

7.( C)是指让一些关系密切的软件元素在物理上彼此靠近. A).信息隐蔽 B).内聚 C).局部化 D).模块独立

8.在进行软件结构设计时应该遵循的最主要的原理是(C ) A).抽象 B).模块化 C).模块独立 D).信息隐蔽

9.在测试中,下列说法错误的是( B)

A).测试是为了发现程序中的错误而执行程序的过程 B).测试是为了表明程序的正确性

C).好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 D).成功的测试是发现了至今为止尚未发现的错误的测试 10.软件详细设计主要采用的方法是( A). A).结构化程序设计 B).模型设计 C).结构化设计 D).流程图设计

11.模块本身的内聚是模块独立性的重要性度量因素之一.在7类内聚中,具有最强内聚的一类是( D). A).顺序性内聚 B).过程性内聚 C).逻辑性内聚 D).功能性内聚

12.数据字典是对数据定义信息的集合,它所定义的对象都包含在(A ). A).数据流图 B).程序框图 C).软件结构 D).方框图

13.软件开发的结构化分析方法,常用的描述软件功能需求的工具是( C). A).业务流程图、处理说明 B).程序流程图、模块说明 C).数据流图、数据字典 D).系统流程图、程序编码

14.软件开发的结构化设计方法,全面指导模块划分的最重要的原则应该是(C ). A).模块高内聚 B).模块低耦合 C).模块独立性 D).程序模块化

15.面向数据流的软件设计方法,一般是把数据流图中得数据流化分为( B)两种流,再将数据流图映射为软件结构. A).数据流与事务流 B).变换流和事务流 C).信息流与控制流 D).交换流和数据流

16.软件设计中,可应用于详细设计的工具有( A). A).程序流程图、PAD、盒图和伪码 B).数据流程图、PAD、结构图和伪码 C).业务流程图、N-S图和伪码 D).数据流程图、PAD、N-S图和伪码

17.结构化方法将软件生命周期分为软件定义、软件开发和运行维护3个时期,下列任务中(AB )属于软件定义时期的任务. A).需求分析 B).问题定义 C).总体设计 D).编码

18.耦合是软件各个模块间连接程度的一种度量.一个模块直接访问了另一个模块的内部数据应属于( A)方式. A).内容耦合 B).公共耦合 C).外部耦合 D).控制耦合

19.提高软件的可维护性可采取很多措施,下列( A)不在措施之列. A).提供没有错误的程序 B).建立质量保证制度 C).改进程序文档质量 D).明确软件质量标准

20.数据字典是用来定义( D )中的各个成份的具体含义的。 A.流程图 B.功能结构图 C.系统结构图 D.数据流图

二.填空题

1瀑布模型把软件生命周期划分为软件定义、 软件开发 和运行与维护3个阶段,

而每个阶段又可分为若干个小更小的阶段.

2 文档 是软件工程实施中的重要成分,它不仅是软件开发的各阶段的重要依据,而且也是影响软件的可维护性.

3软件生命周期中 可行性研究 阶段是决定软件项目是否继续开发的关键, 4.从可行性研究从技术可行性、 操作可行性/经济可行性 和社会可行性3各方面进行论证.

5.在可行性研究中, 数据流图 描述系统的基本功能和处理流程. 6.结构化分析方法是 面向数据流自顶向下逐步求精进行需求分析 的方法. 7.在软件开发的结构化方法中,构成系统逻辑模型的是 数据流图 和 数据字典 .

8.面向数据流的软件设计中,一般是把数据流图的数据流划分为 变换流 和 事务流

9.PAD是一种 详细设计/过程设计 工具.

10.软件模块独立性的两个定性度量标准是 内聚 和 耦合 .

11.在白盒法测试中,逻辑覆盖技术中发现错误能力最强的技术是 路径覆盖 技术. 12.若有一个计算类型程序,它的输入量只有一个X,其范围是[-1.0,1.0].现在输入的 角度考虑设计一组测试该程序的测试用例为-1.001,-1.0,1.0,1.001,设计这组测 试的方法是 边界值分析 .

13.软件危机通常是指在计算机软件 开发 和 维护 中所产生的一系列严重的问题。

14 软件结构图的宽度是指一层中______最大____________的模块个数。

15 在面向对象方法中,对象实现了数据和操作的结合,使数据和操作_______封装_________于对象的统一体中。

16 软件结构是以 模块 为基础而组成的一种控制层次结构。

17 如果知道软件的规格说明书描述的程序功能,那么就可以采用_____黑盒测试/功能测试___________ 进行测试。

18 划分模块时尽量做到___高内聚,低耦合_____,保持模块的独立性。

19在需求分析时,常采用 状态转换图 来描绘系统的行为。 20 软件需求分析时,应建立数据模型、功能模型和___行为模型_____。 选择题

1 ( A)的目的在于用最小的代价确定在问题定义阶段所确定的系统的目标和规模是否实现, 所确定的问题是否可以解决,系统方案是否可以接受. A)可行性研究 B)需求分析 C)总统设计

D)软件计划

2软件按照设计的要求,在规定时间和条件下不出故障、持续运行的要求的质量特性 称为( A). A)可靠性 B)可用性 C)正确性 D)完整性

3软件需求阶段要解决的问题是(A ). A)软件做什么 B)软件提供哪些信息 C)软件采用什么结构 D)软件怎样做

4软件结构图能描述软件系统的总体结构,它应在软件开发的(B )阶段提出. A)需求分析 B)总体设计 C)详细设计 D)代码编写

5.软件开发的生命周期方法中,对模块的具体功能进行描述得是(C ) A)需求分析 B)概要设计 C)详细设计 D)编码设计

6.PAD(problem Analysis Diagram )图是一种( B)工具. A)系统描述 B)详细设计 C) 测试 D)编程辅助

7.Jackson设计方法是由Jackson所提出的,它是一种面向(C)的软件设计方法. A) 对象 B) 数据流 C) 数据结构 D) 控制结构

8.结构化程序设计思想的核心是要求程序只有顺序,循环和(A)三种结构组成. A) 分支 B) 单入口 C) 单出口

D) 有规则GOTO

9.使用表示结构化的问题分析图(PAD)符号所设计出来的程序(A) A) 必然是结构化程序 B) 一般不是结构化程序 C) 一般是结构化程序 D) 绝对不是结构化程序

10.结构化程序流程图中一般包括3种基本结构,下述结构中(D)不属于其基本结构. A) 顺序结构 B) 条件结构 C) 选择结构 D) 嵌套结构

11.模块的独立性是软件模块化设计的关键之一,一般用内聚和(D)两个定性标准来度量模块的独立性. A) 软件的质量 B) 一致性 C) 可重用 D) 耦合

12.耦合是软件中各种模块间相互联系的一种度量,耦合的强弱取决于模块间的复杂程度,在耦合的若干种类中,耦合度最高的是(A) A) 内容耦合 B) 非直接耦合 C) 数据耦合 D) 控制耦合

13.一个模块把数据作为参数传送给另一个模块,这种耦合方式称为(A) A) 数据耦合 B) 公共耦合 C) 控制耦合 D) 标记耦合

14.模块设计的原则是(A) A) 低耦合,高内聚 B) 高耦合,高内聚 C) 高耦合,低内聚 D) 低耦合,低内聚

15.内聚性是对模块功能强度的衡量,下列选项中,内聚性最弱(C) A) 逻辑内聚 B) 顺序内聚

C) 偶然内聚 D) 时间内聚

16.内聚性是对模块功能的衡量,下列选项中,内聚性最强的是(D) A). 逻辑内聚 B) 顺序内聚 C) 偶然内聚 D) 功能内聚

17.模块间的耦合性越强,说明模块之间的联系越密切,耦合性最弱的是(A) A) 非直接耦合 B) 控制耦合 C) 内容耦合 D) 公共耦合

18.软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要用于测试(B)

A) 结构合理性 B) 软件的功能 C) 程序正确性 D) 程序内部逻辑

19.在软件测试中设计测试用例主要由输入输出数据和(C)两部分组成. A) 测试规则 B) 测试计划 C) 预期输出结果 D) 以往测试记录分析

20.在软件工程中,软件测试的目的是(B) A) 试验性运行软件 B) 发现软件错误 C) 证明软件是正确的 D) 找出软件中的全部错误

21.对软件是否能达到用户所期望的要求的测试称为(D) A) 集成测试 B) 系统测试 C) 单元测试 D) 验收测试

22.以下(B)不属于白盒测试技术 A) 基本路径测试 B) 边界值分析

C) 控制结构测试 D) 逻辑覆盖测试

23.软件测试采用白盒法的是(A) A) 单元测试 B) 集成测试 C) 确认测试 D) 系统测试

24.集成测试有两个具体办法,它们是(A) A) 非渐增式方式和渐增式方式 B) 白盒法和黑盒法 C) 确认测试和系统测试 D) 归纳法和演绎法 25.白盒测试法属于(D) A) 单元测试 B) 静态测试 C) 集成测试 D) 动态测试

26.软件测试方法一般有黑盒测试和白盒测试,而其中黑盒测试主要是依据程序的(C) A) 结构 B) 流程 C) 功能 D) 逻辑

27.软件维护是软件运行期的重要任务,下列维护任务中(A)是软件维护的主要部分. A) 完善性维护 B) 适应性维护 C) 校正性维护 D) 支持性维护

28程序的3种基本控制结构,它们的共同点是(D ). A) 不能前嵌套使用. B)只能用来写简单的程序. C)已经用硬件实现. D)只有一个入口和出口.

29在多层次的软件结构图中,其模块的层次数称为结构图的(A ) A)深度 B)跨度 C)控制域

D)粒度

30 (D )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关系. A)程序流程图 B)数据流图 C) E—R图 D)结构图

31面向数据结构的设计方法(Jackson方法)是进行( B)形式化的方法. A)系统设计 B)详细设计 C)软件设计 D)编码 二、填空题

1.可行性研究中着重考虑的是下列具体方案:经济可行性、技术可行性和 操作可行性 .

2.需求分析是 软件定义 时期最后一个阶段,它的基本任务是准确的回答“系统必须做什么“.

3.模块的耦合性由低到高的顺序分为:无直接耦合、 数据耦合 、标记耦合、控制耦合、公共耦合、内容偶合.

4.软件结构中各模块之间相互连接关系的一种度量常称为模块的 内聚 . 5. 软件调试 阶段的任务是发现和改正程序中的错误. 6.软件动态测试有白盒法和 黑盒法 两种方法.

7.集成测试可以采用的具体方法是渐增式测试和 非渐增式测试 .

8.软件测试与 软件维护 是软件质量保证措施中相互联系而又性质不同的两类活动.

9.成功的测试是指发现程序中的 至今为止尚未发现的错误 .

10.黑盒测试是功能测试,用黑盒技术设计测试用例有3种方法:等价类划分、 边界值分析 、错误推测.

11.黑盒法只在软件的 接口 处进行测试,依据需求规格说明书,程序是否满足功能要求.

12.白盒法必须考虑程序的 内部结构 ,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试.

13.调试技术包括蛮干法、回溯法和 原因排除法 .

14.若一个模块直接访问另一模块的内容,则这两个模块的耦合方式称为 内容耦合 .

15.在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程称为____软件维护________

16.耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构 中,各模块的内聚性越强,则耦合性越 低/弱 .

17.软件维护是用户使用软件期间对其所作的补充、修改和增强.可分为4类;完善性维护、 校正性维护、 适应性维护 和 预防性维护 .

三、名词解释

1. 软件生存周期模型 2. 模块化

3. 结构程序设计

4. 渐增式测试 5. 完善性维护 6. 软件工程 7. 数据字典 8.内聚性

9.说明软件文档的作用 10. 调试

四、简答题

1. 简述软件工程的三个要素及其含义。 2. 简述可行性研究的目的和内容。

3. 衡量模块独立的两个标准是什么?它们各表示什么含义? 4. 以G.J.Myers的观点,简述对软件测试的目的。 5. 简述面向对象方法学的优点。

6. 什么是软件生存周期模型?请至少列举四种主要模型? 7. 简述改进软件设计提高软件质量的几条启发式规则。 8.简述白盒测试的思想,并列举四种典型的测试技术。