您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页软件工程填空题(18套试题与答案)

软件工程填空题(18套试题与答案)

来源:小侦探旅游网


《软件工程》填空题

二、填空题( 请把答案写在相应的横线上 , 每小题 1.5 分)

1、软件是 数据 、 计算机程序 及其说明程序的

各种文档 。

体系结构

2、概要设计主要是把各项

功能需求 转换成系统的

3、面向对象开发方法包括

OOA 、 OOD、 OOP 三部分。

变换分析

、 事物分析

4、结构化设计中以数据流图为基础的两种具体分析设计方法是 设计。

5、在单元测试时,需要为被测模块设计

驱动模块

和 桩模块

6、CMM把软件过程从无序到有序的进化分成 5个阶段, 排序而形成 5个逐层提高的等级, 分别 是初始级、可重复级

、已定义级、 已管理级 和可优化级。

7. 子类自动共享父类的 属性 和 操作 的机制称为继承。

8. 软件工程管理的具体内容包括对开发人员、组织机构、 管理。

9、可行性研究的三个方面是

用户 、 文档资料

等方面的

技术可行性 、 社会可行性 和 __经济可行性 __。

处理说明

10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份 说明 __。

和_接口

11、在画分层的 DFD时,父图与子图的输入输出数据流要 __平衡 __。

12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的 计。

__数据结构 _进行设

13. 对象的抽象是 ___类 ___。

14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个 ___检查点 __。

15. 软件工程包括软件开发技术和 __软件工程管理 __两大部分内容。

16、开发过程管理包括项目计划、控制和

___任务管理 __等。

__软件工具 __等方面研

数据存储 、基本加工。、

17、CASE是多年来在软件开发管理、

软件开发方法、 软件开发环境和

究和发展的产物。

18、数据字典中有四类条目,分别是

___数据流 、数据项、

19、用于描述基本加工的小说明的三种描述工具是结构化语言

判定表 、 判定树 _。

20、子类只继承一个父类的属性和操作 , 这称为 __单重继承 __。

21、 McCabe复杂性度量又称 __环路度量 _。 22、喷泉模型是一种以用户需求为动力,以

__对象 __为驱动的模型。

___数据结构 __。

23、 Jackson 图不仅可表示程序结构,还可表示

24、详细设计的任务是确定每个模块的内部特性,即模块的 25、UML提供的构建系统动态模型的机制有 态视图

视图、功能视图。

算法 和 数据结构 。 静

动态视图

视图(包括顺序图和协作图) 、

26、软件质量管理由软件质量保证、 27、用等价类划分法设计一个测试用例时 类; 覆盖 __一个 _不合理等价类。

软件质量规划 和 软件质量控制 三方面活动组成。

, 使其覆盖 __尽可能多的 __尚未被覆盖的合理等价

28、需求分析阶段产生的最重要的文档是 __需求规格说明书 _。

___公共耦合 __。

29、两个模块都使用同一张表,模块的这种耦合称为

30、被测试程序不在机器上运行 , 而是采用人工检测和计算机辅助分析检测的手段称为 _测试。

_静态

31、采用手工方法开发软件只有程序而无文档,维护困难,这是一种 32、结构化方法是一种面向数据流的开发方法。由结构化分析、 设计构成。

__非结构化 __维护。 _结构化方法 _、结构化程序

33、 对象之间进行通信的构造叫做 _消息 _。

34、 按软件服务对象的范围可以把软件划分为 项目 软件和 产品 软件。

文档

35、瀑布模型将软件生命期划分为若干阶段,各个阶段之间是通过 36、概要设计主要是把各项功能需求转换成系统的

实现过渡的。

__体系结构 __。

37、详细设计的任务是确定每个模块的内部特性,即模块的 38、结构化程序设计方法提倡开发人员的组织形式是 39、软件质量管理由软件质量保证、软件质量规划和 40、类具有操作 , 它是对象 __行为 _的抽象。 41、产品管理包括版本管理和

数据结构

算法

__主程序员组 _。

软件质量控制

三方面活动组成。

__配置管理 ___。 ___渐增式

42、集成测试中的具体方法是

非渐增式 ___测试方法 。

43、增量模型适合于 __软件需求 _不明确、设计方案有一定

风险的软件 项目。

44、结构化分析方法的分析策略是

__自顶向下逐步求精 __。

___需求分析和设计 __的过程。

45、可行性研究实质上是要在较高层次上以较抽象的方式进行

46、衡量模块性的两个定性标准是 __耦合性与内聚性 ___。

47、 Jackson 方法是一种面向 __数据结构 __的设计方法。

48、维护阶段是软件生存周期中花费精力和费用

___最多 ___的阶段。

49、继承性是子类自动共享其父类的

__数据结构和方法 __机制。

_动态行为 _。

___

50、在面向对象方法中,人们常用状态图描述类中对象的

51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为

容错 __软件。

52. 软件工程包括 3个要素, 即方法 、工具、过程 。

53.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。

通常,

软件生存周期包括问题定义、可行性研究,需求分析,总体设计,

详细设计 ,_编码 _,测

试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成

.数据流图中的箭头表示

__数据流 __。软件结构图中的箭头方向表示 ___模块调用 __。

55.___可行性研究 ___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能 够开发,是否值得去开发。

56. 数据流图仅反映系统必须完成的逻辑功能,所以它是一种__功能 _模型。

复习资料

一、填空题

1.

软件是计算机系统中与硬件相互依存的另一部分,

它是包括(程序) 、(数据) 及其

(相关文档)完整集合。其中, (程序)是按事先设汁的功能和性能要求执行的指 令序列,(数据) 是使程序能够正确操纵信息的数据结构, (相关文档)是与程序开 发、维护和使用有关的图文资料.

2. 3.

软件危机是指计算机软件的(开发)和(维护)过程中所遇到的一系列严重问题。 软件工程是指导计算机软件 (开发) 和(维护) 的一门工程学科, 采用工程的概念、原理、技术和方法来开发和维护软件, 把经过时间考验而证明正确的管理技术和当 前能够得到的最好技术方法结合起来, 以经济地开发出高质量的软件并有效地 (维护)它,这就是软件工程。

4.

5.

常见的软件开发模型有 (瀑布模型)、(快速原型模型) 、(增量模型) 和(螺旋模型)等;

软件工程学方法的三要素是: (方法)、(工具)和(过程) 。

6. 7. 8.

瀑布模型是一个(文档)驱动模型。

可行性研究一般可以从(经济)可行性、 (技术)可行性、法律可行性和法律可行性等方面来研究。

数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。

数据流图的四个基本符号分别表示 储)和数据流;

(数据的源点或终点) 、(数据的加工) 、(数据存

9.

10. 实体 -联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系) 。 11. 需求分析阶段应该建立三种模,即: (数据模型)、(功能模型)和(行为模型) 。 12. 一般从(一致性) 、(完整性)、(现实性)和(有效性)四个方面验证软件需求

的正确性。 13. HIPO 图是由一组(层次图)图加上一张(

IPO)图组成。

14. 模块性的两个度量标准为: (耦合)和(内聚) 。

15. 一般说来,模块之间的耦合程度(低) ,则单个模块的内聚程度(高) 。

16. 经验表明, 设计好的软件结构, 通常顶层模块的扇出 (比较高),中层模块扇出 (较

少),底层模块(高)扇入 17. 三种基本的程序控制结果是(顺序结果) 、(选择(分支)结构)和(循环结构) 。 18. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的(可移植性) 19. 如果一个模块完成一组任务, 这些任务彼此之间的关系是很松散的,

(偶然(或巧合)类聚) 。 20. 白盒法的具体设计程序测试方法有语句覆盖、 盖。

这种內聚称为

(判定覆盖) 、(条件覆盖)和路径覆

21. 组成 UML 的三种基本建筑块是(事物) 、关系和(图) 。

22. 面向对象的软件工程方法包括面向对象的分析、 (面向对象的设计) 、(面向对象的编程)、(面向对象的测试)和面向对象的软件维护等主要内容。 23. 保证软件质量的措施主要有(审查) 、复查和管理复审、 (测试)。

24. 提高软件质量和可靠性的技术大致分为两类,即(避开错误技术) 和(容错技术)。 25. 常用的估算软件规模的方法有(代码行技术)和(功能点技术)。

26. 功能点技术的信息域包含(输入项数) (输出项数)、(查询数)、(主文件数)、(外

部接口数)等 5 个方面的信息。

27. 软件的工作量计算模型是 (软件规模)的函数, 软件工作量的单位通常是 (人月),

常用的计算软件工作量的计算模型有(静态单变量模型) (COCOMO2 模型)等。

、(动态多变量模型) 、

28. 软件过程是软件(生存期)中的一系列相关软件工程(活动)的集合。每个软件过

程又是由一组(工作任务) 、项目(里程碑)、软件工程产品和交付物以及软件质量保证( SQA )电等组成。

29. 软件的度量包括直接度量和间接度量、软件产品的直接度量包括(产生的代码行

数)、(执行速度) 、(存储量大小) 、在某种时间周期中所报告的差错数。软件产品 的间接度量则包括(功能性) 、(复杂性)、(效率)、(可靠性)、(可维护性)和许多其他的质量特性。

30. 软件配置管理是在软件的整个生命周期内管理变化的一组活动。

标志变化,②控制变化,③实现变化,④报告变化。

31. 软件的质量可以定义为(用户对软件的满意程度)

这组活动包括: ①

,具体地说,软件质量是软件与

(隐含特性)相

(功能和性能需求) ,(开发标准)以及所有软件产品都应该具有的

一致的程度

32. 软件维护可以分为(改正性维护) 、(适应性维护) 、(完善性维护) 、(预防性维护)

等四类。 33. 把程序从一种计算环境 (硬件配置和操作系统) 转移到另一种计算环境的难易程度叫

软件的(移植性) 。 34. 对象是封装了数据结构及可以施加在这些数据结构上的

(操作) 的封装体, 这个封

装体可以唯一地标识它的名字,而且向外界提供一组(服务) 。

二、单项选择题

1. 软件设计中划分程序模块通常遵循的原则是使各模块间的耦合尽可(

C)

a) b) c) a) b) c) d) e) f)

强 适中 弱

公共偶合 数据耦合 逻辑耦合 外部耦合 内容耦合 控制耦合 功能 文档 数据 时间

2. 若一个模块直接引用另一个模块中的数据,这种类型的耦合称为( E)。

3. 瀑布模型是()驱动模型 a) b) c) d)

4. 若一个模块把开关量作为参数传送给另一个模块,这种类型的耦合称为( a) b) c) d) e) f)

公共偶合 数据耦合 逻辑耦合 外部耦合 内容耦合 控制耦合

F)。

5. 若一个模块通过公共数据结构把数据传送给另一个模块, a) b) c) d) e) f)

公共偶合 数据耦合 逻辑耦合 外部耦合 内容耦合 控制耦合 公共偶合 数据耦合

这种类型的耦合称为 (A)。

6.

以下各种类型的耦合中, ( E)的耦合性最强。 a) b)

c) d) e) 7.

逻辑耦合 外部耦合 内容耦合

C)的原则

f) 控制耦合

为了高质量地开发软件项目,在软件结构设计时必遵循( a) b) c) d) e)

质量控制 程序优化 信息隐蔽 数据共享 模块通信 数据性 程序性 模块性 可修改性 可理解性 程序块 公共块 数据块 记录块 通信块

8. 在建立软件系统的模块结构。应根据(C)评价系统模块划分的质量。 a) b) c) d) e)

9. 结构化程序设计方法要求每个( A )结构应是单入口和单出口。 a) b) c) d) e) a) b) c) d)

10. 开发软件时,对于提高软件开发人员工作效率至关重要的是(

程序开发环境

操作系统的资源管理功能 开发程序人员数量 计算机的并行处理能力

A )。

11. 软件工程中描述软件生存周期的瀑布模型一般包括计划、

( D)、设计、 编码、测试、

维护等几个阶段。其中,设计阶段在管理上又可以依次分为(概要设计)和(详细设计)两个步骤。

a) b) c) d) a) b) c) d)

问题定义 需求调查 可行性分析 需求分析 说明方法 描述方式 准则 基本原则

12. 各种需求分析方法都有它们共同适用的(C)。

13. 软件需求分析阶段的工作,可以分为以下几个方面;对问题定义、

写需求分析文档以及( C)。 a) b) c)

总结

阶段性报告 需求分析评审

分析与综合、编

d) a) b) c) d)

以上答案都不正确

A )。

14. 在结构化分析方法中,用以表达系统内数据的运动情况的工具有(

数据流图 数据词典 结构化英语 判定表与判定树

15. 在结构化分析方法中, 用状态迁移图表达系统或对象的行为。在状态迁移图中, 由

一个状态和一个事件所决定的下一个状态可能会有( C)个。

a) b) c) d) a) b) c) d) a) b) c) d) a) b) c) d) a) b) c)

1 2 多个 不确定 问题分析 信息域分析 结构化程序设计 确定逻辑模型 数据流图 判定表 PAD 图 数据词典 标准化程序设计 模块化程序设计 多道程序设计 结构化程序设计

用汇编语言写的程序 B、 符号程序

汇编语言的处理程序

16. 软件需求分析的任务不应包括 (C)。

17. 进行需求分析可使用多种工具;但(C)是不适用的。

18. 1960 年底 Dijkstra 提倡的( D)是一种有效的提高程序设计效率的方法。

19. 汇编程序是指( C)。

20. 为了实现递归子程序的正确调用,人们必须用( A )来保存(返回地址)及有关信息。

a) b) c) d) a) b) c) d) a)

堆栈 线性表 队列 入口点 Bell 实验室 DEC 公司 IBM 公司 Microsoft 公司 Bootstrap

21. UNIX 操作系统是()研制的,它是用程序语言(C)书写实现的。

22. 允许用户建立、修改、存储正文的计算机程序是(B )。

b) Editor c) Loader d) TextFormater 23. FORTRAN 语言的源程序是( A )结构。

a) 块状 b) 分程序嵌套 c) 既是块状,又是嵌套 d) 既不是块状,又不是嵌套的 24. 国际上最广泛使用的商用及行政管理语言是(A )。

a) COBOL b) BASIC c) FORTRAN d) PL/ l 25. 国际上最流行的数值计算的程序设计语言是(C)。

a) BASIC b) Algol c) FORTRAN d)

C

26. 美国国防部主持开发了高级程序设计语言

Ada ,在它研制开始时,定以高级语言( C)作为 Ada 研究的出发点。

a) LISP b) ALGOL c) ALGOL 68 d) PL/ l 27. 在人工智能领域,目前最广泛使用的高级语言是(D )。

a) Ada b) FORTRA c) COBOL d) LISP

28. 下列( A )属于系统软件。

a) WINDOWS 2000 b) Word c) Flash d)

3D MAX

29. 下列哪个图是 N -S 图的构件( C)。 A. B.

A A

B B

C.

WHILE M

D.

A

A

B

经反复比较,确

30. 某次程序调试没有出现预计的结果,下列(B)不可能是导致出错的原因。

a) b) c) d) a) b) c) d)

变量没有初始化

编写的语句书写格式不规范 循环控制出错 代码输入有误

提高程序的执行速度可以提高程序的效率 降低程序占用的存储空间可以提高程序的效率 源程序的效率与详细设计阶段确定的算法的效率无关 好的程序设计可以提高效率

31. 下列关于程序效率的描述错误的是(C)。

32. 下列伪码片段的程序流图是() ,其环路复杂度是() 33. 下列伪码片段的环路复杂度是()

a) b) c) d) a) b) c) d)

2 3 4 5

C)。

34. 软件过程能力的提高首先需要对当前的软件过程状况进行料学的(

度量 估算 评估 管理

( B

)问题。

B .使软件生产工程化

36.软件工程学的目的应该是最终解决软件生产的

A .提高软件的开发效率 C.消除软件的生产危机

D.加强软件的质量保证

( A )。

.

37. 目前存在有若干种软件生存周期模型。例如瀑布模型、增量模型、螺旋模型等。其中规

定了由前至后、相互衔接的固定次序的模型是

A .瀑布模型 c.喷泉模型

B.增量模型

D .螺旋模型

38、瀑布模型的问题是 ( B

A .用户容易参与开发

)。

B .缺乏灵活性

D .适用可变需求

( B )

C.用户与开发者易沟通

39、系统定义明确之后,应对系统的可行性进行研究。可行性研究包括

A .软件环境可行性、技术可行性、经济可行性、社会可行性 B.经济可行性、技术可行性、操作可行性 C.经济可行性、社会可行性、系统可行性 D.经济可行性、实用性、社会可行性

40.数据流图是常用的进行软件需求分析的图形工具,其基本符号是

A .输入、输出、外部实体和加工

( C )。

B.变换、加工、数据流和存储

c.加工、数据流、数据存储和外部实体 D .变换、数据存储、力

IT- 和数据流

41.数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘图方法中, 是常采用的。

( B )

①自顶向下

②自底向上

③分层绘制

④逐步求精

A .全是 c.②③④

B .①③④

D.①④

DFD 就是面向 ( B ) 分析方法的描述工具。

42、在软件开发过程中常用图作为描述工具,

A 数据结构 C 对象

B 数据流

D 构件 (component)

43.结构化分析方法使用的描述工具

A .数据流图 c.判定表

B.数据字典 D.判定树

( B ) 定义了数据流图中每一个图形元素。

44、软件需求规格说明书的内容不应包括对

A . 主要功能

B.算法的详细过程

( B )的描述。

C.用户界面及运行环境 D.软件的性能

(

B )。

45、 SA 方法的分析步骤是首先调查了解当前系统的工作流程,然后

A .获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型

D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 46.在面向数据流的软件设计方法中,一般将信息流分为

( A )。

A .变换流和事务流

B .变换流和控制流 c.事务流和控制流

D

.数据流和控制流

47 模块性是软件模块化所提出的要求,衡量模块性的度量标准是模块的

A.抽象和信息隐蔽

B.局部化和封装化

c. 内聚性和耦合性

D.激活机制和控制方法

49. Jackson 方法是一种面向 ( B

)的方法。

A .对象 B .数据结构

C.数据流 D .控制流

50.为了提高测试的效率,应该

( D ) 。

A .

随机地选取测试数据

B .取一切可能的输人数据作为测试数据 C .在完成编码以后制定软件的测试计划 D .选择发现错误可能性大的数据作为测试数据 51.使用白盒测试方法时,确定测试数据应根据

( A )

和指定的覆盖标准。

A .程序的内部逻辑

B .程序的复杂结构

c.使用说明书

D .程序的功能

三、多项选择题

1. 软件危机可以表现为( A 、 B 、 C、 D)。 A. 产品不符合用户的需要 B. 软件产品的质量差 C. 软件的可维护性差 D. 软件的价格昂贵

2. 优秀的程序员经常使用( A、 B 、C、 D)显示他们的经验。 3.

下列( B、 D )属于主动式防错程序设计。 A. 栈的深度是否合适 B. 内存检查 C. 数组界限是否正确 D. 时间检查

4. 关于数据流图有关描述中正确的是(A 、 B、 C)。 A. 数据流图中不夹带控制流

B. 数据流图的主图必须包括数据流图中的四种基本元素 C. 数据流图不是系统的执行程序,不是程序流程图 D. 加工可以只有输入数据流,没有输出数据流

5.

软件维护工作量的数学模型如下为: M=P+K*e (c-d) ,其中 P 是生产性工作量,数, c 为软件的复杂程度, d 为维护人员对软件的数熟悉程度。从这个模型可 以看出:(AD )

A. 不使用软件工程学方法指导开发的软件维护起来工作量较大; B. 不使用软件工程学方法指导开发的软件维护起来工作量较小; C. 软件开发人员参加维护工作,维护的工作量将反而加大;

(

C

)。

为一常

K

D. 软件开发人员参加维护工作,维护的工作量将相对较低; 6.

用于需求分析的结构化分析方法很多,这些分析方法大都遵循以下准则( A. 必须理解并描述问题的信息域; B. 必须定义软件的功能域; C. 必须描述软件的行为;

D. 用层次的方法展示各种模型的细节

7. 从下列叙述中选出 5 条关于好的程序设计风格的正确叙述(①④⑤⑦⑩) ① 使用括号以改善表达式的情晰性。

② 对递归定义的数据结构不要使用递归过程。 ③ 尽可能对程序代码进行优化。 ④ 不要修补不好前程序,要重新写。 ⑤ 不要进行浮点数的相等比较。 ⑥ 应尽可能多地输出中间结果。 ⑦ 利用数据类型对数据值进行防范。

⑧ 用计数方法而不是用文件结束符或输入序列结束符来判别输入的结束。 ⑨ 程序中的注释是可有可无的。 ⑩ 使用有意义的标识符。

ABCD )

8. 从下列叙述中选出 5 条关于软件测试的正确叙述。 (①②③④⑧⑩) ① 为了使得软件容易测试,应该使用高级的程序设计语言编制程序。

② 软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。 ③ 如果程序中连锁式连接了

8 个判定( IF )结构,则程序中总的路径数可达

28。

④ 白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 ⑤ 为了快速完成集成测试,采用一次性集成方式是适宜的。

⑥ 对一批模块进行侧试,被发现的错误多的模块中残留的错误将比其他的模块少。 ⑦ 好的测试用例应能证明软件是正确的。 ⑧ 边界值分析方法是取输入

/输出等价类的边界值作为测试用例。

⑨ 等价类划分方法考虑了各等价类之间取值的组合情况下可能的结果。 ⑩ 判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。

9. 从下列叙述中选出 5 条有利于软件可维护性的正确叙述。 (①③⑤⑦⑧⑩) ① 在进行需求分析时需同时考虑可维护性问题。

② 完成测试作业后,为了缩短源程序的长度应删去程序中的注释。 ③ 尽可能在软件生产过程中保证各阶段文档的正确性。 ④ 编程时应尽可能使用全局变量。

⑤ 选择时间效率和空间效率尽可能高的算法。 ⑥ 尽可能利用硬件的特点。

⑦ 重视程序结构的设计,使程序具有较好的层次结构。 ⑧ 使用维护工具或支撑环境。

⑨ 在进行概要设计时应加强模块间的联系。

⑩ 提高程序的易读性,尽可能使用高级语言编写程序。 10. 从下列关于模块化程序设计的叙述中,选出

5 条正确的叙述。 (②③④⑦⑧)

①程序设计比较方便,但比较难以维护。 ②便于由多个人分工编制大型程序。 ③软件的功能便于扩充。

④程序易于理解,也便于排错。

⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。 ⑥模块之间的接口叫做数据文件。 (可能是数据文件)

⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。 ⑧模块间的单向调用关系叫做模块的层次结构。⑨模块越小模块化的优点越明显。一般来说,模块的大小都在

10 行以下。

11. 从下列叙述中选出 5 条符合程序设计风格指导原则的叙述。 (①③⑤⑦⑨)①嵌套的重数应加以。 ②尽量 多使用临时变量。 ③不滥用语言特色。 ④不用可以省略的括号。 ⑤使用有意义的变量名。 ⑥应尽可能把程序编得短些。

⑦把常见的局部优化工作留给编译程序去做。 ⑧注解越少越好。

⑨程序的格式应有助于读者理解程序。 ⑩应尽可能多用 goto 语句。

12. 由于软件工程有如下哪些的特点,使得软件的管理比其他工程的管理更为困难:

(A 、B、D)

a) b) c) d) a) b) c) d) a) b) c) d) a) b) c) d)

软件产品不可见;

软件生产不存在标准的过程; 软件的开发成本往往非常高;

有些大型软件项目往往是“一次性”的项目; 适应性维护 文档性维护 完善性维护 预防性维护

ABCD )

OO 的软件的稳定性比较好 OO 的软件比较容易修改 OO 的软件比较容易理解 OO 的软件易于测试和调试

A 、B 、 D)。

13. 软件维护可以分为改正性维护和()

14. OO 软件系统可维护性好体现在以下几个方面(

15. OO 方法建模需要建立以下哪几种模型(

对象模型 功能模型 数据模型 动态模型

四、判断题

1. 2. 3.

软件生存周期是从软件开始开发到开发结束的整个时期。( F) 系统流程图是一个典型的描述逻辑系统的传统工具。( F) 数据流图和数据字典共同构成系统的逻辑模型。( T)

3 或 4。(T)

4. 扇出是一个模块直接调用的模块数目,一般推荐的扇出为 5. 耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。

( F)

( F) 6. 判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。

7. 在代码的编写中要尽量避免使用ELSE GOTO 或者 ELSE RETURN 结构。( T) 8. 9.

软件测试的目的就是证明软件没有错。 ( F)

语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次。( T )

10. 软件开发的成本主要是人的劳动消耗。 ( T) 11. 从层次图和结构图中能看出模块之间的调用次序(F) 12. 结构化程序设计就是要彻底在程序中消除

GOTO 语句( F)

F)

13. 自顶向下的集成测试方法需要驱动(存根)程序(

14. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目( 15. 软件交付给用户使用后,随即进入软件的维护阶段(T)

16. CMM 定义的 5 个等级能引导软件机构不断识别出其软件过程的缺陷,

F)

指出应该做哪些

改进,并(不)提供做这些改进的具体措施。 17. 开发软件时投入的人员越多,开发时间就越短(

( F)

F)

18. 程序正确性证明能证明程序的功能和动态特性符合设计要求( F)

五、简答题

1. 层次图和层次方框图之间区别何在? P92

①层次图描绘软件的层次结构,层次方框图描绘数据结构②层次图中方框代表一个功能模块,层次方框图方框代表数据的子集或数据元素③层次图中连线表示模块间调用关系,层次方框图连线表示组成关系。

2. 2、软件设计过程中为什么要采用模块化设计方法? P85

参:

( 1)、采用模块化原理可以使软件结构清晰,不仅容易设计,也容易阅读和理解; ( 2)、模块化使软件容易测试和调试,因而有助于提高软件的可靠性; ( 3)、模块化可以提高软件的可修改性; ( 4)、模块化有助于开发过程的组织和管理;

3. 用某种软件复杂性度量算法来度量不同类型的程序时。 得出的度量值是否真正反映了它

们的复杂性?如果对同类型的程序进行度量,其结果是否就比较有价值?

参:

开发规模相同, 但复杂性不同的软件,

花费的成本和时间会有很大的差异。 因此到目前为止,

系统地度量任一软件的复杂性,

某一种度量方

所得到的度量值不

还没有一个软件复杂性度量的方法能够全面、

法只偏重于某一方面。 所以,用某种软件复杂性来度量不同类型的程序,

一定真正反映它们的复杂性。 但对同一类里的程序, 按某种视点来度量它们的复杂性, 其结果还是比较有价值的。

4. 数据流图的作用是什么?它有哪些基本成分?参:

数据流图可以用来抽象地表示系统或软件。 它从信息传递和加工的角度. 以图形的方式刻画数据流从输入到输出的移动变换过程, 同时可以按自顶向下、 逐步分解的方法表示内容不断增加的数据流和功能细节。 因此,数据流图既提供了功能建模的机制. 也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。

基本成分有:数据原点 /终点 数据处理 数据流 数据存储

5. 常用的估算软件规模的方法有哪些?试比较这些方法的优缺点。

代码行技术的优点, 容易计算, 缺点是太片面,因为源程序只是软件配置的很少一部分,不同语言实现同一个软件所需的代码行数不同;

功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。

6. CMM 的全称是什么?其基本思想是什么?为什么要对 CMM 进行分级? P321

即使

能力成熟度模型有助于软件开

其基本思想是: 软件开发和维护过程中的问题是由于管理软件过程的方法不当引起的, 是应用新的软件技术, 也不会自动提高软件的生产率和质量。 件,使更多的软件项目免受时间和费用超支之苦。 进行的渐进过程,而不是一蹴而就的彻底。

发机构建立一个有规律的、 成熟的软件过程。 改进后的软件过程将有利于开发出高质量的软

·

·3分

对于任何软件开发机构的软件过程的改进都是在完成一个又一个小的改进的基础之上不断

CMM 将软件过程从无序到有序的进化过程

分为 5 个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力什么是软件配置管理?

答:软件配置管理, 简称 SCM(Software Configuration Management)

,是在软件的整个生命周

期内管理变化的一组活动。具体地讲,这组活动包括:①标志变化, 更所产生的错误达到最小并最有效地提高生产率。 7. 什么是基线?你是如何理解基线的? P319 基线: 已经通过正式复审的规格说明或中间产品, 通过正式的变化控制过程才能改变它。 基线是通过了正式复审的软件配置项。

②控制辩化, ③确保

适当地实现变化, ④向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变

它可以作为进一步开发的基础,

并且只有

一旦软件配置变成基线,

那么,对于软件配置的改变,

必须使用特定的、正式的过程来评估、实现和验证每个变化。 基线除了包含软件配置之外,还有可能包含软件工具。

8. 什么是面向对象的方法学?它有哪些优点? P193 面向对象的方法就是模拟人类认识世界解决问题的思维习惯开发软件的方法,这种方法认

为: OO= 对象 +类 +继承 +对象之间的通讯。 · · · · ·1 分

OO 方法有如下四个方面的要点:①客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以有比较简单的对象以某种方式组合而成。②把所有对象都划分成各种对象类,每个类定义一组数据(静态属性,状态信息,类实例专有数据)和一组方法(施加于对象上的操作,

类实例所共有的) 。③按照子类与父类的关系,把若干个类组成一个层次结构的系

统。子类继承父类的方法和属性, 同时可以重载某些方法。 ④对象之间仅能通过传递消息相

互联系

· ·

· ··

·

·

·

·

·

· · ·2分 ·2分

优点: ①与人类习惯的思维方法一致,②稳定性好,③可重用性好,④较易开发大型软件产 品,⑤可维护性好。

六、分析题

1. 试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,

以提高

其可读性。

(1)

A=A+B B=A-B A=A-B

(2)

for(i=0;jfor(j=0;jV[i][j]=(i/j)*(j*i)

2.

已知被测试模块流程图如下, 按照“条件覆盖” 法,在表格中填入满足测试要求的数据。

a

start

T

c

M=M/2

F

(A>3)AND(B=1)

b

F d

(A=1)OR(M>1)

T

e

M=M+5 M=M-5

f end

T4:M>1 F4:M< = 1

假设几种可能的条件是:

T2: B=1 F2: B ≠1 T3: A=1F3:A ≠1 T1: A>3F1:A<=3

填写下表(注意:本题答案不唯一)

数据

A=4,B=1,M=2 A=1,B=2,M=4

覆盖路径 cd be

覆盖条件

T1, T2,F3, F4 F1, F2, T3, T4

M 值 6 -1

请设计路径覆盖用例,并写出各种测试用例下程序的执行路径。

3. 下面是一段用 Seidel 迭代法求解线性方程组的程序。其中

A[n,n] 是方程组的系数矩阵。

l 时表示迭代收

B[n] 是方程组的右端项, X[n] 是方程组的解向量。 eps 是控制迭代精度的较小实数。 imax 是控制迭代的最大次数。

flag 是标志,值为 0 时表示迭代不收敛,值为

敛。

for(k=0;kX[k]=0.0;

X[n-1]=1.0;

for(i=1;iflag=1;

for(j=0;js=B[j];

for(k=0;kif(j==k)

s += X[k];

s=s-A[j,k]*X[k];

}

if(abs(X[j]-s) > (abs(s) + 1.0)*eps

flag=0;

X[j]=s;

}

if(flag==1)

break;

} 4.

画出该 C 伪码的程序流程图, N-S 图,程序流图,并计算程序的

McCabe 环形复杂度。

阅读下列关于软件可靠性方面的叙述,回答问题 1 和问题 2。

对于给定的环境和给定的

软件的可靠度可定义为: 在假定输入和硬件不发生错误的前提下, 输入,在指定的时间内能完成规定任务的概率。 某软件中心的评测部为了评估已开发实现的应用软件

ASP 的可靠性,决定采用软件可靠性

3 个假设:

的错误播种模型来进行测试和评估。评测部在评估时,作了下列 其中 IT 为被测程序的长度(即机器指令条数) Failure )与单位长度的剩余故障个数成反比,即 余故障个数, K 的典型值现取为 200。 (3)测试中发现的错误都得到了及时改正,

(l )在测试前, 单位长度的故障个数 ET/I T 为一常数, 此常数基本上落在一个固定的范围内。

, ET 为被测程序中故障总数。

(2)失效率正比于软件中剩余的 (潜伏的) 故障数, 平均无敌障时间 MTTF ( Mean Time To

MTTF=1/ ( K ·ε r)。其中 ε r 为单位长度剩

在测试过程中没有引入新的错误。 评测部对 ASP

160 个固有

软件人为地植入了 10 个错误,即 N s=10,在开始测试的一小段时间内,发现了 故障,即 n=160 ,又发现了植入的故障 2 条数)为 100000。

个,即 ns=2,被测程序 ASP 的长度(即机器指令

ASP 的固有故障的个数 N 的值。

问题 1:用故障播种(植入)的数学模型,估算出被测程序 如果通过测试一段时间后,发现的固有错误个数为

EC=795 时,请估算此程序的平均无故障

时间 MTTF 的值。

问题 2:若要求把此 MTTF 提高 4 倍,应至少再排除多少个固有错误?请简要地列出有关计算式。

N

n

N s

ns

MTTF

160 10 2 1

800

1

r

1

200 * 800 795 / 100000

100

K * K

((ET EC)/ IT)

500 得:

1

200 * 800 x

799

x /100000

所以应该在排除: 799-795=4 个错误。 5.

对于包含 10000 条机器指令的程序进行一个月集成测试后,总共改正了 时 MTTF=10h ;经过两个月的测试后, 误), MTTF=15h 。请问:

15 个错误,此

总共改正了 25 个错误 (第二个月改正了 10 个错

( 1)在开始测试之前,软件中潜藏着多少个错误?

( 2)为了达到 MTTF=100h ,还应该改正多少个错误?程序中还残留多少个错误? 6.

在测试一个长度为 24000 条指令的程序时, 第一个月内由甲、 乙两人各自地测试这 个程序。经过一个月后,甲发现并改正了20 个错误,使 MTTF 达到 10h。与此同时, 乙发现了 24 个错误,其中 6 个错误甲也发现了。 请问:

( 1)刚开始测试这个程序时,程序中总共潜藏有多少个错误?

( 2)为了使 MTTF 达到 60h,需要再改正多少个错误?此时程序中还残留有多少个错误?

以后甲一个人继续测试这个程序。

7. 根据下列程序流程图画出相应得N-S 图和 PAD 图,并计算其环路复杂度。

Start

Start

F

P

T A

A

End

P

B

B

F

F

F

Q

T

Q

End

T

T

P

Start

A

A

While P

B

Until Q

B

Q

End

Q=true

Q=true

A

T

Q

B P

F

A

Until P

Q

B

End

七、名词解释

1、系统流程图

系统流程图是描绘物理系统的传统工具, 用图形符号来表示系统中的各个元素, 表达了系统中各个元素之间的信息流动的情况。

2.数据字典

答:数据字典 (Data Dictionary ,简称 DD) 就是对数据流图中包含的所有元素的定义的集合。它和数据流图共同构成了系统的逻辑模型。

3.数据流图 (DFD)

答:数据流图,简称 DFD ,是 SA 方法中用于表示系统逻辑模型的一种工具,它以图形的 方式描绘数据在系统中流动和处理的过程, 由于它只反映系统必须完成的逻辑功能, 所以它是一种功能模型。

4.软件工程

答:软件工程是: ①把系统的、 规范的、 可度量的途径应用于软件开发、 运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

5.模块

答:在程序中是数据说明、 可执行语句等程序对象的集合, 或者是单独命名和编址的元素,在软件的体系结构中,模块是可组合、分解和更换的单元。

6.控制耦合

答:控制耦合指一个模块调用另一个模块时,传递的是控制变量 模块通过该控制变量的值有选择地执行块内某一功能。

(如开关、标志等 ),被调

7.内聚性

答:内聚性指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。

8. PAD 图

答: PAD 图指问题分析图 (Problem Analysis Diagram) ,是日本日立公司于

的一算法描述工具,它是一种由左往右展开的二维树型结构。 PAD 图的控制流程为自上而下、从左到右地执行。 9.单元测试

1979 年提出

答:单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。

10.判定 /条件覆盖

答:指设计足够的测试用例, 使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。

11.完善性维护

答:在软件运行时期中, 用户往往会对软件提出新的功能要求与性能要求。 这种增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

软件工程期末复习资料二

模拟试题

一、 填空题

1. 软件开发模型有(

件组装模型、混合模型。

)、(

)、技术模型、 (

)、构

2. 可行性研究一般可以从(

行性和开发可行性等方面来研究。 3.

为(

4. 数据流图从数据传输和(

传输变换过程。

)。

)可行性、( )可行性、运行可行性、法律可

现在向银行存款,年利率为i,若希望在 n 年后从银行得到 F 元,现在应该存入的钱数

)角度,以(

)方式描述数据流从输入到输出的

5. Jackson 图除了可以表达程序结构外,还可以表达(

),它首先要分析

),并用适当的工具来描述。

)图加上一张(

6. HIPO 图是由一组( )图组成。

7. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的( )。

8. 9.

如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为 ()。

白盒法的具体设计程序测试方法有语句覆盖、 径覆盖。

)、(

)、和路

10. 组成 UML 的三种基本建筑块是(

)、关系和(

)。

11. 面向对象的软件工程方法包括面向对象的分析、(

)、(

12. 保证软件质量的措施主要有(

)、

)。

)。

)和面向对象的软件维护等主要内容。 )、复查和管理复审、 (

)和(

13. 提高软件质量和可靠性的技术大致分为两类,即( 二、单项选择题 1.

下列( )属于系统软件。

A. WINDOWS 2000

B.

Word

C. Flash D. 3D MAX 2.

下列哪个图是 N- S 图的构件(

)。

A.

B.

A

A

B

B

A

C.

WHILE M

D.

A

B

3. 对于螺旋模型,下列(

)不是利用笛卡尔坐标表达的活动。

B. 实施工程 D. 程序编码

A. 制定计划 C. 风险分析

4. 某次程序调试没有出现预计的结果,下列(

)不可能是导致出错的原因。

A . 变量没有初始化

B. 编写的语句书写格式不规范 C. 循环控制出错 D. 代码输入有误

下列关于程序效率的描述错误的是(

A . 提高程序的执行速度可以提高程序的效率 B. 降低程序占用的存储空间可以提高程序的效率

5.

)。

C. 源程序的效率与详细设计阶段确定的算法的效率无关 D . 好的程序设计可以提高效率

三、多项选择题 1.

软件危机可以表现为( A . 产品不符合用户的需要 B. 软件产品的质量差 C. 软件的可维护性差 D. 软件的价格昂贵

Jackson 图中一般可能包括( A. 表头 B. 表体 C. 表名 D. 字段名

优秀的程序员经常使用( A. 空格 B. 空行 C. 注释

)。

2.

)。

3.

)显示他们的经验。

D. 缩进

4.

下列(

B. 内存检查

C. 数组界限是否正确 D. 时间检查 5.

关于数据流图有关描述中正确的是( A. 数据流图中不夹带控制流

B. 数据流图的主图必须包括数据流图中的四种基本元素 C. 数据流图不是系统的执行程序,不是程序流程图 D. 加工可以只有输入数据流,没有输出数据流 四、判断题

)。

)属于主动式防错程序设计。

A. 栈的深度是否合适

1. 软件生存周期是从软件开始开发到开发结束的整个时期。 2. 系统流程图是一个典型的描述逻辑系统的传统工具。 3. 数据流图和数据字典共同构成系统的逻辑模型。

4. 扇出是一个模块直接调用的模块数目,一般推荐的扇出为 5. 耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。

3或4。(

6. 判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。 7. 在代码的编写中要尽量避免使用ELSE GOTO 8. 软件测试的目的就是证明软件没有错。 10.软件开发的成本主要是人的劳动消耗。 五、问答题

1.什么是软件生存周期 3.什么是逆向工程?

4.简述什么是程序效率?针对程序的效率有哪些准则? 六、 分析题

?

结构。(

或者 ELSE RETURN

( ) (

9. 语句覆盖的的含义是使被测试程序中的每个语句都至少被执行一次。

( )

2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么?

1. 已知被测试模块流程图如下, 按照“条件覆盖” 法,在表格中填入满足测试要求的数据。

begin

(A>3)AND(B=1)

F

T

c

b

M=M/2

(A=1)OR(M>1)

F

d

T

e

M=M+5

M=M-5

Return

假设几种可能的条件是:

T1: A>3

F1:A<=3 T2: B=1

F2: B≠1

T3: A=1

F3:A ≠1

T4:M>1 F4:M< = 1

填写下表

数据

覆盖路径 覆盖条件

M 值

T1, T2,F3, F4

F1, F2, T3, T4

2. 根据伪码程序画出程序流程图、 START

A

REPEAT UNTIL

B ENDREP C D

P

N-S 图。

STOP

答案

二、 填空

1. 2.

瀑布模型、螺旋模型、原型模型 经济、技术

3. F/(1+i)n

4. 5. 6. 7. 8. 9.

加工、图形 数据结构、数据结构 IPO、 HC 可移植性 偶然內聚

分支(判定)覆盖、条件覆盖

10. 事物、图

11. 面向对象的设计、面向对象的编程、面向对象的测试

12. 审查、测试

13. 避开错误技术、容错技术 二、单项选择

1. A 2. C 3. D 4. B 5. C

三、多项选择(每小题

1. A 、B、C、D 2. A 、B、C、D 3. A 、B、C、D 4. B 、 D 5. A 、B、C 四、判断题(每小题

1. ╳ 2. ╳ 3. √ 4. √ 5. ╳ 6. ╳ 7. √ 8. ╳ 9. √ 10. √

2 分,共 20 分)

2 分,共 10 分)

五、问答题

1.

答:通常把软件从定义到开发、 使用和维护, 直到最终被弃用,所要经历的漫长时期称为软件生存周期。它是从提出软件产品开始,到该软件产品被淘汰的全过程。

2.

答:首先确定目标系统与当前系统的逻辑差别;然后将变化部分看作是新的处理步骤,

对功能图及对象图进行调整; 最后由外及里对变化的部分进行分析, 推断其结构, 获得目标系统的逻辑模型。通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。

3.

答:逆向工程就是分析已有的工程,寻找比源代码更高级的抽象表现形式。一般认为,凡是在软件生命周期内的, 将软件的某种形式的描述转换为更抽象形式的活动都可称为逆向工程。

4.

答:程序效率是指程序的执行速度及程序占用的存储空间。

( 1)效率是一个性能要求,目标值应当在需求分析阶段给出。软件效率以需求为准,不应以人力所及为准。

( 2)好的设计可以提高效率。

( 3)程序的效率与程序的简单性相关。

一般说来, 任何对效率无重要改善, 且对程序的简单性、 可读性和正确性不利的程序设计方法都是不可取的。

六、

1、 答 数据

A=4,B=1,M=2 A=1,B=2,M=4

覆盖路径 cd be

覆盖条件 T1,T2,F3,F4 F1,F2,T3,T4

M 值 6 -1

注意:本题答案不唯一,学生给出的数字正确就应该算对。 2、 答:

第三部分

试题类型及解答

笔试题型和解题基本要求

考试题型可以有填空题、选择题、判断题、问答题、程序设计与算法描述题等。

填空题、选择题、判断题主要考核学生对基本概念的理解和掌握程度。

问答题、程序设

计与算法描述主要考核学生对所学知识的应用能力。

例如: 一、填空题 1. 2. 3. 4. 5. 1.

软件生存周期一般可分为

六个阶段。

结构化分析方法是面向

来描述。

数据流图的基本四种成分: 施:

二、选择题

总体设计的目标:

A. 确定系统的功能与模块结构 B. 确定系统的费用 C. 确定系统的算法

D. 确定开发系统所使用的语言 2.

是用户和设计交换最频繁的方法

A. 原型化方法 B. 瀑布模型方法 C.螺旋模型方法 D.构件组装模型

3.

软件测试的目的 :

A. 避免软件开发中出现的错误 B. 发现软件开发中出现的错误

C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性 D. 修改软件中出现的错误 4.

下述描述错误的是 :

A. 程序流程图于任何一种程序设计语言,比较直观和清晰地描述过程的控制

流程。 B . N-S 图是一种符合结构化程序设计原则的图形描述工具,称为盒图。

C. PAD 图是用结构化程序设计思想表现程序逻辑结构的图形工具。不允许递归使

用。

D . HIPO 图是由一组 IPO 图加一张 HC 图组成。它是美国 IBM 公司在软件设计中使用的

主要表达工具。

的分析设计方法。

、 、 、 、 、 与

进行需求分析的方法。结构化分析方法使用

为了在软件开发过程中保证软件的质量,主要采取下述措 Jackson 系统开发方法 ( JSD)是一种典型的

5.

下列哪一个不是 N-S 图的基本控制结构 : A. 顺序型 B. 选择型

C. REAPET重复型D. UNTIL 重复型

三、判断题(正确的在括号内打√,错误的打╳)

1. 2.

软件开发小组人数越多越好。 () 在程序运行之前没法评估其质量。 ()

3. 需求是变化的,因为软件是灵活的,总可以满足需求。

4. 有了对目标一般描述,就可以编程序,以后在详细描述。 5.

模块越小,模块的优点越大。 ()

四、简答题 1. 2. 3.

什么是软件工程,软件工程的准则是什么? 什么是编码风格,包括哪些方面? 比较黑盒测试与白盒测试的区别。

五、程序设计与算法描述

3. 画出下列伪码程序的程序流程图。 START IF m THEN

WHILE n DO

A B END DO ELSE

BLOCK

C D

END BLOCK

END IF

STOP

4.

根据下列描述,画出学生申请IC 借书卡的第一层数据流图。学生入学后到图书馆申请

IC 借书卡, 图书馆管理人员根据 IC 借书卡库存情况分析是否需要购买新的 如需购买,则向 IC 借书卡提供商购买。各种资金往来通过学校的会计科办理。

IC 借书卡,

模拟试题答案

一、填空题

(每空 2 分,共 40 分)

1、 问题定义、需求分析与可行性研究、设计、编码、测试、运行与维护

2、 数据流、数据流图 DFD 、数据字典 DD

3、 数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件 4、 审查、复查和管理复审、测试 5、 面向数据结构 二、选择题 1、 A 2、 A 3、 C 4、 C 5、 C

三、判断题: 1.

(每小题 3 分,共 30 分)

2. 3. 4.

╳ ╳ ╳

5. ╳

四、简答题 1、

软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件, 把经过时间考验而证明正确的管理技术和当前能够得到的最好的技

术方法结合起来。 软件工程准则可以概括为六条基本原理: ( 1)用分阶段的生存周期计划严格管理;( 2)坚持进行阶段评审; ( 3)实行严格的产品控制; ( 4)采用现代程序设计技术;(5)应能清楚地审查结果; (6)合理安排软件开发小组的人员。

2、

编码风格又称程序设计风格或编程风格, 实际上指编程的原则。 表现为四个方面: 源程序文档化,数据说明的方法,语句结构和输入/输出方法。

源程序文档化: 源程序文档化又可从四个方面来阐述, ①符号名的命名; ②程序的注释;③标准的书写格式;

数据说明: 数据说明的次序应当规范化。 使数据属性容易查找,也有利于测试,排错和维

护。

语句结构:语句构造力求简单、直接,不能为了片面追求效率而使语句复杂化。可从

以下几方面注意: 1.使用标准的控制结构; 考虑清晰性; 4.注意使用 GOTO 语句。

3、

黑盒测试法

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。黑盒测试又称为功能测试。

2.尽可能使用库函数;

3.程序编写首先应当

白盒测试法

白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。

五、程序设计与算法描述 1、

2、

软件工程期末试题(一)

单项选择题

1.瀑布模型的存在问题是(

A.用户容易参与开发C.用户与开发者易沟通

B )

B.缺乏灵活性

D.适用可变需求

2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现

象称做( C )

A. 软件工程

B. 软件周期

C.软件危机

D.软件产生

3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺 序是( B ) A. 数据、公共、标记、控制 C.控制、数据、标记、公共

B.数据、标记、控制、公共 D.控制、数据、公共、标记

4.在 SD 方法中全面指导模块划分的最重要的原则是 ( D )

A. 程序模块化 B. 模块高内聚

C.模块低耦合

5.软件测试的目的是(

D.模块性

B

)。

A. 评价软件的质量

C. 找出软件的所有错误

6.在设计测试用例时,( A

B. 发现软件的错误

D. 证明软件是正确的

)是用得最多的一种黑盒测试方法。

C. 因果图

D. 判定

A. 等价类划分

B. 边界值分析

7. 需求分析最终结果是产生 ( B )。 A. 项目开发计划 C. 设计说明书 A. 调用关系 A. 功能

B. 组成关系

B. 需求规格说明书 D. 可行性分析报告 C. 链接关系

D. 顺序执行关系

D. 编程 D )

8. Jackson图中,模块框之间若有直线连接, 表示它们之间存在 (B )。 9. 软件详细设计的主要任务是确定每个模块的 ( C )。

B. 外部接口 C. 算法和使用的数据结构

B.提高模块的性

D.养成好的程序设计风格

10.为了提高软件的可维护性,在编码阶段应注意( A. 保存测试用例和数据 C.文档的副作用

11.设年利率为 i ,现存入 p 元,若计复利, n 年后可得钱数为( B)

A . p﹡(1+i ﹡ n) C. p﹡ (1+i) ﹡ n

B . p﹡ (i+1) n D .p﹡ (i+n)

要用动态模型来表示。 动态模型着重于系

A

)。

12.在考察系统的一些涉及时序和改变的状态时,

统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A .状态图

B. 数据流图

C. 系统结构图

D. 时序图 ( C

13. 对象实现了数据和操作的结合,使数据和操作 A. 结合

B. 隐藏

)于对象的统一体中。

D. 抽象

C. 封装

B. 外部接口 C. 链接关系

14. 软件详细设计的主要任务是确定每个模块的 A. 算法和使用的数据结构 A. 调用关系

B. 组成关系

( A )。 C. 功能

D. 编程

(A)。

15. 软件结构图中,模块框之间若有直线连接,表示它们之间存在

D. 顺序执行关系

16. 需求分析最终结果是产生 ( B ) 。 A. 项目开发计划 C. 设计说明书

B. 需求规格说明书 D. 可行性分析报告

)。

17. 在详细设计阶段,经常采用的工具有( A A. PAD B. SA C. SC

A. 教正性维护 C. 完善性维护

试用例和数据 B. 提高模块的性

D. DFD

18.因计算机硬件和软件环境的变化而作出的修改软件的过程称为

B.适应性维护 D.预防性维护

( C )

20.为了提高软件的可维护性,在编码阶段应注意( D A. 保存测

C.文档的副作用 D.养成好的程序设计风格

1.面向对象开发方法包括 OOA 、OOD 和 OOP 三部分。

2.效益分有形效益和无形效益两种。有形效益可用纯收入、货币时

间的价值、投资回收期等指标进行度量;无形效益主要从性质上、心

理上进行衡量,很难直接进行量的比较。

3.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构 语言和专用语言三类。 设计题

已知有如下的伪代码程序 :

START

I:=1;

WHILE i:<=n-1 DO

min:=A[i]; j:=i+1;

WHILEj<=n DO

IF min>A[j]

THEN

要求:请用盒图描述。BLOCK

temp:=min; min:=A[j]; A[j]:=temp;

ENDBLOCK

ENDIF; j:=j+1; ENDDO i:=i+1; ENDDO STOP

i:=1

i<=n-1 min:=A[i]

j:=i+1

j<=n

min>A[j]

f

t

temp:=min min:=A[i] A[j]:=temp

j:=j+1

i:=i+1

软件工程期末试题(二)

一, 判断题 ( 正确的在括号内打上 \" √\ 错误的打上 \" ×\". 每题 1.5 分,

共 15 分)

Warnier 方法也是一种面向数据结构的设计方法 , 其逻辑更严格 .( ×)

PAD图在设置了五种基本控制结构后 , 还允许递归调用 . ( ×)

为了加快软件维护作业的进度 , 应尽可能增加维护人员的数目 .( ×)

当验收测试通过 , 软件开发就完成了 .( ×)

完成测试作业后 , 为了缩短源程序的长度应删除程序中的注解 .( ×) 系统结构图是精确表达程序结构的图形表示法 . 因此 , 有时也可以将系统结构图当作系统流程图使用 .( ×)

在程序调试时 , 找出错误的位置和性质比改正该错误更难

.( √)

以对象 , 类, 继承和通信为基础的面向对象设计方法

(OOD)也是常见的

软件概要设计方法之一 .( √)

二, 单项选择题 ( 每小题 2 分, 共 10 分)

试判断下列叙述中 , 哪 个( 些) 是正确的 (D)

a, 软件系统中所有的信息流都可以认为是事务流 b, 软件系统中所有的信息流都可以认为是变换流 c, 事务分析和变换分析的设计步骤是基本相似的 A,a B,b C,c D,b 和 c

进行需求分析可使用多种工具 , 但(B) 是不适用的 .

A, 数据流图 B,PAD 图 C, 判定表 D, 数据词典

在详细设计阶段 , 经常采用的工具有 (A).

A,PAD B,SA C,SC D,DFD

详细设计的结果基本决定了最终程序的

(C)

A, 代码的规模 B, 运行速度 C, 质量 D, 可维护性

使用白盒测试方法时 , 确定测试数据应根据 (A) 和指定的覆盖标准 .

A, 程序的内部逻辑 B, 程序的复杂程度 C,该软件的编辑人员 D, 程序的功能

三, 多项选择题 ( 每题 2分, 共 10分. 注: 正确得 2 分, 漏选得 1 分, 多选,

错选不得分 .)

(ABCD)可以作为模块 .

A, 子程序 B, 函数 C, 过程 D, 编译文件 下面哪些测试属于黑盒测试 (BCD).

A, 路径测试 B, 等价类划分 C, 边界值分析 D, 错误推测 E, 循环测试 下列属于度量效益方法的是 (ABCD).

A, 货币的时间价值 B, 投资回收期 C, 收入 D, 投资回报率 软件维护的策略包括 (BCD).

A, 定期检测维护 B, 改正性维护 C, 适应性维护 D, 完善性维护 下列属于软件测试过程的是 (ABE).

A, 单元测试 B, 组装测试 C, 内核测试 D, 法律验证 E, 确认测试四,简答题(每题 6分, 共 24 分)

1、耦合性和内聚性有几种类型 其耦合度 , 内聚强度的顺序如何

答案 : 低 : 非直接耦合 , 数据耦合 , 标记耦合 , 控制耦合 , 外部耦合 , 公共

耦合, 内容耦合 : 高

强 : 功能内聚 , 信息内聚 , 通信内聚 , 过程内聚 , 时间内聚 , 逻辑内聚 , 偶然内聚:弱

2、请举例说明什么是多态 , 什么是重载

答案 : 多态性是指子类对象可以像父类对象那样使用

, 同样的消息既

可以发送给父类对象也可以发送给子类对象

. 也就是说 , 在类等级的

不同层次中可以共享 ( 公用 ) 一个行为 ( 方法 ) 的名字 , 然而不同层次中

的每个类却各自按自己的需要来实现这个行为

. 当对象接收到发送给

它的消息时 , 根据该对象所属于的类动态选用在该类中定义的实现算

法 .

3、重载是指一个类中有多个同名的方法 , 但在操作数个数或类型上有 区别 .

例 : public class A{ int age;

String name;

public void setValue(int i) { age=i; }

public void setValue(String s) { name=s; }

4、什么是数据字典 简述数据字典与数据流图的关系 . 答案 : 数据字典是关于数据的信息的集合

, 对数据流程图中的各个元

素做完整的定义与说明 , 是数据流程图的补充工具 .(2 分) 数据流图和

数据字典共同构成系统的逻辑模型 , 没有数据字典数据流图就不严格 ,

然而没有数据流图数据字典也难于发挥作用

. 数据流图和对数据流

图中每个元素的精确定义放在一起

, 才能共同构成系统的规格说

明 .(3 分)

5、简述编码风格的重要性 .

答案 : 阅读程序是软件开发和维护过程中的一个重要组成部分 , 程序实际上也是一种供人阅读的文章 . 应当在编写程序时讲求程序的风格 , 这将大量地减少人们读程序的时间 . 良好的编码风格有助于编写出可靠而又容易维护的程序 , 编码的风格在很大程度上决定着程序的质量 . 面向对象的测试和传统开发方法的测试有什么不同

答案 :(1) 二者都可以分成四个阶段进行 . 但传统测试最小单元是模块 , 而在面向对象环境下 , 最小的可测试的单元是封装了的类或对象 , 而不是程序模块 .(2) 因为面向对象软件没有一个层次的控制结构 , 所以

传统的自顶向下和自底向上的组装策略意义不大 . 每次将一个操作组装到类中 ( 像传统的增殖式组装那样 ) 常常行不通 , 因为在构成类的各个部件之间存在各种直接的和非直接的交互 . 对于面向对象系统的组装测试 , 存在两种不同的测试策略 .

软件工程期末试卷(三)

2004 年下半年期末考试

(开放教育本科)计算机科学与技术专业

《软件工程》试题 B

2005

年 1 月

题 号 分 数

二 三 四 五 六

总 分

一、填空题(每空

1 分,共 20 分)

1. 软件生存周期一般可分为

__________ 、可行性研究、 __________ 、设计编码、

__________、运行与维护阶段。

2. IPO 图由 __________ 、 __________和 __________ 三个框组成。 3. 软件= __________ + __________ 。

4. 软件测试的方法有 __________和 __________(即黑盒法) 。 5. Jackson 图除了可以表达程序结构外,还可以表达 6. 详细设计的工具有图形工具、

__________。

__________ 和 __________。

7. __________和 __________共同构成系统的逻辑模型。 8. 成本估计方法主要有

__________ 、__________和算法模型估计三种类型。

__________、 __________、 __________三种。

9. 在需求分析阶段常用的图形工具有

答案: 填空题(每空 1 分,共 20 分)

1、问题定义

需求分析

输出

测试

2、输入

处理 文档

3、程序

4、分析方法 5、数据结构 6、表格工具 7、数据流图 8、自顶向下估计 9、层次方框图

非分析方法

语言工具 数据字典

自底向上估计 Warnier 图

IPO 图

二、单项选择题(每小题 2 分,共 10 分)

1.

系统流程图是描绘(

)的传统工具。

A 、逻辑系统

B 、数据结构

C、状态变迁

D、物理系统

2.

下列模块性最强的是(

A 、非直接耦合

B 、数据耦合 C、公共耦合

D、内容耦合

3.

下列哪个阶段不属于软件生存周期的三大阶段(

)。

A 、计划阶段 B 、开发阶段

C、编码阶段

D 、维护阶段

4.

常见的软件概要设计方法有3 大类,其中以数据流图为基础构造模块结构的是

A 、 Jackson 方法和 LCP ( Wanier)逻辑构造方法 B、结构化设计方法( SD) C、面向对象设计方法(

OOD )

D、快速原型法

5.

使用白盒测试方法时,确定测试数据应根据(

)和指定的覆盖标准。 A 、程序的内部逻辑

B、程序的复杂程度

C、该软件的编辑人员

D、程序的功能

答: 1、D

2、 A

3、C

4、 A

5、 A

三、多项选择题(每题 2 分,共 10 分)

1.

( )可以作为模块。

A 、子程序

B 、函数 C、过程 D 、编译文件

2.

关于内容耦合的描述正确的是( )。

A 、 内容耦合是最高程度的耦合

B、高级语言一般设计成允许内容耦合的形成 C、应该尽量使用内容耦合

D、 如果一个模块可以直接调用另一模块,则可以称为内容耦合 3.

下列属于度量效益方法的是( )。

A 、货币的时间价值 B、投资回收期

B、收入

D、投资回报率

)。

4. 软件维护的策略包括( A 、 定期检测维护 B、改正性维护 C、适应性维护 D、 完善性维护

)。

5. 下列不属于软件测试过程的是( A 、单元测试 答: 1、 ABCD

B、组装测试 2、AD

3、ABC

)。

C、内核测试 4、 BCD

5、 CD

D 、法律验证

四、判断题(正确的在括号内打上“√” 1. 2. 3. 4. 5. 6. 7.

,错误的打上“×” 。每题 2 分,共 20 分)

( ( (

Warnier 方法也是一种面向数据结构的设计方法,其逻辑更严格。 PAD图在设置了五种基本控制结构后,还允许递归调用。

为了加快软件维护作业的进度,应尽可能增加维护人员的数目。 当验收测试通过,软件开发就完成了。

(

)

) )

)

完成测试作业后,为了缩短源程序的长度应删除程序中的注解。 在进行总体设计时应加强模块间的联系。

(

)

系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系 统流程图使用。 (

8. 9.

用黑盒法测试时,测试用例是根据程序内部逻辑设计的。 在程序调试时,找出错误的位置和性质比改正该错误更难。

10. 以对象、类、继承和通信为基础的面向对象设计方法(

OOD)也是常见的软件概要设计

方法之一。( )

答: 1— 5:√√××× 6— 10: ×××√√

五、简答题(每题 5 分,共 20 分)

?

1. 什么是软件危机 ?为什么会产生软件危机

答:软件危机是指软件在开发和维护过程 遇到的一系统严重问题 ,主要包含二方面的问题 , 一是如何开发利用软件 ,三是如何维护数量不断膨胀的已有软件 .产生软件危机的原因 ,一方面与软件本身的特点有关 ,另一方面和软件开发与维护的方法不正确有关。

2. 什么是软件的生存周期?包括哪几个部分?

答:个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把

软件经历的这个漫长的时期称为生存周期。 软件生存周期就是从提出软件产品开始, 直到该软件产品被淘汰的全过程。它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。

3. 什么是黑盒测试法?

答:黑盒测试法把程序看成一个黑盒子,

完全不考虑程序的内部结构和处理过程,

程序是否能适当地接收输入数据,

它只检查

程序功能是否能按照规格说明书的规定正常使用, 产生正

确地输出信息。

4. 耦合性和内聚性有几种类型

? 其耦合度、内聚强度的顺序如何?

答: 低:非直接耦合

数据耦合

标记耦合

控制耦合

外部耦合

公共耦合

内容耦

合 :高

强:功能内聚

信息内聚 通信内聚 过程内聚 时间内聚 逻辑内聚

巧合内聚:弱

六、分析设计题(共 20 分)

1. ( 8 分)假设开发某个计算机应用系统的投资额为

用后, 每年可以节约 1000 元,5 年内可能节约 元是 5 年内节省的钱,假定年利率为 回收率。

答:

3000 元,该计算机应用系统投入使

5000 元。 3000 元是现在投资的钱, 5000

12%,请计算该系统的纯收入,投资回收期,投资

节省

利率

现在价值 累计现在价 值

1 2 3 4

1000 1000 1000 1000

1. 12 1.25 1.40 1.57

2.86 800.00 714.29 636.94

2.86 1692.86 2407.15 3044.09 3612.27

5

1000 1.76 568.18

计算该系统的纯收: 3612.27-3000=612.27

投资回收期: 3+( 3000-2407.15 )/(3044.09-2407.15)=3.93

投资回收率为 r

3000=1000/( 1+r)+1000/(1+r) 2+1000/(1+r) 3+1000/(1+r) 4+1000/(1+r) 5

解得 r=20%

2.

求一组数组中的最大数 , 数组表示为 A( n) , n= 1, 2,, n 的自然数。 (12 分 )

1)

请画出程序流程图( 4 分) 2)

请画出该算法的 N-S 图( 4 分) 3)

请用 PAD图来表示该算法( 4 分)

答:( 1)

( 2)

1.

(4 分)

( 3)

软件工程期末试卷(四)

一、 简答题( 25%, 每小题 5 分):

1.请简要说明需求分析的三个层次包括那些主要内容。

软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求。

用户需求文档描述了用户使用产品必须要完成的任务。

功能需求定义了开发人员必须实现的软件功能, 使得用户能完成他们的任务,从而满足了业务需求。

2.为什么要设计性强的模块以及如何判断模块的性?

第一 3分,耦合 1分,内聚 1分

模块性强,则:(1)系统容易开发( 2)系统可靠性高( 3)系统容易维

判断模块性的基本原则:“耦合小,内聚大”

3.若现有类已经进行了彻底的测试, 为什么必须对从现有类中实例化的子类

进行重新测试?

使用的场景: 3分. 2 分

因为父类和子类的运行环境是不同的。

另外,如果是多重继承会显著地增加派生类的复杂程度, 导致一些难以发现的隐含错误。

4.要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊。

利: 3分;弊: 2分

利:容易维护,用户比较满意

弊:成本高,周期长

5、采用面向对象方法设计软件系统时, 子系统的划分常采用水平划分或垂直

划分的方式,请说明这两种划分所得子系统的特点。

c/s:3 分 ,p2p :2分

水平划分系统的 p2p: 每个字系统可以调用任意其他子系统,比

c/s 复杂,

可能死锁。

垂直划分 c/s :客户端调用服务器端,服务器提供服务,并返回结果。客户

端需要知道服务器的接口,而服务器不必知道客户端接口。

二、 应用题( 45%,1-3 每小题 10 分, 4 小题 15 分)

1.公司计划采用新技术开发一款新的手机软件产品, 希望尽快占领市场, 假设

你是项目经理,你会选择哪种软件过程模型?为什么?

选模型: 5 分;原因: 5 分

选用模型:可采用增量模型 / 增量 + 原形 / 螺旋模型等等。但如果采用快速开

发则不太适宜。

分析原因:技术相对比较新,而且需要快速占领市场,所以应短期内出现产

品的原形或者是可用的子系统。

2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶

段里程碑位置。 任务名称 需求分析 测试计划 概要设计 详细设计 编码

测试方案设计 产品测试

起始日期 2008. 3. 1 2008. 3. 13 2008. 3. 13 2008. 3. 16 2008. 3. 20 2008. 3. 16 2008. 3. 26

结束日期 2008.3.13 2008.3.15 2008.3.16 2008.3.20 2008.3.26 2008.3.19 2008.3.30

文档整理

2008. 3. 28 2008.3.30

任务网络图:

测试计划

测试方案设计

产品测试

需求分析

编码

活动

需求分析

测试计划

概要设计

测试方案设计

详细设计

编码

产品测试

文档整理

详细设计

概要设计

文档整理

甘特图

3.1 3.6

3.11

3.16

3.21

3.26

3.30

时间

任务网络图 3 分 甘特图 3分

标识关键路径 2 分 阶段里程碑位置

2 分。

3.设有一个程序, 读入三个整数, 代表三角形的三条边。 输出表明三角形是

不规则的、等腰的或等边的。 请采用黑盒的等价类划分方法, 设计一组测试用例。

不规则:345

等腰:334

等边:333

其他:192

不规则的 3 分

等腰 3分

等边 3分

其他 1分

4.设计一个简化的网上个人银行查询系统,用户可以通过 Internet 查询自己帐

户的收支明细、余额和修改密码。

(一)采用结构化方法: 7分

1)请画出 E-R图 2分

DFD图的第 0层和第 1层。 3分

2)编写两个关键词条的数据字典。 2分

E-R 图

用户

帐户

姓名 性别 身份证号

,

拥有

帐户号 密码 余额 收支明细

DFD 图第 0层

输入命令: 查询帐户明细 查询帐户余额 修改密码

显 示

网上个人 结果银行查询

输出显示

设备

系统

用户

DFD 第 1层

用户 登陆

输入帐号,密码 结果 验证 修改密码

用户

输入旧密码 和新密码

修改 密码

输入余额查询命令

输入查询条件

验证密码 查询

帐户明 细查询

读取

帐户数据

输出显示

设备

示 结

查询

读取

帐户余额

查询

数据字典:

名称:帐号 别名:无

何处使用 /如何使用:登陆帐户时需要输入 描述:帐户的唯一标识,每个帐户对应一个帐号

帐号 = 12 个数字

名称:帐户密码 别名:无

何处使用 /如何使用:登陆帐户时输入;修改密码时输入,修改成功后保存到帐户数据库 描述:密码 =*6 个字母 *

(二)采用面向对象方法: 8分

1)请画出系统的用例图; 2分

系统

查询

修改密码

储户

2)识别出系统的主要类 2分

User、 Account 、 DetailItem

主要要包括用户、帐户、收支明细等类。

并画其中的二个类图(包含主要属性和操作) 。 2分

3)画一个 UML时序图,描述一次通过网上银行查询余额的具体交互。 2分

:SearchGUI

: SearchDialog :Account

Search()

deatilItem -account -time

-amount

-terminalNumber

account -balance

-accountNumber -username -password

+getBalance() +getDetailItem() +getPassword() +setPassword()

GetAccout(Id)

CheckPassword(Id)

GetBalance

软件工程期末试卷(五)

一、填空题

1.软件开发模型有

瀑布模型、螺旋模型、技术模型、 原型模型 、

构件组装模型、混合模型。

2.可行性研究一般可以从

经济 可行性、 技术 可行性、运行可行性、

法律可行性和开发可行性等方面来研究。

3.现在向银行存款,年利率为

的钱数为 F/(1+i)

i,若希望在 n 年后从银行得到

F 元,现在应该存入

n

4.数据流图的基本符号包括数据输入的源点和数据输出的汇点

数据存储文件

加工

数据流

5.Jackson 图除了可以表达程序结构外,

析 数据结构

还可以表达

数据结构

,它首先要分

,并用适当的工具来描述。

图形工具

6.详细设计的工具有 7.IPO 图由

输入

、表格工具和

输出

语言工具

、处理和

三个框组成。这个图的特点是能

够直观的显示三者之间的关系。

8 .面向对象技术是一整套关于如何看待 的关系, 以什么观点来研究问题并进行分析求解, 向对象方法是一种运用对象

软件系统 和 现实世界 以及如何进行系统构造的软件方法学。 面 、 封装、聚集、消息传送、多态性等概

类 、继承

念来构造系统的软件开发方法。

二、单项选择题

1.下列( A. B.

Word

A

)属于系统软件。

WINDOWS 2000

C. Flash D. 3D MAX 2.下列哪个图是 A.

N- S 图的构件(

B.

C )。

A

A

B

B

A

C.

WHILE M

D.

A

B

3.对于螺旋模型,下列( A. 制定计划 C. 风险分析

三、多项选择题

1.软件危机可以表现为(

D )不是利用笛卡尔坐标表达的活动。

B. 实施工程 D. 程序编码

ABCD

)。

A . 产品不符合用户的需要 B. 软件产品的质量差 C. 软件的可维护性差 D. 软件的价格昂贵

2. Jackson 图中一般可能包括(

ABCD

)。

A .表头 B.表体 C.表名

D .字段名

3.关于内容耦合的描述正确的是(

AD

)。

A 、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合

C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式(

A 、书写时适当使用空格分隔 B、一行写入多条语句

C、嵌套结构不使用分层缩进的写法 D、程序中不加注释

四、判断题(正确的在括号内打上“√”

BCD

)。

,错误的打上“” )

1.软件生存周期是从软件开始开发到开发结束的整个时期。 2.系统流程图是一个典型的描述逻辑系统的传统工具。 3.数据流图和数据字典共同构成系统的逻辑模型。

4.扇出是一个模块直接调用的模块数目,一般推荐的扇出为 5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度。 6.程序运行过程中出现错误叫做容错。

7.软件测试的目的是证明程序没有错误。

( ×

( ×

( √

3 或 4。( √

× )

( × )

× )

8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。

五、问答题

1.什么是软件生存周期。

答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

× )

2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。

答:系统流程图是描述物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘

系统里的每个部件(程序、文件、数据库、表格、人工过程等) 的信息流程,而不表示对信息进行加工处理的控制过程。

3.为什么数据流图要分层?

。系统流程图表达的是部件

答:这了表达数据处理过程的数据加工情况, 用一个数据流图是不够的。 为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解, 并以分层的数据流图反映这种结构关系。

4.软件的质量反应为哪些方面的问题?

答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。

在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到保证。

往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。

软件质量是各种特性的复杂组合。 它随着应用的不同而不同, 随着用户提出的质量要求不同而不同。

软件工程期末试卷(六)

软件工程导论试题

一.选择

1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( C) 。A、详细计划 B 、可行性分析

C、 运行阶段 D 、 测试与排错

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大 (C ) 。 A、详细设计阶段 B 、概要设计阶段

C、 需求分析阶段 D、 测试和运行阶段

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标 (A ) 。

A、 需求分析阶段 B 、 详细设计阶段 C、 概要设计阶段 D、 可行性研究阶段

4、软件工程的出现主要是由于 (C ) 。

A. 程序设计方法学的影响 B. 其它工程科学的影响 C. 软件危机的出现 D. 计算机的发展

5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是 (C ) A、 硬件环境 B 、软件开发的环境

C、软件开发工具和软件开发的环境 D、 开发人员的素质

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( B) A、 相互排斥 B 、 相互补充 C、 使用 D 、 交替使用

7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法 (C ) A、基于瀑布模型的结构化方法 B 、基于需求动态定义的原型化方法C、基于对象的面向对象的方法 D、基于数据的数据流开发方法

8、在下面的软件开发方法中, 哪一个对软件设计和开发人员的开发要求最高 (B ) A、结构化方法 B 、原型化方法 C、面向对象的方法 D、控制流方法

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 (B )

A、控制流 B 、数据流 C、程序流 D 、指令流

10、软件开发的结构化生命周期方法将软件生命周期划分成 (A )

A、 计划阶段、开发阶段、运行阶段 B 、 计划阶段、编程阶段、测试阶段C、 总体设计、详细设计、编程调试 D 、需求分析、功能定义、系统设计 11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为 A、 瀑布模型 B 、 对象模型 C、 螺旋模型 D 、 层次模型

12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 ( C)

A、 分析阶段 B 、 设计阶段 C、 编码阶段 D 、 测试阶段

(A )

二. 填空

21 .系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素 表达了系统中各种元素之间的 ( 信息流动 ) 情况。

[ 解析 ] 系统流程图是描述物理系统的传统工具, 用图形符号表示系统中 的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。

22 .成本效益分析的目的是从 ( 经济 ) 角度评价开发一个项目是否可行。

[ 解析 ] 成本效益分析首先是估算将要开发的系统的开发成本, 然后与可能取得的效益进行比较和权衡, 其目的是从经济角度评价开发一个新的软件项目是否可行。

23 .自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先 策略和 ( 宽度优先策略 ) 。

[ 解析 ] 渐增式测试法有自顶向下结合和自底向上结合两种组装模块的

方法,其中自顶向下集成是构造程序结构的一种增量式方式, 不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

24 .路径是指包括一组以前没有处理的语句或条件的一条路径。从程

序图来看,一条路径是至少包含有一条 ( 在其他路径中未有过 ) 的边的路径。

[ 解析 ] 在基本路径测试中, 以详细设计或源程序为基础, 导出控制流

程图的拓扑结构 —— 程序图,在计算了程序图的环路复杂性之后, 确定只包含路径的基本路径图, 其中路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看, 一条路径是至少包含有一条在其他路径中未有过的边的路径。

25 .汇编语言是面向 ( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

[ 解析 ] 汇编语言属于低级语言, 是一种面向机器的语言, 它与高级语

言相比有许多优越性: 如操作灵活, 可以直接作用到硬件的最下层, 完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。

26 .在 JSP 方法中解决结构冲突的具体办法是 ( 中间数据结构或中间文 件 ) 。

[ 解析 ]JSP 方法是面向数据结构的设计方法。 它定义了一组以数据结构

为指导的映射过程, 根据输入、输出的数据结构, 按一定的规则映射成软件的过

程描述,在 JSP 方法中解决结构冲突的具体办法是引入中间数据结构或中间文

件,将冲突部分分隔开来, 建立多个程序结构, 再利用中间文件把它们联系起来, 构成一个系统的整体。

27 .详细设计的任务是确定每个模块的内部特性,即模块的算法、 ( 使用

的数据 ) 。

[ 解析 ] 详细设计的基本任务是为每个模块进行详细的算法设计, 为模块

内的数据结构进行设计, 确定每个模块的内部特性, 包括模块的算法和使用的数 据。对数据库进行物理设计等。

28 .所有软件维护申请报告要按规定方式提出, 该报告也称 ( 软件问题 ) 报告。

[ 解析 ] 在软件维护的流程中, 第一步就是制定维护申请报告, 也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

29 .有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的 ( 维护支援 ) 技术。

[ 解析 ] 面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,

提高软件的可维护性。 而维护支援技术则包含信息收集, 错误原因分析, 维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。

30 .科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可 供选择的语言有: ( FORTRAN 语言 ) 、PASCAL 语言、 C 语言和 PL/1 语言。 [ 解析 ] 计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办

公管理方面,一些数据库语言如 FOXPRO 、ORICAL 有很多的应用,在工程 行业,计算机语言的科学计算能力就显得格外重要,如 MATLAB 、 PL/1 、 FORTRAN 语言都是工程计算中常用的语言。 三.判断

1.软件的开发与运行经常受到硬件的和制约。 2.模块内的高内聚往往意味着模块间的松耦合。

( √)

( √ )

3.Jackson 图只能表达程序结构,不能表达数据结构。 (X)

上述数据流图表示数据 A 和 B 同时输入变换成 C。 (X )

5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。 6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

(X )

( √)

7. 应该尽量使用机器语言编写代码, 提高程序运行效率,而减少高级语言的使用。 (X)

8.UML只能应用于软件系统模型的建立。 (X)

9.容错就是每个程序采用两种不同的算法编写。 (X)

10.软件测试的目的是为了无一遗漏的找出所有的错误。 (X) 四、名词解释题 (本大题共 5 小题,每小题 3 分,共 15 分 )

31. 软件开发环境 32. 错误推测法 33. 黑盒测试法 34. 软件质量保证 35. 瀑布模型 31 .经济可行性

解:进行开发成本的估算以及了解取得效益的评估, 确定要开发的项目

是否值得投资开发。

[ 解析 ] 对于一个系统所必须要衡量的是经济上是否合算, 经济可行性的

范围很广,包括效益分析、潜在市场前景等。

32 .社会可行性 解:要开发的项目是否存在任何侵犯、 妨碍等责任问题, 要开发项目目

的运行方式在用户组织内是否行得通, 现有管理制度、 人员素质、 操作方式是否可行。

[ 解析 ] 社会可行性包括合同、 责任、侵权等技术人员不甚了解的诸多问 题。

33 .投资回收期

解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时 间。

[ 解析 ] 通常我们用投资回收期来衡量一个开发项目的价值, 投资回收期

越短,就越快获得利润。

34 .对应关系

解:即有直接因果关系在程序中可以同时处理。

[ 解析 ] 对应关系是指数据单元在数据内容上、 数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

35 .结构冲突

解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。 [ 解析 ] 使用 JSP 方法时会遇到此类结构冲突问题,对此, Jackson 提出了

引入中间数据结构或中间文件的办法, 将冲突部分分隔开来, 建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据

改进模 块图的基本原则,画出 1~ 2 个改进方案 (不改变模块 G 的判断关系 ),并说明是按照

哪条基本 原则进行改进的。

解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减

少模块 之间的联系。

40 .请使用 PAD 图和 PDL 语言描述在数组 A(1 )~ A( 10 )中找最大数的算法。

解: PDL 语言: N=1

WHILE N<=10 DO

IF A (N)<=A (N+1 ) MAX =A (N+1 ); ELSE MAX =A (N ) ENDIF; N=N+1;

ENDWHILE; PAD 图:

[ 解析 ] 人工查找时, 是从第一个元素开始查找, 用当前元素与下一个

元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。

41 .根据下列条件使用等价类划分法设计测试用例。

某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其

值的范围是 -177 ~177 ,如 05 , 0127 ,-065

解:( 1)划分等价类并编号,如下表示:( 4 分)

(2 )为合理等价类设计测试用例 , 表中有两个合理等价类 , 设计两个例

子(2 分)

(3 )为不合理等价类测试用例 , 至少设计一个测试用例( 2 分)

[ 解析 ] 等价类划分属于黑盒测试的一种, 它将输入数据域按有效的或

无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测 试,这样用少量有代表性的例子代替大量测试目的相同的例子, 可以有效提高测试效率。本题划分了 3 个合理等价类, 9 个不合理等价类进行测试, 取到了预期的效果。

42 .某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:

生产科的任务是:

(1 )根据销售公司转来的内部合同(产品型号、规格、数量、交获

日期)制定车间月生产计划。

(2 )根据车间实际生产日报表、周报表调整月生产计划

(3 )以月生产计划为以及,制定产品设计(结构、工艺)及产品组装

月计划。

( 4 )将产品的组装计划传达到各科,将组装月计划分解为周计划,下

达给车间

技术科的任务是:

( 1 )根据生产科转来的组装计划进行产品结构设计,产生产品装配

图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

( 2 )根据组装计划进行产品工艺设计,根据产品自制物料清单产生

工艺流程图给零件厂。 试写出以上系统中生产科和技术科处理的软件结构图。

解:

画出生产科图的给 6 分,画出技术科的给 4 分。

[ 解析 ] 软件结构图是软件系统的模块层次结构,反映了整个系统的功能实

现,即将来程序的控制层次体系, 软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系, 根据题意,可绘制出生产科和技术科的软件结构图, 其中生产科的结构图深度和宽度均为 4,技术科的结构图的深度和宽度均为 3 。

软件工程期末试卷(七)

一、判断题(每题

2 分,共 30 分)

1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)

2.数据字典是对数据流图中的数据流

,加工、数据存储 、数据的源和终点进行详细定义

。(错)

3.JAVA 语言编译器是一个

CASE 工具。(对)。

4.软件是指用程序设计语言(如 际上就是编写程序代码。(错)

PASCAL ,C,VISUAL BASIC

等)编写的程序,软件开发实

5.软件模块之间的耦合性越弱越发。(对) 6.数据库设计说明书是一个软件配置项(对)

7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(错)

8.过程描述语言可以用于描述软件的系统结构。(错)

9.如果通过软件测试没有发现错误,则说明软件是正确的。(错) 10.快速原型模型可以有效地适应用户需求的动态变化。(对)

11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(对)

12.集成测试主要由用户来完成。(错)

13.确认测试计划应该在可行性研究阶段制定(错)

14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错) 15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)

二。单选题(每题

2 分,共 20 分)

1.瀑布模型的关键不足在于( 2)

(1)过于简单( 2)不能适应需求的动态变更(

3)过于灵活( 4)各个阶段需要进行评审

2.在面向对象软件开发方法中,类与类之间主要有以下结构关系( 1)

(1)继承和聚集( 2)继承和一般( 3)聚集和消息传递( 4)继承和方法调用 3.以下哪一项不是软件危机的表现形式

(3)

(1)成本高( 2)生产率低 (3) 技术发展快( 4)质量得不到保证

4.以下哪一项不是面向对象的特征( 4)

(1)多态性( 2)继承性( 3)封装性( 4)过程调用 5.面向对象模型主要由以下哪些模型组成(

1)

( 1)对象模型、动态模型、功能模型 (2) 对象模型、数据模型、功能模型( 3)数据模型、动态模型、功能模型( 4)对象模型、动态模型、数据模型

6.软件可行性研究一般不考虑( 4) ( 1)是否有足够的人员和相关的技术来支持系统开发( 2)是否有足够的工具和相关的技术 来支持系统开发( 3)待开发软件是否有市场、经济上是否合算( 4)待开发的软件是否会有质量问题

7.软件维护的副作用主要有以下哪几种( 3)

( 1)编码副作用、数据副作用、测试副作用 ( 2)编码副作用、数据副作用、调试副作用 ( 3) 编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用 8.软件项目计划一般不包括以下哪项内容( 4)

(1)培训计划( 2)人员安排( 3)进度安排( 4)软件开发标准的选择和制定 9.以下哪一项不属于面向对象的软件开发方法( 3) ( 1)coad 方法 (2)booch 方法 (3)jackson 方法 (4)omt 方法

10.以下哪种测试方法不属于白盒测试技术( (1)基本路径测试( 2)边界值分析测试(

2)

3)循环覆盖测试( 4)逻辑覆盖测试

三。简答题(每题

5 分,共 25 分)

1.分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有:

( 1)软件日益复杂和庞大( 2)软件开发管理困难和复杂( 3)软件开发技术落后( 4)生产方式落后( 5)开发工具落后( 6)软件开发费用不断增加 1 个要点 1 分,只要答上

5 个要点得 5 分!

2.说明结构化程序设计的主要思想是什么?

答:( 1)自顶向下、逐步求精的程序设计方法( 2 分)( 2)使用 3 种基本控制结构、单入口、单出口来构造程序。( 3 分)

3.软件测试包括哪些步骤?说明这些步骤的测试对象是什么? 答:( 1)单元测试,测试对象对单元模块( 2 分)( 2)集成测试,测试对象为组装后的程 序模块( 2 分)( 3)确认测试,测试对象为可运行的目标软件系统( 1 分) 4.需求 分析与软件设计二个阶段任务的主要区别是什么?

2.5 分) 答:需求分析定义软件的用户需求,即定义待开发软件能做什么(

2.5 分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。( 5.说明软件测试和调试的目的有何区别?

答:测试的目的是判断和发现软件是否有错误( 正错误。( 2.5 分)

2。 5 分)调试的目的是定位软件错误并纠

软件工程期末试卷(八)

选择

1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做

A. 软件工程 C. 软件危机

2.研究开发所需要的成本和资源是属于可行性研究中的

A. 技术可行性 C. 社会可行性

(C)

B. 软件周期 D. 软件产生

(B) 研究的一方面。

B. 经济可行性 D. 法律可行性

3. 下列属于用白盒技术设计测试用例的是(

B)

A .错误推测

B.逻辑覆盖

C.等价类划分

4.模块的内聚性最高的是 ( D)

A. 逻辑内聚 C. 偶然内聚

D.因果图

B. 时间内聚 D. 功能内聚

5.在 SD 方法中全面指导模块划分的最重要的原则是

A. 程序模块化 C. 模块低耦合

6.软件详细设计主要采用的方法是

(D)

B. 模块高内聚 D. 模块性

(D)

A. 模块设计 C.PDL 语言

B. 结构化设计

D. 结构化程序设计

7. 根据对软件开发机构调查的结果可知,各类维护活动所占的比重是( A .完善性占 50%,适应性占 B.完善性占 25%,适应性占 C.完善性占 21%,适应性占 D.完善性占 21%,适应性占

A. Pascal C. Fortran

A )

25%,校正性占 21%,其他维护占 4% 50%,校正性占 21%,其他维护占 4% 25%,校正性占 50%,其他维护占 4% 50%,校正性占 25%,其他维护占 4%

(D)

8.不适合作为科学工程计算的语言是

B. C D. Prolog

9.黑盒测试在设计测试用例时,主要需要研究(A)

A. 需求规格说明与概要设计说明 C. 项目开发计划

B. 详细设计说明

D. 概要设计说明与详细设计说明

X ,其范围是[ -1.0, 1.0],现从输入的 B. 等价分类法 D. 错误推测法

10.若有一个计算类型的程序,它的输入量只有一个

A. 条件覆盖法 C. 边界值分析法

11.下列属于维护阶段的文档是

A. 软件规格说明 C. 软件问题报告

A. 开发完毕才见到产品

角度考虑一组测试用例: -1.001,-1.0, 1.0, 1.001。设计这组测试用例的方法是 (C)

(B)

B. 用户操作手册 D. 软件测试分析报告

(B)

12.快速原型模型的主要特点之一是

B. 及早提供全部完整的软件产品

D.及早提供工作软件

C. 开发完毕后才见到工作软件

13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为

A. 教正性维护 C. 完善性维护

B.适应性维护 D.预防性维护

(B)

14. 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,

实现一个软件系统的方法和过程, 面向对象方法有许多特征,如软件系统是由对象组成的;(

分析、设计和

因此

尽可能接近于人类认识世界解决问题的方法和过程。

A);对象彼此之间仅能通过传

递消息互相联系;层次结构的继承。

A.开发过程基于功能分析和功能分解 B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整

15. 在软件详细设计过程中不 .采用的工具为( A ) A .判定表 B. PDL C.数据流图

D. IPO 图

16. 两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为( A .控制耦合 B.公共耦合 C.标记耦合

D.数据耦合

17. 软件需求不.应包括( B)

A .功能要求

B.环境需求

C.标准实现的空间需求

D.用户界面要求

18.下列文档与维护人员有关的有

(D)

A. 软件需求说明书 B.项目开发计划 C. 概要设计说明书

D.操作手册

19.采用 Gantt 图表示软件项目进度安排,下列说法中正确的是

(D)

A. 能够反映多个任务之间的复杂关系 B. 能够直观表示任务之间相互依赖制约关系 C. 能够表示哪些任务是关键任务

D. 能够表示子任务之间的并行和串行关系 1、软件的特点包括(

A )。

E. 软件具有抽象性

F. 在软件的运行和使用期间,也存在类似硬件的老化问题 G. 软件的开发与维护对硬件存在依赖性 H. 软件的开发费用在逐渐下降 2.

需求分析的基本原则包括( A )。

3. 软件测试主要包括( C)方面的差错和纠错。 A. 软件计划

C)

B. 软件设计 C. 软件编码 D. 软件价格 4.

下列描述正确的是( C)。

A

B C D

m n

t

A. 该结构的深度为 B. 该结构的宽度为

4 4

C. 模块 A 的扇出为 3 D. 模块 t 的扇入为 3

5.

耦合的强弱取决于( A)。 A . 模块间接口的复杂程度 B. 调用模块的方式 C. 通过接口的信息

D. 模块内部各个元素彼此之间的紧密结合程度

填空 1. 2.

软件工程是从( 软件开发技术 )和( 软件工程

)两个方面研究如何运用工程学的

基本原理和方法来更好地开发和维护计算机软件的一门学科。

数据流图的基本符号包括(箭头 )、(圆或椭圆)、(双杠)、(方框)。

)。

3. 现在存入银行 P 元,年利率为 i, n 年后可得钱数为( p*(1+n*j)

可移植性)。 4. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的(

5. 在软件的详细设计中, 根据控制流程从上到下, 从左到右展开的设计工具是 ( _PDL 图)。 6. 7. 8. 9.

一个模块拥有的直属下级模块的个数称为 ( 桩模块),一个模块的直接上级模块的个数称为(驱动模块) 。

大型软件测试包括(单元测试) 、(集成测试)、确认测试和(驱动测试 UML 的定义包括( UML 语义)和( UML 标志法)两个部分。 详细设计的工具有(图形) 、(表格)和语言工具。

,另一类是(容错

)四个步骤。

10. 提高软件质量和可靠性的技术大致可分为两类,一类是(避开技术)

技术)。

11. 白盒法包括多种具体设计程序测试用例的方法,主要目的是提高测试的(效率) 简答

1. 软件就是程序。 (F)

2. 信息隐蔽是指模块中所包括的信息不允许其它不需要这些信息的模块调用。

( F)

3. 性能测试是为了检验系统的能力最高能达到什么实际的限度,让系统处于资源的异常数

量、异常频率、异常批量的条件下运行测试系统的承受能力。 5. 简述需求分析方法应遵循的基本原则?

答: 1.必须能够表达和理解问题的数据域和功能域。 行分解并可逐层细化。

3.建模

6. 模块间的耦合性包括哪些类型?按强弱排列。

答:耦合有以下几种,他们之间的耦合度由高到低排列:

1.内容耦合:如一个功能模块直接访问另一个功能模块的内容,则这两个功能模块称为内 容耦合。 2.公共耦合:如一个功能模块都访问统一全局数据结构,则称之为公共耦合。 部耦合:如一个功能模块都访问统一全局数据项,则称之为外部耦合。 功能模块明显的把开关量、 名字等信息送入另一个功能模块, 能模块都需某一数据的子结构时, 录信息,这样的耦合称为标记耦合。

3.外

4.控制耦合:如一个

2.可以把一个复杂的问题按功能进

( F)

( F)

4. 用户需求经常是变化的,因为软件是灵活的,所以总可以满足用户的需求。

控制另一功能模块的功能, 则

并通过参数表来传递记

7.非直接耦合:

称为控制耦合。 5.标记耦合:如一个功能模块共享了某个记录,而不是简单变量,即这些功

就需要按该记录的结构进行操作,

6.数据耦合:如一个功能模块访问另一功能模块,被访

则这两个功能模块为数据耦合。

问的功能模块的输入和输出都是数据项参数,

若两个功能模块没有直接关系,他们之间的联系完全是通过主程序的控制和调用来实现的, 便称这两个功能模块为非直接耦合,性最强。 7. 什么是黑盒测试法?

答:黑盒测试法又称功能测试或数据驱动测试,

该方法把被测试对象看成一个不透明的黑盒

只在程序的接口处进行测试,

依据需求

子。测试人员完全不考虑程序内部结构和处理过程, 8. CMM 模型包括哪些等级?

答: 1.初始级 2.可重复级 3.已定义级 4.已管理级

说明书,检查程序是否满足功能要求,是否能很好的接受数据,并产生正确的输出。

5.优化级

软件工程期末试卷(九)

软件工程期末试卷 (A)

说明:本试卷为 04 级计算机专业(专升本)软件工程期末试卷,总计 100 分,时间 100 分钟

一、选择题:(每题 1 分,共 20 分)(将答案写在题号前的()中)

( C

) 1. 软件是( )。

A. 处理对象和处理规则的描述 C. 程序及其文档

B. 程序

D. 计算机系统

)。

( B

) 2. 软件需求规格说明的内容不应包括(

A. 主要功能

B. 算法的详细描述 D. 软件的性能

)。

B. 顺序、选择和重复 D. 调用、返回和转移

(

C. 用户界面及运行环境

) 3. 程序的三种基本控制结构是(

( B

A. 过程、子程序和分程序 C. 递归、迭代和回溯

( D

) 4. 面向对象的分析方法主要是建立三类模型,即

A) 系统模型、 ER 模型、应用模型

B) 对象模型、动态模型、应用模型 C) E -R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型

)。

( C ) 5. 在 E-R 模型中,包含以下基本成分

A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作

( )。

( (

A ) 6. 各种软件维护的类型中最重要的是

A) 完善性维护

B) 纠错性维护

)。

(

)。

C) 适应性维护 D) 预防性维护

B ) 7.软件测试的目标是(

A. 证明软件是正确的

B. 发现错误、降低错误带来的风险

( D ( C

C. 排除软件中所有的错误 D. 与软件调试相同

) 8.软件生命周期中所花费用最多的阶段是( )

A.详细设计

B .软件编码

C .软件测试

D

.软件维护

)9.若有一个计算类型的程序,它的输入量只有一个

A.条件覆盖法

B .等价分类法

调用关系

C.

X ,其范围是 [-1.0, 1.0] ,现从

D .错误推测法

设计

输入的角度考虑一组测试用例: ( D

-1.001, -1.0, 1.0, 1.001. 设计这组测试用例的方法是

C .边界值分析法

(

)

输入输出数据

) 10、详细设计的基本任务是确定每个模块的

A.功能

B.

D. 算法

( A )11.设函数 C( X)定义问题 X 的复杂程序,函数 E( X)确定解决问题 X 需要的工作量

(时间) 。对于两个问题 P1 和 P2,如果 C( P1) >C(P2)显然 E( P1)>E( P2), 则得 出结论 E(P1+P2) >E( P1) +E( P2)就是:(

A .模块化的根据

部化的根据

B.逐步求精的根据

C.抽象的根据

D .信息隐藏和局

( D

) 12.下面几种白箱测试技术,哪种是最强的覆盖准则

( )

A .语句覆盖 B.条件覆盖

( C.判定覆盖

D.条件组合覆盖

A

) 13.面向数据流的设计方法把(

)映射成软件结构。

B.系统结构

A .数据流

A ) 14. 内聚程度最低的是 ( ) 内聚

C.控制结构

D.信息流

( A. 偶然

B.

过程

C.

顺序

D. 时间

( A

) 15. 确定测试计划是在 ()

阶段制定的 .

DA.总体设计

B.

详细设计

C. 编码

D.

测试

) 16.需求分析的产品是( )

A (

.数据流程图案

B .数据字典 C.判定表

D

.需求规格说明书

C

)17.数据字典是软件需求分析阶段的最重要工具之一,

其最基本的功能是 (

A .数据库设计 B.数据通信 C.数据定义 D .数据维护 ( D

)18.(

)引入了“风险驱动”的思想,适用于大规模的内部开发项目。

A

.增量模型 B .喷泉模型 C.原型模型

D .螺旋模型

D

) 19.模块的内聚性最高的是(

A .逻辑内聚 B.时间内聚

C.偶然内聚

D .功能内聚

( D )20.提高测试的有效性非常重要

,成功的测试是指 (

)

A. 证明了被测试程序正确无误 B. 说明了被测试程序符合相应的要求

C.未发现被测程序的错误

D.发现了至今为止尚未发现的错误

二.判断题(每题 1 分,共 10 分)将答案写在题号前的( )中,正确用√,错误用 χ 。

( ×

) 1、开发软件就是编写程序。

( × )2、系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试

及可靠性等 测试。

× ) 3、编程序时应尽可能利用硬件特点以提高程序效率

.

( × ) 4、软件需求分析的任务是建立软件模块结构图。 ( √ ) 5、尽可能使用高级语言编写程序

( × ) 6、以结构化分析方法建立的系统模型就是数据流图。 ( × ) 7、进行总体设计时加强模块间的联系。

( × ) 8、编码时尽量多用全局变量 .

( √ ) 9、用 CASE环境或程序自动生成工具来自动生成一部分程序

.

( ×

) 10、软件测试是要发现软件中的所有错误。

三、填空题(每题 1 分,共 5 分):将结果填在(

1、将下面的关系按继承关系、聚集关系或普通关联进行分类。

小汽车 --------- 红旗轿车 ( 继承 ) 小汽车 --------- 驾驶员 ( 普通关联 )

班级 ------------ 学生

聚集

2、将下列各项分为类或类的实例

我的汽车 ( 实例 ) 交通工具

三、简答题:(每题 5 分,共 25 分)

1. 软件生命期各阶段的任务是什么?

答:软件生命期分为 7 个阶段:

1、问题定义:要解决的问题是什么

2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么

4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试

7、运行维护:保证软件正常运行。 2、软件重用的效益是什么?

答: 1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

3、 自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答:

① 自顶而下渐增测试

优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:需要存根程序,底层错误发现较晚。 ② 自底而上渐增测试

优点与缺点和自顶而下渐增测试相反。 4 、 提高可维护性的方法有哪些?

答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前的审查和复审中,应着重对可维护性进行复审。

在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。

在软件设计的复审中,因从便于修改、模块化和功能的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。

在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。

在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。

为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件 ,同时也在大力发展软件重用技术。

简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。

【解答】

测试过程按 4 个步骤进行,即单元测试(模块测试) 、集成测试 (子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试, 与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来, 主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,

以及

软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,

测试。与其相关的文档:用户指南、使用手册等。

与其他系统成份组合在一起进行

四、应用题(每题 8 分,共 40 分)

1、 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需

要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的 CRT 终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。要求:画出系统的数据流图。

答:

2、 将下面给出的伪码转换为

N-S 图和 PAD 图。

void root ( float root1, float root2 ) {

i = 1 ; j = 0 ; while ( i <= 10 ) {

输入一元二次方程的系数 p = b*b –4*a*c ;

if ( p < 0 ) 输出“方程 i 无实数根” ; else if ( p > 0 ) 求出根并输出 ; if ( p == 0 ) {

求出重根并输出 ; j = j + 1 ;

a, b, c;

}

i = i +1 ; }

输出重根的方程的个数 }

j ;

【解答】

( 1)N-S 图

i = 1; j = 0;

while ( i <= 10 )

2

输入 a, b, c; 计算 p = b - 4ac;

F p < 0 ?

T

p > 0 ?

求出根并输出

T

输出“方程 i ” F 无实根

T

F

p == 0 ?

求出重根并输出 ; j = j + 1;

i = i + 1;

输出重根的方程个数

i

( 2)PAD 图

i = 1; j = 0;

输入 a,b,c; 计算 p = b2–4ac;

求出根并输出

p > 0 ?

while ( i <= 10 )

p < 0 ?

输出方程 i 无实根

求出重根并输出 ; j = j+1;

p = 0 ?

输出重根的方程个数

i

i = i + 1;

3、 :输入三整数 ,判断是否构成三角形 ,如构成三角形三角形 ”. 要求 :1.用程序流程图表示该问题的算法;

测试用例。

,则输出三条边的值2.计算程序复杂度;

,否则输出 ”不能构成3.设计路径覆盖的

答:

开始

输入 A,B,C ①

F

A+B>C

T

A+C>B

F

T

B+C>A

F

输出 ABC

T ⑤

不能构成三角形

结束

路径:

1 2 3 4

.①—②—③—④—⑥—⑦ .①—②—⑤—⑥—⑦ .①—⑤—⑥—⑦

Ⅰ ② Ⅱ ③⑤ ④Ⅲ

.①—②—③—⑤—⑥—⑦

⑥ ⑦

程序复杂度 =3+1=4

测试用例

结果

路径 1 2 3 4

测试用例( A, B, C)

A=3,B=4,C=5 A=5,B=8,C=2 A=2,B=2,C=5 A=5,B=2,C=2

A=3,B=4,C=5 不能构成三角形 不能构成三角形 不能构成三角形

4、某航空公司规定, 乘客可以免费托运重量不超过

30kg 的行李。 当行李重量超过 30kg 时,

4 元,对其他舱的国内乘客超重部分每公斤收费

对残疾乘客超重部分每公斤收费比

6

对头等舱的国内乘客超重部分每公斤收费

元,对外国乘客超重部分每公斤收费比国内乘客多一倍, 答案 :

正常乘客少一半。用判定树表示与上述每种条件组合相对应的计算行李费的算法 .

5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件

产品, 每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理, 工作人员和开发人员。 开发部门有经理和开发人员, 管理部门有经理和工作人员。 目,每个开发项目需要多个开发人员, 型。 答案:

软件公司

每个开发人员可参加多个开发项

建立该公司的对象模

每位经理可主持多个开发项目,

部门名

1+

部门

软件产品

1+ 开发

开发部门

管理部门

1+ 员工

有 ▼

1+

开发人员

1+

▼ 有

▼▼ 有 经理

工作人员 是

参加 1+ 开发项目

1+

(十)软件工程专项训练

选择

① 软件生命周期中所花费用最多的阶段是(

D)

A. 详细设计 B.软件编码 C.软件测试 D.软件维护

②可行性分析是在系统开发的早期所做的一项重要的论证工作,

它是决定该系统是否开发

的决策依据,因必须给出(

B)的回答。

A.确定 B.行或不行 C.正确 D.无二义 ③下列关于瀑布模型的描述正确的是(

C)。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理

实现分开。

D. 利用瀑布模型,如果发现问题则修改的代价很低。 ④ 详细设计的结果基本决定了最终程序的(

C)

A.代码的规模 B.运行速度 C.质量 D.可维护性

⑤ 结构化程序设计主要强调的是(

D)

A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 序易读性

D. 程

⑥ 程序的三种基本控制结构是(

B)

A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈 和队列 D.调用、返回和转移

⑦ 确认软件的功能是否与需求规格说明书中所要求的功能相符

的测试属于( C)

A、集成测试 B、恢复测试 C、验收测试 D、单元测试

⑧ 面向对象技术中, 对象是类的实例。 对象有三种成份: ( A)、属性和方法 ( 或操作 ) 。

A. 标识 B.规则 C. 封装 D. 消息

⑨ 下面关于面向对象方法中消息的叙述,不正确的是(

B)。A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消 息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作

系统发送消息

C. 应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同

⑩ 面向对象程序设计中的数据隐藏指的是(

D)。

A. 输入数据必须输入保密口令 B.数据经过加密处理

C. 对象内部数据结构上建有防火墙

D.对象内部数据结构的不可访问性

答案:① D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D

1. 程序设计属于软件开发过程( C)阶段。

A、设计 B、编程 C、实现 D、编码

2. 结构设计是一种应用最广泛的系统设计方法,是以(

A)为基

础、自顶向下、逐步求精

和模块化的过程。

A、数据流 B、数据流图 C、数据库 D、数据结构

3. 结构化程序设计主要强调程序的(

C )。

A、效率 B、速度 C、可读性 D、大小

4. 分析员是( B )

A、户中系统的直接使用者 B、用户和软件人员的中间人

C、软件的编程人员 D、用户和软件人员的领导

5. 程序的三种基本控制结构的共同特点是(D )。

A、不能嵌套使用 B、只能用来写简单的程序

C、已经用硬件实现 D、只有一个入口和一个出口

6. 软件生产过程中,需求信息由( D )给出。

A、程序员 B、项目管理者 C、软件分析设计人员 D、软件用户 7. 与设计测试数据无关的文档是( D )。

A、需求说明书 B、设计说明书 C、源程序 D、项目开发设计

8. 结构化分析 SA 方法以数据流图、( B )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。

A、DFD 图B、数据字典 C、IPO 图D、 PAD 图

9. 面向数据流的软件设计方法, 一般是把数据流图中数据流划分为( B),再将数据流图映射为软件结构。

A、数据流和事务流 B、交换流和事务流 C、信息流和控制流 D、交换流和数据流 10. 总体设计的结果是提供一份( A)。

A、模块说明书 B、框图 C、程序 D、数据结构

答案:1.C 2.A 3.C 4.B 5.D 6.D 7.D 8.B 9.

B 10.A

1. 软件是( C )。 A. 处理对象和处理规则的描述 B.

程序

C.

程序及其文档 D. 计算机系统

2. 软件需求规格说明的内容不应包括( B )。 A. 主要功能 B.

算法的详细描述

C. 用户界面及运行环境 D. 软件的性能

3. 程序的三种基本控制结构是( B )。

A. 过程、子程序和分程序

B. 顺序、选择和重复

C. 递归、迭代和回溯 D. 调用、返回和转移

4. 面向对象的分析方法主要是建立三类模型,即( D) A) 系统模型、 ER 模型、应用模型 B) 对象模型、动态模型、应用模型

C) E- R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型

5. 在E-R 模型中,包含以下基本成分 ( C) 。

A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作

6. 各种软件维护的类型中最重要的是 (A ) 。

A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护

7.软件测试的目标是( B )。

A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误

D.

与软件调试相同

D )

8.软件生命周期中所花费用最多的阶段是(

A.详细设计 B.软件编码 C.软件测试 D.软件维护

9.若有一个计算类型的程序,它的输入量只有一个 X,其范围是

[-1.0, 1.0]

,现从

输入的角度考虑一组测试用例:

-1.001, -1.0, 1.0, 1.001.

计这组测试用例的方法是(

C)

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的

( D) 设计

A.功能 B. 调用关系 C. 输入输出数据 D.算法

11.设函数 C( X)定义问题 X 的复杂程序,函数 E( X)确定解决

问题 X 需要的工

作量(时间)。对于两个问题 P1 和 P2,如果 C(P1)>C( P2)显

然 E(P1)>E(P2), 则得

出结论 E( P1+P2)>E( P1) +E(P2)就是:( A )

A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏

和局部化的根据

12.下面几种白箱测试技术,哪种是最强的覆盖准则( A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖 13.面向数据流的设计方法把( A )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流

D )

14. 内聚程度最低的是 (A ) 内聚

A. 偶然 B. 过程 C.顺序 D. 时间

15. 确定测试计划是在 ( A) 阶段制定的 . A.总体设计 B. 详细设计 C.编码 D.测试

16.需求分析的产品是( D )

A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书 17.数据字典是软件需求分析阶段的最重要工具之一, 的功能是( C )

其最基本

A.数据库设计 B.数据通信 C.数据定义 D.数据维护

18.(D ) 引入了“风险驱动”的思想,适用于大规模的内部开发 项目。

A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型

19.模块的内聚性最高的是( D )

A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚

20. 提高测试的有效性非常重要 , 成功的测试是指 (D )

A. 证明了被测试程序正确无误 B. 说明了被测试程序符合相应的 要求

C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误 __

答案:1.C 2.B 3.B 4.

D 5.C 6.A 7.B 8.D 9.C 10.D

11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D

1. 软件危机的事实使人们意识到:计算机要推广使用,其关键在于

_________ 技术的革新。

您的答案为:

;正确答案为: 软件开发

2. 所谓“用户要求”是指软机系统必须满足的

_________ 和。

您的答案为:

;正确答案为: 所有性质

3. 软件工程技术中,控制复杂性的两个基本手段是“分解”和

_________ 。

您的答案为:

;正确答案为: 抽象

4. Jackson 法的设计原则是:是程序结构同

_________ 相对应。

您的答案为:

;正确答案为: 数据结构

5. 编程的目标是编写出逻辑上正确又易于

_________ 的程序。

您的答案为:

;正确答案为: 易于阅读(和易于维护)

6. 检验是软件开发过程中不可缺少的部分,检验的目的在于

_________ 。

您的答案为: ;正确答案为: 发现错误并及时纠正

7. 在联合测试时, 采用先测试每一模块,

然后在连到一起运行, 这种方式称为 _________ 联调。

您的答案为:

;正确答案为: 非渐增式

8. 适合于作为概念性数据模型的所谓第二代数据模型是

_________ 。

您的答案为:

;正确答案为: ER 模型 ( 概念数据模型 )

9. 面向对象的开发,最大的优点是帮助分析者、设计者及用户清楚地表述

_________ ,便于互相进

行交流通讯。 您的答案为:

;正确答案为: 抽象概念

10. 程序评价和测试系统

PET的主要功能是支持对 FORTRAN程序采用白盒法测试,可以监视测试的

_________ 。 您的答案为:

;正确答案为: 实际覆盖程度

补充日期 : 2003-10-30 11:11:11

选择:

1. 软件规模可按源程序行数的多少进行分类,所谓大型软件,通常是指源程序行数为

A.5 ~ 50K 您的答案为:

B. 50 ~100K

C.1M

D.1 ~ 10M

( )

;正确答案为: B

2. 在软件生命期中,占工作量比例最大的是

A.可行性研究 您的答案为:

( )

C .编写程序

B .建立系统的结构 ;正确答案为: D

D .维护

3. 用 SA方法获得的需求说明书有四部分,用于描述系统由那些部分组成、各部分间有何联系等,

是在()

A.一套分层的数据流图 您的答案为:

B .一本数据词典

C .一组小说明

D .补充材料

;正确答案为: A

4. SA方法在描述方式上的特点,是尽量采用

( )

D .表格

A.自然语言 您的答案为:

B .形式语言 C .图形表示

;正确答案为: C

5. 决定软件系统中各个模块的外特性,即其输入输出和功能是

A.需求分析B .概要设计C .详细设计D .编程阶段 您的答案为:

( ) 的任务。

;正确答案为: B

6. 用于概要设计所采用的描述手段是 ( )

A. DFD

B.SC

C .框图 D .数据结构图

您的答案为: ;正确答案为: B

7. 一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于

A.数据型 您的答案为:

B .复合型

C .内容型

D .公共型

( )

;正确答案为: A

( )

8. 在概要设计的设计文档中,对每个模块的描述内容包括

A.功能、界面、输入、输出 能、界面、过程、注释 您的答案为:

B .界面、输入、输出、过程 C .界面、过程、和约束 D .功

;正确答案为: D

9. 根据 SP 方法的要点规定,程序最后要由

( )

审定。

A.专家 B .谁编谁审 C .主程序员

D .资料员

您的答案为:

;正确答案为: C

10. 结构化程序图(

A.控制流 您的答案为:

FC)中的箭头是用于表示 ( )

B .数据流C .数据 / 控制D .调用关系

;正确答案为: A

11. 结构化程序之所以有可能验证其正确性是由于

A.只有三种基本结构 择良好数据结构和算法 您的答案为:

;正确答案为: A

B .有地使用

( )

GOTO语句

C .程序内部有“内部文档” D .选

12. 提高程序可读性的有力手段是

A.选好一种程序设计语言 序加注释 您的答案为:

( )

B.显式说明一切变量

C.使用三种标准控制语句

D.给程

;正确答案为: D

13. 通过对软件的测试,可以证明

A.程序正确性 您的答案为:

( )

B .错误不存在 C .错误存在

D.不含有隐患

;正确答案为: C

14. 某程序功能说明中列出“规定每个运动员参赛项目为

定等价类是 ( ) A.1≤项目数≤ 3 您的答案为:

B.项目数 <1 ;正确答案为: D

1~ 3 项”,应用黑盒法中的等价分类法确

C .项目数 >3

D.以上都是

15. 程序功能说明中指出:由三个输入数据表示一个三角形的三条边长。根据黑盒法中的边缘值分

析法设计测试用例,应选 ( )

A. a=3,b=4,c=5

B. a=1,b=2,c=4

C.上述 A、B 项都应选上

D . a=1,b=2,c=3

您的答案为: ;正确答案为: D

16. 软件维护,可按不同的维护目的而分类,为了适应硬件环境或软件环境的变更对软件作修改是

( )

A.纠正性维护

B .适应性维护

C.完善性维护

B

D .预防性维护

您的答案为: ;正确答案为:

17. 决定软件工程方所有步骤的关键目标是提高软件的

A.可移植性 B.可靠性 C.可维护性

( )

D .效率

您的答案为: ;正确答案为: C

18. 数据库设计全过程中的关键是( )

A.分析用户要求 您的答案为:

B.建立概念性数据模型 ;正确答案为: B

C.逻辑设计

D.物理设计

19. 作为面向对象分析的基础,由问题领域中的对象所组成,用

A.消息模型 您的答案为:

ER 图来描述的是 ( ) D.瀑布模型

B.处理模型 ;正确答案为: B

C.状态模型

20. 在下列软件工具中,可用于支持概要设计的工具是

( )

A. PSL/PSA 系统

您的答案为:

B. SDL/PAD系统

C . AIDES 系统

D. Tektronix

工具箱

;正确答案为:

C

简答

1.

2.

什么软件?软件按功能进行划分,可以划分成哪几类?按工作方式进行分类,可以划分成哪几类?

答:软件是由计算机程序、 程序使用的数据以及说明的各种文档组成。 按功能进行划分可以分为:系统软件、支撑软件、应用软件;按软件工作方式进行分类可以分为:实时 处理软件、分时处理软件、交互式软件和批处理软件。 软件危机产生的原因是什么?答:软件危机的原因: a) b) c) d)

e)

软件不同与硬件,是逻辑部件; 软件规模庞大,逻辑结构复杂;

软件开发人员和管理人员只重视设计程序而轻视用户的需求分析, 的软件产品无法满足用户的需求;

软件设计技术和管理技术落后,没有统一的软件质量管理规范;

在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。

导致最后研制出

3. 简述软件工程的定义。

答:软件工程是用科学知识和技术原理来定义、 开发和维护软件的一门学科。 采用工程的概念、 原理、技术和方法来开发与维护软件, 把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

4. 简述软件生存周期的定义及组成部分。

答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期, 通常把软件经历的这个漫长的时期称为软件生存周期。它包括制定计划(问题定义) 可行性研究、需求分析、总体设计、详细设计、程序编写(编码) 护等。

、综合测试、运行维

5. 可行性研究的目的是什么?可以从哪些方面来考虑软件开发的可行性?

答:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。 要从技术可行性、经济可行性、操作可行性和法律可行性

4 个方面考虑。

6.

面向对象方法学的优点有哪些?答:面向对象方法学的优点:

( 1)多角度模拟客观世界; ( 2)具有较高的稳定性; ( 3)重用性好; ( 4)适合开发大型软件。 7.

需求分析的主要方法是什么?用这种方法进行需求分析的主要步骤有哪些?

答:需求分析的方法有面向数据流的分析方法、 面向数据结构的分析方法、 面向对象分析方法和动态分析方法等,主要采用面向数据流的分析方法。 主要步骤包括: ( 1)分析

数据流图;( 2)用户审查;( 3)细化数据流图;( 4)修订开发计划;( 5)复审开发计划。

8.

细化数据流图需要遵循哪些基本原则? 答:细化数据流图需要遵循的原则有: a)

在分层细化时必须保持数据的连续性,也就是说细化前后对应功能的输入 据必须相同。

b)

把一个功能进一步分解成子功能, 这些子功能必须有的功能, 否则,就不需要再分解了。

/ 输出数

9. 什么是对象?什么是类?什么是消息?

答:现实世界中客观存在的事物都被称为对象。 具有相同或相似性质的对象的抽象被称为类。对象之间进行的通信被称为消息。

10. 什么是对象的封装?主要表现在哪些方面?

答:封装就是把对象包起来, 使外界只能看到对象的接口, 而不能知道对象内部的具体内容。主要表现在: ( 1)有固定的接口; ( 2)保护内部实现 。 11. 简述过程设计语言( PDL)的特点。

答: PDL的特点是:( 1)关键字应有固定语法, 提供了结构化控制结构和语句说明; ( 2)用自然语言叙述系统处理功能, 易于理解;( 3)可以使用变通的语言编辑程序或文字处 理系统,很方便地完成 PDL的书写和编辑工作; ( 4)易于让计算机来处理。 12. 怎样从客户类的角度发现协作?

答:可以通过对客户类提出如下问题来发现协作: a) b) c)

类本身能够履行这个操作吗? 如果不能,那么它需要什么?

它从其他什么类中能够获得所需要的东西?

13. 简述软件质量的定义及在软件开发过程中管理软件质量的办法。

答:软件质量指的是软件产品满足规定的和隐藏的与需求能力有关的全部特征和特性。

管理软件质量的办法: ( 1)每个阶段都必须完成规定的文档, 没有交出合格的文档就是

没有完成该阶段的任务; ( 2)每个阶段结束前都要对所完成的文档、 程序进行评审, 以便尽早发现问题,改正错误。

14. 什么是白盒测试?什么是黑盒测试?

答:白盒测试又称为结构测试, 它的前提条件是可以看成将程序放在一个透明的白盒子中,也就是完全了解了软件系统的结构和整个处理过程。

黑盒测试又称为功能测试, 它把程序看成是一个不透明的黑盒子, 完全不去考虑程序的内部结构和处理过程。

15. 什么是软件维护?软件维护可以分为哪几类?

答:软件维护是指在软件系统已经交付使用之后, 性维护、完善性维护、适应性维护和预见性维护。

16. 简述软件质量三要素及其具体包括的内容。

答:软件质量要素可以分为三类,第一类要素表现软件的运行特征,包括正确性、 性、有效性、安全性和可用性;第二类要素表现软件承受修改的能力,包括可维护性、 灵活性和可测试性; 第三类要素表现软件对新环境的适应程度, 性和可互操作性。

包括可移植性、 可重用

可靠

软件使用人员为了适应新的要求、

足新的需要或为了改正软件中存在的错误而对软件系统进行修改的过程。

可以分为纠错

1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做

A. 软件工程 C. 软件危机 A. 技术可行性 C. 社会可行性

3. 下列属于用白盒技术设计测试用例的是( A .错误推测 C.等价类划分

4.模块的内聚性最高的是 ( D)

A. 逻辑内聚 C. 偶然内聚 A. 程序模块化 C. 模块低耦合

6.软件详细设计主要采用的方法是(D)

A. 模块设计 C.PDL 语言

(C)

B. 软件周期 D. 软件产生

(B) 研究的一方面。

B. 经济可行性 D. 法律可行性

B)

2.研究开发所需要的成本和资源是属于可行性研究中的

B.逻辑覆盖 D.因果图

B. 时间内聚 D. 功能内聚 (D)

B. 模块高内聚 D. 模块性

5.在 SD 方法中全面指导模块划分的最重要的原则是

B. 结构化设计 D. 结构化程序设计

7. 根据对软件开发机构调查的结果可知,各类维护活动所占的比重是( A .完善性占 50%,适应性占 B.完善性占 25%,适应性占

25%,校正性占 21%,其他维护占 4% 50%,校正性占 21%,其他维护占 4%

A )

C.完善性占 21%,适应性占 25%,校正性占 50%,其他维护占 4% D.完善性占 21%,适应性占 50%,校正性占 25%,其他维护占 4% 8.不适合作为科学工程计算的语言是

(D)

A. Pascal C. Fortran

9.黑盒测试在设计测试用例时,主要需要研究

B. C D. Prolog

(A)

B. 详细设计说明

D. 概要设计说明与详细设计说明

A. 需求规格说明与概要设计说明 C. 项目开发计划

10.若有一个计算类型的程序,它的输入量只有一个 角度考虑一组测试用例:

A. 条件覆盖法

C. 边界值分析法

X ,其范围是[ -1.0, 1.0],现从输入的

(C)

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

B. 等价分类法 D. 错误推测法

11.下列属于维护阶段的文档是

(B)

B. 用户操作手册

D. 软件测试分析报告

A. 软件规格说明 C. 软件问题报告

12.快速原型模型的主要特点之一是

A. 开发完毕才见到产品

C. 开发完毕后才见到工作软件

(B)

B. 及早提供全部完整的软件产品

D.及早提供工作软件

13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为

D.预防性维护

(B)

A. 教正性维护 B.适应性维护 C. 完善性维护

14. 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,

实现一个软件系统的方法和过程,

面向对象方法有许多特征,如软件系统是由对象组成的;( 递消息互相联系;层次结构的继承。

A.开发过程基于功能分析和功能分解 B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法

分析、设计和

因此

尽可能接近于人类认识世界解决问题的方法和过程。

A);对象彼此之间仅能通过传

D.对既存类进行调整

15. 在软件详细设计过程中不 .采用的工具为( A .判定表 C.数据流图

A ) B. PDL D. IPO 图

16. 两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为( A .控制耦合 C.标记耦合

17. 软件需求不.应包括( B)

C)

B.公共耦合 D.数据耦合

A .功能要求

B.环境需求

C.标准实现的空间需求

18.下列文档与维护人员有关的有

D.用户界面要求

(D)

A. 软件需求说明书 C. 概要设计说明书

B.项目开发计划 D.操作手册

19.采用 Gantt 图表示软件项目进度安排,下列说法中正确的是

A. 能够反映多个任务之间的复杂关系 B. 能够直观表示任务之间相互依赖制约关系 C. 能够表示哪些任务是关键任务

D. 能够表示子任务之间的并行和串行关系 20.下列模型属于成本估算方法的有 1. 2.

(

)

软件工程是从( 软件开发技术 )和( 软件工程

(D)

)两个方面研究如何运用工程学的

基本原理和方法来更好地开发和维护计算机软件的一门学科。

数据流图的基本符号包括(箭头 )、(圆或椭圆)、(双杠)、(方框)。

)。

3. 现在存入银行 P 元,年利率为 i, n 年后可得钱数为( p*(1+n*j)

可移植性)。 4. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的(

5. 在软件的详细设计中, 根据控制流程从上到下, 从左到右展开的设计工具是 ( _PDL 图)。 6. 7. 8. 9.

一个模块拥有的直属下级模块的个数称为 ( 桩模块),一个模块的直接上级模块的个数称为(驱动模块) 。

大型软件测试包括(单元测试) 、(集成测试)、确认测试和(驱动测试 UML 的定义包括( UML 语义)和( UML 标志法)两个部分。 详细设计的工具有(图形) 、(表格)和语言工具。

,另一类是(容错

)四个步骤。

10. 提高软件质量和可靠性的技术大致可分为两类,一类是(避开技术)

技术)。 12. 设计测试方案中最困难的问题是( 设计基本的测试方案,再用( 1.

软件的特点包括( A )。 A . 软件具有抽象性

B. 在软件的运行和使用期间,也存在类似硬件的老化问题 C. 软件的开发与维护对硬件存在依赖性 D. 软件的开发费用在逐渐下降 2.

需求分析的基本原则包括( A )。

A . 必须能够表达和理解问题的数据域和功能域 B. 自顶向下、逐层分解问题 C. 修正系统开发计划

D. 要给出系统的逻辑视图和物理视图 3.

软件测试主要包括( C)方面的差错和纠错。 A. 软件计划 B. 软件设计 C. 软件编码 D. 软件价格 4.

下列描述正确的是( C)。

A

11. 白盒法包括多种具体设计程序测试用例的方法,主要目的是提高测试的(效率)

),通常的做法是用(

)补充一些方案

结构化分析是面向( _____数据流 __________ )进行需求分析的方法。

B C D

m n

t

A. 该结构的深度为 B. 该结构的宽度为

4 4

C. 模块 A 的扇出为 3 D. 模块 t 的扇入为 3

5.

耦合的强弱取决于( A)。 A . 模块间接口的复杂程度 B. 调用模块的方式 C. 通过接口的信息

D. 模块内部各个元素彼此之间的紧密结合程度

1. 软件就是程序。 (F)

2. 信息隐蔽是指模块中所包括的信息不允许其它不需要这些信息的模块调用。

3. 详细设计不仅要为每个模块确定采用的算法,还应选择某种语言进行代码的编写。

( F)

( F) ( F)

4. 性能测试是为了检验系统的能力最高能达到什么实际的限度,让系统处于资源的异常数

量、异常频率、异常批量的条件下运行测试系统的承受能力。 6. 简述需求分析方法应遵循的基本原则?

答: 1.必须能够表达和理解问题的数据域和功能域。 行分解并可逐层细化。

3.建模

7. 模块间的耦合性包括哪些类型?按强弱排列。

答:耦合有以下几种,他们之间的耦合度由高到低排列:

1.内容耦合:如一个功能模块直接访问另一个功能模块的内容,则这两个功能模块称为内 容耦合。 2.公共耦合:如一个功能模块都访问统一全局数据结构,则称之为公共耦合。 部耦合:如一个功能模块都访问统一全局数据项,则称之为外部耦合。 功能模块明显的把开关量、 名字等信息送入另一个功能模块, 能模块都需某一数据的子结构时, 录信息,这样的耦合称为标记耦合。

3.外

4.控制耦合:如一个

2.可以把一个复杂的问题按功能进

5. 用户需求经常是变化的,因为软件是灵活的,所以总可以满足用户的需求。

控制另一功能模块的功能, 则

并通过参数表来传递记

7.非直接耦合:

称为控制耦合。 5.标记耦合:如一个功能模块共享了某个记录,而不是简单变量,即这些功

就需要按该记录的结构进行操作,

6.数据耦合:如一个功能模块访问另一功能模块,被访

则这两个功能模块为数据耦合。

问的功能模块的输入和输出都是数据项参数,

若两个功能模块没有直接关系,他们之间的联系完全是通过主程序的控制和调用来实现的, 便称这两个功能模块为非直接耦合,性最强。 8. 什么是黑盒测试法?

答:黑盒测试法又称功能测试或数据驱动测试, 子。测试人员完全不考虑程序内部结构和处理过程,

该方法把被测试对象看成一个不透明的黑盒

只在程序的接口处进行测试, 依据需求

说明书,检查程序是否满足功能要求,是否能很好的接受数据,并产生正确的输出。 9. CMM 模型包括哪些等级?

答: 1.初始级 2.可重复级 3.已定义级 4.已管理级 1.请使用 PAD 图和 PDL 语言描述在数组

5.优化级

A( 1)~ A ( 10)中找最大数的算法。

2.有一个处理单价为

5 角钱的饮料的自动售货机软件,其规格说明如下:

( 1)若投入 5 角钱或 1 元钱的硬币,按下饮料的按钮,则相应的饮料就送出来。 ( 2)若售货机没有零钱找, 则一个显示零钱找完的红灯亮,

这时投入 1 元硬币并按下按

钮后,饮料不送出来并且

1 元硬币也退出来;

5 角硬币。

( 3)若有零钱找,则显示零钱找完的红灯灭,在送出饮料的同时退还

试用判定表描述加工逻辑。 (要求用单条件,不允许用复合条件)

3.某培训中心要研制一个计算机管理系统。它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该 课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做 相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:

1.对以上问题画出数据流程图。

2.画出该培训管理的软件结构图的主图。 1.某旅馆的电话服务如下:

可以拨分机号和外线号码。分机号是从

7201 至 7299。外线号码先拨

9,然后是市话号码

或长话号码。长话号码是以区号和市话号码组成。区号是从 市话号码是以局号和分局号组成。局号可以是 局号是任意长度为

4 的数字串。

(即组成 )。

100 到 300 中任意的数字串。

455, 466, 888, 552 中任意一个号码。分

要求:写出在数据字典中,电话号码的数据条目的定义 答:电话号码: [ 分机号 /外线号码 ]

分机号: 7201, 7299

外线号码: 9+[ 市话号码 /长话号码 ] 长话号码:区号 +市话号码 区号: 100, 300

市话号码:局号 +分局号 分局号: 4{0 ,,

9}4

2.某公司为本科以上学历的人重新分配工作,分配原则如下:

1.如果年龄不满 18 岁,学历是本科,男性要求报考研究生,女性则担任行政工作;

2.如果年龄满 18 岁不满 50 岁,学历本科,不分男女,任中层领导职务,学历是硕士不分

男女,任课题组组长;

3.如果年龄满 50 岁,学历本科,男性任科研人员,女性则担任资料员,学历是硕士不分男 女,任课题组组长。

要求:画出分析过程,得出判定表,并进行化简。

3.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做 相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。 要求:

1.对以上问题画出数据流程图。

2.画出该培训管理的软件结构图的主图。

《软件工程》试卷 A

一、名词解释 1、 软件 2、 软件工程 3、 软件测试 4、 软件生存期 5、

二、填空题

1、软件生存周期的六个步骤分别是:

)、(

)、(

)、(

)、(

)。

2、软件生存周期模型主要有(

)、(

)、(

)、

)、(

)。

)、

3、软件工程包括三个要素,分别是( 4、可行性研究主要研究 (

三、选择题

1、软件需求分析阶段的工作,可以分为以下 求分析文档以及 (

A. 总结 A .说明方法 )

B. 阶段性报告

(

B .描述方式

)、(

4 个方面的问题,它们是(

)。

)、( )、( )、(

)。

)、

4个方面:对问题的识别、分析与综合、编写需 C. 需求分析评审 )

D .基本原则

D. 以上答案都不正确

2、各种需求方法都有它们共同适用的

C. 准则

3、开发软件时对提高软件开发人员工作效率至关重要的是

(

)A .程序开发环境 B. 操作系统的资源管理功能 C.程序人员数量 D.计算机的并行处理能力

4、在结构化分析方法中,用以表达系统内数据的运动情况的工具有A. 数据流图

B. 数据词典

C. 结构化英语

四、简答题

1、软件如何进行分类?

2、软件工程项目的基本目标是什么?

《软件工程》试卷

A

一.填空(每小题 2 分,共 20 分)

( ) 。

D. 判定表与判定树

1. 产生软件危机的原因:① ________________②

2. 结构化方法属于一种面向 ________的方法,简单实用,应用广泛。 3. 详细设计的工具有 ________、表格工具和语言工具。

4. 软件测试的方法有 ________________和 ________________,后者又称黑盒法。

5. 详细设计又叫软件算法设计,主要是确定每个软件模块的实现算法。可用程

序流程图描述,或用

描述,或用

描述。

6. 需求分析的基本任务是准确的回答 _____________________。 7. 需求分析应交付的主要文档是 ___________________。 8. 程序流程图、盒图、

、 、 都是完成详细设计的工

具。

9. 软件开发中的 Jackson方法是一种面向 ________的开发方法。 10. 软件测试中,黑盒方法是根据程序的 ________来设计测试用例的方法。

二.判断(每小题 2 分,共 20 分)

1. 在主存储器能容纳得下的前提下,应使模块尽可能大,以减少模块的个数。

2. 为了提高程序的易读性,尽可能使用高级语言编写程序。

3. 只要模块之间的接口关系不变,各模块的内部实现细节的修改不会影响别的

模块。 4. 在进行总体设计时应加强模块间的联系。 5. 模块越多,开发成本越小。

6. 在进行需求分析时需同时考虑维护问题。

7. 重视程序结构的设计,使程序具有较好的层次结构。 8. 尽可能把程序编得短一些。

9. 程序的书写格式应有助于读者阅读与理解。 10. 尽量多使用临时变量 。

三. 选择题 (每小题 2 分,共 20 分)

1. 程序设计属于软件开发过程()阶段。

A、设计 B、编程 C、实现 D、编码

2. 结构设计是一种应用最广泛的系统设计方法,是以(

)为基础、自顶向下、

逐步求精和模块化的过程。 A、数据流 B、数据流图

C、数据库

)。

D、数据结构

3. 结构化程序设计主要强调程序的(

A、效率

B、速度 C、可读性 D、大小

4. 分析员是()

A、户中系统的直接使用者 B、用户和软件人员的中间人

C、软件的编程人员 D、用户和软件人员的领导

5. 程序的三种基本控制结构的共同特点是() 。

A、不能嵌套使用

C、已经用硬件实现

B、只能用来写简单的程序

D、只有一个入口和一个出口

6. 软件生产过程中,需求信息由()给出。

A、程序员 B、项目管理者 C、软件分析设计人员 D、软件用户

7. 与设计测试数据无关的文档是() 。

A、需求说明书

B、设计说明书

C、源程序

D、项目开发设计

8. 结构化分析 SA 方法以数据流图、( )和加工说明等描述工具,即用直观的

图和简洁的语言来描述软系统模型。 A、DFD 图 B、数据字典

C、IPO 图 D、PAD 图

9. 面向数据流的软件设计方法, 一般是把数据流图中数据流划分为 ( ),再将

数据流图映射为软件结构。

A、数据流和事务流B、交换流和事务流 C、信息流和控制流D、交换流和数据流

10. 总体设计的结果是提供一份( )。

A、模块说明书

B、框图

C、程序

D、数据结构

四.简答题 (40 分)

1.简述原型法的基本思想。 .(8 分)

2.什么是软件危机?( 8 分)

3.简述软件测试的步骤,简要说明各测试步骤的目的。( 4.需求分析的任务是什么?( 12 分)

《软件工程》试卷答案

A 卷答案: 一.填空

1、①与软件本身的特点有关;②如软件开发的方法与维护不正确有关。2、数据流 3、图形 4、结构测试

功能测试

5、伪玛,软件设计语言。

6、为了解决这个问题,目标系统必须做什么? 7、软件需求规格说明书

8、 PAD 图、判定表、判定树和 PDL

语言任意写出三种即可。

9、数据结构

分)

12

10、功能 二.判断 三、选择题

1、× 2、√ 3、√ 4、× 5、× 6、√ 7、√

8、× 9、√

10、× 10、 A

1、C 2、 A 3、 C 4、B 5、 D 6、D 7、D 四、 1、简述原型法的基本思想:

8、B 9、B

答:用交互的、 快捷建立起来的原型取代规格说明,用户通过再计算机上运行、使用这个原型系统了解系统的概貌,想开发者提供反馈意见。 2、什么是软件危机?

答:软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

3、 简述软件测试的步骤,简要说明各测试步骤的目的。 答:软件系统的测试基本上由以下几个步骤组成:

模块(单元)测试,目的是保证第个模块作为一个单元能正确执行。 子系统测试, 目的是把经过单元测试的模块放在一起形成一个子系统, 调和通信。

系统测试, 在这个过程中不仅应该发现设计和编码的错误, 说明书中指定的功能,而且系统的动态特性也符合要求。 验收测试,目的是验证系统确实能够满足用户的要求。 4、 需求分析的任务是什么? 答:需求分析的主要任务

第一、正确地确定对系统综合要求,充分理解和表达用户的需求。

也就是详细定义开发软件的功能、性能、外部接口、设计、数据库需求、确定硬件和软 件支持环境、辅助软件以及将来可能提出的要求。 第二、通过结构分析的方法对系统进行分解, 第三、 是对以上已进行的两项工作进行描述,

以确定软件系统的主要成分或软件系统的构成。 以形成需求文档,也就是编制

“需求规格说明

还应该验证系统确实能提供需求

测试模块相互间的协

书”。它应明确地定义要开发软件的需求;系统的构成及有关接口。

第四、 编写用户手册概要,迫使分析员从用户的角度看待软件,及早考虑用户界面工作,此时编写的重点在系统输入和输出。

第五、编写验收计划,作为今后验收测试的依据。

第六、修正可行性研究阶段所制订的软件项目开发计划。

软件工程考试题三

一、 选择题,请从四个可选项中选择正确答案。 ( 60 分,每题 3 分)

1. 软件工程四个层次由下至上是( ),它们的顺序不能互换。

A.质量层、过程层、方法层、工具层 B.过程层、方法层、质量层、工具层 C.方法层、过程层、质量层、工具层 D.方法层、质量层、过程层、工具层 2.

根据软件工程的 7 条基本原理判断下面正确的选项是(

)。

A.软件错误发现的时机不重要,重要的是错误的严重程度 B.软件错误只能通过运行代码才能发现 C.软件错误发现的越早改正的成本越低 D.。需求阶段一般不会引入错误 3. 4. A. ZG

B. GB

C.GN

下列有关标准的符号,属于国内标准的是

D.CB C. 风险分析

经济可行性研究的主要内容包括(

B. 开发工具

(

)

)。

A. 开发过程 D. 效益分析

)定义了用户使用该软件要完成的任务。 5. (

A. 用户需求 B. 业务需求 C. 性能需求 6.

数据流程图上的数据流必须封闭在(

B. 内部数据

D. 功能需求 D.外部实体

)。

)之间。

A. 外部过程

C. 内部过程

7. 按照模块性,耦合程度由强至弱正确的顺序是( A. 外部耦合、控制耦合、数据耦合 B. 控制耦合、数据耦合、外部耦合

8. PDL是描述处理过程 () 。

A. 做什么 B. 为什么做 C. 怎么做 D. 对谁做 9.

面向对象的这种( )模式与人们对客观世界的认识规律相符,从而使得面向对象技 术在软件工程领域中获得了广泛的应用。

B.主体 / 对象

C. 主体/类

A.主体 / 动作 10. ( 成。 A. 类图

D. 对象/ 属性

)是从用户的观点描述系统功能,

它由一组用例、 参与者以及它们之间关系所组

B. 对象图 C. 顺序图 D. 用例图

11. 面向对象分析和设计涉及到三个方面的内容:

)、一系列有效的分析步骤和一个方

便易用的建模工具。

A. 一套完善的建模符号 B. 有效的数据结构 C. 灵活的体系结构

D. 稳定的系统架构

)的任务。 12. 确定角色是( A. 对象模型 B. 用例模型 C. 动态模型 13. 面向对象设计首先要进行高层设计:

D. 交互模型

确定系统的总体结构和风格,

构造系统的 (

),

将系统划分成不同的子系统。

B. 物理模型

A. 逻辑模型 C. 数据模型

D. 用例模型

14. 每个子系统的接口上定义了若干(

供的服务。 A. 操作

),其他子系统只能通过接口享受这个子系统提

B. 数据 C. 属性

D. 命令 )语言。

C. 汇编语言

15. 科学计算领域一般不选择(

B.C/C ++ A.FORTRAN

D.PASCAL

16. 对于嵌套的循环和分支程序,层次不要超过( )层。

A.1 B.2

C.3

D.5

17. 软件中遗留的错误数量与已经发现的错误数量成(

)。

A. 反比

B. 正比

C. 相等

D. 没关系

18. 黑盒测试在设计测试用例时,主要研究(

)。 A. 需求规格说明 B. 详细设计说明 C. 项目开发计划 D.概要设计说明与详细设计说明

19. 通常软件的可维护性常常随着时间的推移而( )。

A. 降低 B. 提高 C. 不变 D. 不确定

20. 通俗的说,软件项目管理中常说的基线是( )。

A. 管理的基本思路 B. 通过正式复审的文档。 C.基本的技术路线

D.一种软件开发的基本策略

二、

简答题( 30 分,每小题

6 分)

1.

什么是软件工程?请分析软件工程的目标是什么 ?

2.

请简单说明结构化分析的主要步骤。

3、 QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为主和群普通成员、群管理员,请用类的继承关系描述 QQ用户群。

3. 请简单分析顺序图和活动图的区别。

4. 提高程序可读性有哪些招数?对你来讲比较灵验的是哪些

三、

应用题( 10 分)

根据下面程序代码,画出程序流程图,然后设计满足条件组合覆盖的测试用例。

BEGIN

T:=0

IF ( X>=80 AND Y>=80 )THEN

T:=1

ELSE IF ( X>=90 AND Y>=75 ) THEN

T:=2

ENDIF

END.

软件工程考试题三答案

一、 选择题,请从四个可选项中选择正确答案。

( 60 分,每题

3 分)

ACBDADACA DABBCDBAAB

二、 简答题( 30 分,每小题 6 分)

1. 答案:软件工程是:① 将系统化的、规范的、可度量的方法应用于软件的开发、运行和

维护过程,也就是说将工程化应用于软件开发和管理之中;② 对①中所选方法的研究”

软件工程旨在开发满足用户需要、

及时交付、 不超过预算和无故障的软件, 其主要目标

如下:

A ) 实现预期的软件功能,达到较好的软件性能,满足用户的需求。

B) 增强软件过程的可见性和可控性,保证软件的质量。

C) 提高所开发软件的可维护性,降低维护费用。

D) 提高软件开发生产率,及时交付使用。

E) 合理预算开发成本,付出较低的开发费用。

2. 答案:

根据用户的需求画出初始的数据流程图,写出数据字典和初始的加工处理说明

(IPO

图) ,实体关系图。以初始数据流程图为基础,从数据流程图的输出端开始回溯。在对数据

流程图进行回溯的过程中可能会发现丢失的处理和数据,

应将数据流程图补充完善。 对软件

性能指标、 接口定义、 设计和实现的约束条件等逐一进行分析。

系统分析人员与用户一起对

需求分析的结果进行复查。 根据细化的需求修订开发计划。

编写需求规格说明书和初始的用

户手册,测试人员开始编写功能测试用的测试数据。

3. QQ软件的用户分为游客和登陆会员,登陆会员分为群成员和非群成员,群成员分为

主和群普通成员、群管理员,请用类的继承关系描述 答案:

用户

QQ用户群。

登录会员

游客

群会员

非群会员

群主

群普通会员 群管理员

4. 答案:

活动图反映系统中从一个活动到另一个活动的流程,

别适合描述工作流和并行处理过程。

强调对象间的控制流程。 活动图特

具体地说活动图可以描述一个操作过程中需要完成的活

以及这些动作如何影响它们

动;描述一个对象内部的工作; 描述如何执行一组相关的动作,

周围的对象;说明一个业务活动中角色、工作流、组织和对象是如何工作的。

顺序图用于描述一组交互对象间的交互方式,

它表示完成某项行为的对象和这些对象之

间传递消息的时间顺序。

5. 答案:

a)

源程序文件头说明, 函数应有函数头说明,内容包括:程序标题; 有关该模块功能和目的说明;主要算法说明;接口说明,包括调用形式、参数描述、子程序清单、

有关数据的说明。

b) c) d) e) f)

主要变量(结构、联合、类或对象)的定义能够反映其内在含义。 变量定义最规范化,说明的先后次序固定。

处理过程的每个阶段和典型算法前都有相关注释说明。 用缩进来显示程序的逻辑结构。

嵌套的循环和分支程序层次不要超过五层。

三、应用题 (10 分)

答案:

开始

T=0

Y

X ≥80AND y ≥80

N

T=1

X≥90 AND y ≥75

Y

N

T=2

结束

经化简后的测试用例:

x=95 y=95;x=95,y=70;x=70,y=95;x=70,y=70;

软件工程》期末考试样题及答案 一,填空题

1. 软件开发模型有

, , 技术模型 , ,构件组装模型 ,混合模型 .

可行性 , 可行性 ,运行可行性 ,法律可行性和开发可行性等方面来研究.

2. 可行性研究一般可以从

3. 现在向银行存款 ,年利率为 i,若希望在 n 年后从银行得到 F 元 ,现在应该存入的钱数为 . 4. 数据流图的基本符号包括

,,,.

5.Jackson 图除了可以表达程序结构外 ,还可以表达 , 它首先要分析 6. 详细设计的工具有

,表格工具和 .

,并用适当的工具来描述 .

7.IPO 图由 , 处理和 三个框组成 .这个图的特点是能够直观的显示三者之间的关系

.

8.面向对象技术是一整套关于如何看待

和 的关系 ,以什么观点来研究问题并进行分析求解

, 以及如何进行

系统构造的软件方法学

.面向对象方法是一种运用 , , , ,聚集 ,消息传送

,多态性等概念来构造系统的软件开

发方法 .

二, 单项选择题

1.下列 ( ) 属于系统软件 . WINDOWS 2000 Word Flash 3D MAX

2.下列哪个图是 N-S 图的构件 ( ). A. B. C. D.

3.对于螺旋模型 ,下列 ( )不是利用笛卡尔坐标表达的活动 . A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码

三, 多项选择题

1.软件危机可以表现为 ( ). 产品不符合用户的需要 软件产品的质量差

软件的可维护性差

软件的价格昂贵

2.Jackson 图中一般可能包括 ( ). A.表头

B. 表体 C. 表名 D. 字段名

( ).

B, 应该尽量使用内容耦合

,可能发生内容耦合

3.关于内容耦合的描述正确的是 A,内容耦合是最高程度的耦合 D,如果一个模块有多个入口 4.下列属于不标准的书写格式 A,书写时适当使用空格分隔

C,高级语言一般设计成允许内容耦合的形式

( ).

B,一行写入多条语句

C, 嵌套结构不使用分层缩进的写法

D, 程序中不加注释

四, 判断题 ( 正确的在括号内打上 \" √\错误的打上 \" ×\") 1.软件生存周期是从软件开始开发到开发结束的整个时期 2.系统流程图是一个典型的描述逻辑系统的传统工具 3.数据流图和数据字典共同构成系统的逻辑模型 4.扇出是一个模块直接调用的模块数目

.( )

.( )

.( )

,一般推荐的扇出为 3 或 4.( )

.( )

5.耦合用于衡量一个模块内部的各个元素彼此结合的紧密程度 6.程序运行过程中出现错误叫做容错 7.软件测试的目的是证明程序没有错误

. ( )

. ( )

8.白盒测试法是将程序看成一个透明的盒子 五,问答题

1.什么是软件生存周期 . 3.为什么数据流图要分层 样题答案

,不需要了解程序的内部结构和处理过程 .()

2.在需求分析阶段 , 建立目标系统的逻辑模型的具体做法是什么

4.软件的质量反应为哪些方面的问题

.

一,填空题

1. 瀑布模型 ,螺旋模型 ,原型模型 4. 数据输入的源点和数据输出的汇点 5. 数据结构 ,数据结构

2.经济 ,技术3.F/(1+i)n

加工 数据流 数据存储文件

7. 输入 输出

6.图形工具 语言工具

8. 软件系统 现实世界 对象类继承封装 二, 单项选择题

1,A 2,C 3,D

三,多项选择题 ( 每小题 2 分,共 10 分 ) 1,ABCD 2,ABCD 3,AD 4,BCD

四 ,判断题 1,× 2, × 3, √ 4, √ 5,6,× 7, × 8, × 9, √ 10, √ 五,问答题

1.答 :一个软件从定义到开发 , 使用和维护 ,直到最终被废弃 , 要经历一个漫长的时期 , 通常把软件经历的这个 漫长的时期称为生存周期 .软件生存周期就是从提出软件产品开始 2. 答 :系统流程图是描述物理系统的传统工具

,直到该软件产品被淘汰的全过程 .

. 它的基本思想是用图形符号以黑盒子形式描绘系统里的每个

, 而不表示对信息进行加工

部件 ( 程序 ,文件 ,数据库 , 表格 , 人工过程等 ).系统流程图表达的是部件的信息流程 处理的控制过程 .

3. 答:这了表达数据处理过程的数据加工情况 照问题的层次结构进行逐步分解

,用一个数据流图是不够的 . 为表达稍为复杂的实际问题

, 需要按

,并以分层的数据流图反映这种结构关系.

,不符合需求的软件就不具备质量 .

,用来指导软件人员用工程化的方法来开发软件.

4. 答:软件需求是度量软件质量的基础

在各种标准中定义了一些开发准则

如果不遵守这些开发准则 ,软件质量就得不到保证 . 往往会有一些隐含的需求没有明确地提出来

. 如果软件只满足那些精确定义了的需求而没有满足这些隐含

的需求 , 软件质量也不能保证

.

软件质量是各种特性的复杂组合 .它随着应用的不同而不同

,随着用户提出的质量要求不同而不同 .

A A B B A WHILE M A

B

一、 判断题

判断以下叙述的正误。 正确的叙述请在答题纸上的相应题号后打“√”, 错误的打“×”。 1. 编码时应尽可能使用全局变量。 2. 为了提高程序的易读性,尽可能使用高级语言编写程序。

3. 只要模块之间的接口关系不变,各模块的内部实现细节的修改不会影响别

的模块。 4. 为了加快软件维护作业的进度,尽可能增加维护人员的数目。

5. 尽可能用 GOTO语句 6. 程序的注释并不是可有可无的。 7. 尽可能在软件生产过程中保证各阶段文档的正确性。 8. 在进行总体设计时应加强模块间的联系。 9. 程序的模块划分得越大越好。

10. 模块越小,模块化的优点越明显,一般说来,模块的大小都在10行以下。 11. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个

复杂问题进行分解,将软件生存的时期分为若干阶段。 12. 在可行性研究中最难决断和最关键的问题是经济可行性。 13. 在软件开发中,采用原型系统策略的主要困难是时间问题。

14. 数据流图从数据传递和加工的角度, 以图形的方式描述数据流从输入到输

出的传输变换过程。

15. 模块越多,开发成本越小。

16. 耦合是指一个模块内各个元素彼此结合的紧密程度。

17. 内聚是指一个软件结构内各个模块之间互连程度的度量。 18. 模块分解时应注意不要降低模块的性。

19. 总体设计阶段完成的主要文档是总体设计说明书。

20. 详细设计是在总体设计之后进行的,它利用总体设计的结果,对系统中的

每个模块给出足够的过程性描述。

21. 程序设计语言中应绝对禁止使用 GOTO语句。

22. PAD图在设置了五种基本的控制结构后,还允许递归调用。 23. 程序中嵌套的层数应加以。

24. 程序的书写格式最好所有语句都左对齐,这样也可以节省纸张。 25. 在编写程序时尽可能对程序代码进行优化。 26. 使用可以看得出意义的标识符。

27. 在进行需求分析时需同时考虑维护问题。

28. 完成测试作业后,为了缩短源程序的长度应删去源程序的注释。 29. 重视程序结构的设计,使程序具有较好的层次结构。 30. 使用括号以改善表达式得清晰性。 31. 尽可能把程序编得短一些。

32. 不要修补不好的程序,要重新写。 33. 程序中的注解越少越好。

34. 程序的书写格式应有助于读者阅读与理解。

35. 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个

复杂问题进行分解,将软件生存的时期分为若干阶段。 ( ) 36. 螺旋模型是利用笛卡尔坐标的四个象限上分别代表四个方面的活动来表

示。( )

37. 原型模型适用于嵌入式软件。 ( )

38. 自底向上成本估计不是从整体开始,而是从任务单元开始。 ( ) 39. 数据流图从数据传递和加工的角度, 以图形的方式描述数据流从输入到输

出的传输变换过程。( )

40. 模块越多,开发成本越小。 ( )

41. 耦合是指一个模块内各个元素彼此结合的紧密程度。 ( ) 42. 内聚是指一个软件结构内各个模块之间互连程度的度量。 ( )

43. 在软件设计中应该尽量设计紧密耦合的系统。 ( ) 44. 控制耦合往往可以通过分解由数据耦合来代替。 ( )

45. 在很多高级程序设计语言中不允许出现任何形式的内容耦合。 ( ) 46. 对于 DFD图的划分,主要依赖设计人员的经验,一切都应根据设计人员的

经验确定。( ) 47. 如果一个模块内的处理元素是彼此相关的,并且以一个特定的次序执行,

则这种内聚称为时间内聚。 ( )

48. 概要设计阶段完成的主要文档是概要设计说明书。 ( )

49. 详细设计是在概要设计之后进行的。它利用概要设计的结果,对系统中的

每个模块给出足够的过程性描述。 ()

50. 程序设计语言中应绝对禁止使用 GOTO语句。()

51. PAD图在设置了五种基本的控制结构后,还允许递归调用。 () 52. UML设定的目标之一是运用面向对象概念来构造系统模型。 () 53. 类是关于对象性质的描述,由方法和数据集成。 ()

. 为保证程序的安全,必须做到程序中没有任何错误存在,即容错。 ( ) 55. 如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。 ( ) 56. 软件测试只对软件的编码进行查错和纠错工作, 不需对软件计划和软件设计

进行查错。( ) 57. 软件测试的目的是为了证明一个软件的设计没有错误, 只有没有任何错误的

软件才能使用。( )

58. 在进行软件测试之前,首先应该假设软件是没有错误的。 ( )

59. 软件测试中,应该尽量穷尽所有的数据,以便保证测试的质量。 ( ) 60. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,判定 / 条件

覆盖是同时满足这两种覆盖标准的逻辑覆盖。 ( ) 二、 填空题

两个方面研究如何运用工程学的基本原理 61. 软件工程是从管理和

和方法来更好地开发和维护计算机软件的一门学科。

、设计、编 62. 软件生存周期一般可分为问题定义、可行性研究、

码、测试、运行与维护阶段。

可 行 性 研 究 的 目 的 63.

是 。

是系统开发过程中难度最大,最重要的 . 在可行性研究中,

一个环节。

。 65. 需求分析的基本任务是准确的回答

自顶向下逐步求精进行需求分析的方 66. 结构化分析方法就是

法。 67. 数据流图的基本符号包括数据输入的源点和数据输出的汇点、加

工、 、数据存储文件。

68. 数据流图和 共同构成系统的逻辑模型。

69.

在 需 求 分 析 阶 段 常 用 的 图 形 工 具 有 层 次 方 框 图 、 Warnier

图、 。

70. 需求分析应交付的主要文档是

71. 概要设计过程中要先进行系统设计、复审系统计划与需求分析,确定系统

具体的实施方案;然后进行,确定软件结构。

。 72. 层次结构的上一层是下一层的抽象,下一层是上一层的

、抽象、信息隐蔽和局部化概念的直接结 73. 模块的概念是

果。

、调用模块的方式和通过 74. 模块耦合的强弱取决于

接口的信息。

75. 设计出软件的初步结构以后,应该进一步分解或合并模块,力求降低

提高内聚。

76. 在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调

用,这种情况出现的内聚称为 。

,一个模块被多 77. 一个模块直接调用的模块数目称为模块的

少上级模块直接调用称为模块的 。

、表格工具和语言工具。 78. 详细设计的工具有

79. 为使用流程图描述结构化程序,流程图有五种基本的控制结构顺序

、while 型循环、 until 循环、多情况型选择。 型、

、处理和 三个框组成。这个图的特点是能够 80. IPO 图由

直观的显示三者之间的关系。

、 、聚合、消息传送、 81. 面向对象方法是一种运用对象、

多态性等概念来构造系统的软件开发方法。

领域的全面应 82. 面向对象的软件工程方法是面向对象方法在

用。

和测试程序等。 83. 软件测试的配置主要包括测试计划、

、集成测试、确认测试和系统测试。 84. 软件测试的步骤主要包括

;用数据流图、数据字典和简要的算法表 85. 需求分析的任务是

示系统的逻辑模型;

86. 原型模型的优点是系统与用户见面快;开发成功率高,适合

于 。但缺点也是很明显的主要是: 周期长,开发成本高;

、可理解性。 87. 影响软件可维护性因素有三大方面可测试性、

的模型。 , 88. 瀑布模型是以文档为驱动、适合于

。 . 软件概要设计的主要任务就是

构造程序。 90. 结构化程序设计方法是使用 __

91. 软件生存周期中时间最长、花费的精力和费用最多的一个阶段是 _

__阶段。

。 92. 对象之间进行通信的构造叫做 __ ____

__ __________两部 93. 为了便于对照检查,测试用例应由输入数据和预期的

分组成。

。 94. 软件概要设计的主要任务就是 _ _____

的 95. 维护阶段是软件生存周期中花费精力和费用 ___ ___

阶段。 96. 在面向对象方法中,人们常用状态图描述类中对象的___

________。

97. 可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目

_______ 。

98. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__

____。 软件设计是一个把软件需求转换为软件表示的过程。

软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个 _ 集成的过程。

软件维护的内容包括纠错性维持,适应性维护、 _ 和预 100. _

防性维护。

101. 将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项

目的若干不同之处,并估算每个不同之处对成本的影响,得出开发 项目的总成本。这种成本估算方法称为 。 ____

三、 选择题

程序设计属于软件开发过程( )阶段。 102.

A、设计 B 、编程 C 、实现 D 、编码

在软件的分析阶段,常用( )来描述业务处理系统的信息来源、存 103.

储、处理和去向。 A、E-R图 B 、框图 C 、DFD D 、时序网络

结构设计是一种应用最广泛的系统设计方法,是以( )为基础、自 104.

顶向下、逐步求精和模块化的过程。 A、数据流 B 、数据流图 C 、数据库 D 、数据结构

数据流图中,当数据流向或流自文件时( )。 105.

A、数据流要命名,文件不必命名 B 、数据不必命名,有文件名就足够了

C、数据流和文件均要命名,因为流出和流进的数据流是不同的

D、数据流和文件均不要命名,通过加工可自然反映出。

106. 结构化程序设计主要强调程序的( )。

A、效率 B 、速度 C 、可读性 D 、大小

107. 数据字典是对数据定义信息的集合, 它所定义的对象都包含于 ( )

A、数据流图 B 、程序框图 C 、软件结构 D 、方框图

108. 分析员是( )

99.

A、系统的直接使用者 B 、用户和软件人员的中间人

C、软件的编程人员 D 、用户和软件人员的领导

109. 程序的三种基本控制结构的共同特点是( )。

A、不能嵌套使用 B 、只能用来写简单的程序

C、已经用硬件实现 D、只有一个入口和一个出口

110. 软件生产过程中,需求信息由( )给出。

A、程序员 B 、项目管理者 C、软件分析设计人员 D、软件用户

111. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述

了系统的()。

A、总貌 B 、细节 C 、抽象 D 、软件的作用

112. 与设计测试数据无关的文档是( )。

A、需求说明书 B 、设计说明书 C 、源程序 D 、项目开发设计

113. 结构化分析 SA方法以数据流图、( )和加工说明等描述工具,

即用直观的图和简洁的语言来描述软系统模型。

A、DFD图 B 、PAD图 C 、 IPO 图 D 、数据字典

114. 开发的结构化设计( SD)方法,全面指导模块划分的重要原则应该是

()

A、模块高内聚 B 、模块低藕合 C 、模块性 D 、程序模块化

115. 面向数据流的软件设计方法,一般是把数据流图中数据流划分为

( ),再将数据流图映射为软件结构。 A、数据流和事务流 B 、交换流和事务流 C、信息流和控制流 D 、交换流和数据流 116. 在下列的基本成分中,哪个不是数据流程图的基本成分?( )

A、信息处理 B 、信息存储 C 、外部实体 D 、系统

状态 117. 软件测试的目的是( )。

B、发现程序中的错误 A、证明程序中没有错误

C、测量程序的动态性 D 、检查程序中的语法错误 118. 在软件结构化设计中,好的软件结构设计应该力求做到

()。

A、顶层扇出较少,中间层扇出较高,底层模块低扇入 B、顶层扇出较高,中间层扇出较少,底层模块高扇入 C、顶层扇入较少,中间层扇出较高,底层模块高扇入 D、顶层扇入较少,中间层扇入较高,底层模块低扇入 119. 描述静态数据结构的概念模式是( )。

A、E-R 图 B 、DFD C 、结构图 D 、框图 120. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象

称作()。 A、软件投机 B 、软件危机 C 、软件工程 D 、软件产生 121. 软件的( )设计又称为总体结构设计,其主要任务是建立软件 系统的总体结构。

A、总体 B 、抽象 C 、逻辑 122. 下列关于瀑布模型的描述正确的是(

D

、规划

)。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分

开。

D. 利用瀑布模型,如果发现问题修改的代价很低。 123. 下列属于维护阶段的文档是 ( ) A. 软件规格说明 B. 用户操作手册 C.软件问题报告 D.软件测试分析报告 124. 快速原型模型的主要特点之一是 ( ) A. 开发完毕才见到产品 B. 及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D. 及早提供工作软件 125. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A. 纠正性维护 B. 适应性维护 C.完善性维护 D.预防性维护 126. 软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为 ( )

B. 可靠性 A. 可用性

C.正确性 D.完整性 127. 下列文档与维护人员有关的有 ( )

A. 软件需求说明书 B. 项目开发计划

C.概要设计说明书 D.操作手册

128. 下列模型属于成本估算方法的有 ( )

A.COCOMO模型 B.McCall 模型 C.McCabe度量法 D.时间估算法 129. 用于描述对象模型的工具是 ( ) 。

A、数据流图 、结构图 C 、状态图 B D 、对象图

软件质量保证应在 ( ) 阶段开始。 130.

A. 需求分析 设计 C. 编码 投入使用 B. D.

开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现, 131.

象称做( )

B. 软件周期 A. 软件工程

C.软件危机 D.软件产生 132. 研究开发所需要的成本和资源是属于可行性研究中的研究 ( ) 的一方面。

A. 技术可行性

B. 经济可行性

C.社会可行性 133. 快速原型模型的主要特点之一是 ( ) A. 开发完毕才见到产品 品

D.法律可行性

B. 及早提供全部完整的软件产

C.开发完毕后才见到工作软件 ; D.及早提供工作软件 134. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A. 纠正性维护 B. 适应性维护C.完善性维护 D.预防性维护

135.

对象实现了数据和操作的结合, 使数据和操作 (

)于对象的统一体

中。

A.结合 B.隐藏 C.封装 D.抽象

136. 软件调试技术包括( )

C.循环覆盖 D.集成测试 A.边界值分析 B.演绎法

137. 瀑布模型的存在问题是( )

A.用户容易参与开发 B.缺乏灵活性

C.用户与开发者易沟通 D.适用可变需求 138. 软件测试方法中的静态测试方法之一为( )

A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 139. 软件生命周期中所花费用最多的阶段是( )

A.详细设计 B.软件编码 C.软件测试 D.软件维护 140. 软件测试中,白盒法是通过分析程序的( )来设计测试用例的。

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

瀑布模型本质上是一种( )模型。 141.

A 、线性顺序 、线性迭代 D 、顺序迭代 C 、及早见产品 B

142. 软件质量必须在( )加以保证。

A 、开发之前 B 、开发之后 C、可行性研究过程中 D 、设计与实现过程中

143. 确认测试主要涉及的文档是( )。

A 、需求规格说明书 B 、概要设计说明书 C、详细设计说明书 D 、源程序

144. 软件工程的出现主要是由于 ( )

A.程序方法学的影响 B 其他工程学科的影响 C.计算机的发展 D 软件危机的出现

145. 软件是一种 ( )

A.程序 B 数据 C 逻辑产品 D 物理产品

146. 瀑布模型本质上是一种 ( )

A.线性顺序模型 B 顺序迭代模型 C.线性迭代模型 D 及早见产品模型

147. 具有风险分析的软件生存周期模型是( )

A.瀑布模型 B 螺旋模型 C 增量模型 D 喷泉模型

148.

软件需求分析的主要任务是准确定义所开发的软件系统是( A.如何做 B 怎么做 C 做什么 D 对谁做

149. 需求分析最终的结果是产生( )

A.项目开发计划 B 需求规格说明书 C.设计说明书 D 可行性分析报告

150. 结构化分析的方法是一种( )

A.系统分析方法 B 面向数据结构的分析方法 C.面向对象的分析方法 D 面向数据流的分析方法

151. 为了提高模块的性,模块内部最好是( )

A.逻辑内聚 B 顺序内聚 C 功能内聚 D 通信内聚 152. 9.N- S图通常作为()阶段的工具 A.需求分析 B 软件设计 C 软件编码 D 软件测试 153. 10. 结构化程序设计的一种基本方法是( )

A.筛选法 B 迭代法 C 逐步求精法 D 递归法

三、多项选择题

1. 需求分析阶段结束后,应交出的文档中应该包括(

)。

A.数据流图 B.数据字典 C.E-R 图

D.项目的经费预算 155. 关于数据流图正确的描述是( )。

A.数据流图是结构化系统分析的主要工具。

B.在数据流图中, * 号标识相邻的数据流只取其一。 C.加工是以数据结构或数据内容作为加工对象的。 D.数据流图的主图中必须包括全部四种基本元素。 156. 关于数据字典正确的描述是( )。

A.数据字典最重要的用途是作为分析阶段的工具。

B.实现数据字典三种常见的方法有全人工过程、全自动过程、混合过程。 C.数据字典应该容易更新和修改。 D.可以采用卡片形式书写数据字典。 157. ( )可以作为模块。

A.过程 B.子程序 C.函数 D.宏 158. 下列关于模块的描述,正确的是( )。

A.具有的模块软件比较容易开发出来。 B.的模块比较容易测试和维护。

C.模块的程度可以通过内聚和耦合标定。

D.的模块可以完成一个相对的特定子功能。 159. 耦合的强弱取决于( )。

A.模块间接口的复杂程度。 B.调用模块的方式。 C.通过接口的信息。

D.模块内部各个元素彼此之间的紧密结合程度。 160. 下列( )属于内容耦合。

A.一个模块有多个入口。

B.两个模块彼此之间只通过传递参数交换信息。

C.两个模块之间存在全程变量,并通过全程变量传递信息。 D.两个模块有部分代码重叠。 161. 在软件设计中,( )耦合应尽量避免。

A.控制 B.数据 C.内容 D.标记 162. 编码风格包括( )。

A. B. C. D.

源程序文档化 数据说明方法 语句结构

输入 / 输出方法

163. 软件测试主要包括( )方面的差错和纠错。A.软件计划

B.软件设计C.软件编码D.软件价格

1. 软件维护的步骤主要包括()。 A.分析和理解程序 B.修改程序

C.重新验证程序 D.维护组织

四、 165. 答: 166. 答: 167. 答: 168. 答: 169. 答: 170. 答: 171. 答: 172. 答:

简答题

模块与模块化:

简述面向对象方法的要点: 等价划分法:

简述原型法的基本思想: 多态性:

简述面向对象的程序方法学的基本原则和要点: 什么是软件危机?

简述软件测试的步骤,简要说明各测试步骤的目的。

173. 软件维护的含义是什么,什么是软件的可维护性?决定软件可维护性

的因素是什么? 答: 174. 详细设计的任务是什么? 答: 175. 简述总体设计过程包含的内容。 答: 176. 177. 答: 178. 答: 179. 答: 180. 答: 181. 答: 182. 答: 183. 答: 184. 答: 185.

需求说明书由哪些部分组成?答:

什么是白盒测试法? 什么是黑盒测试法? 什么是软件工程。 什么是软件生存周期。

什么是软件危机,软件危机有哪几种表现? 简述可行性研究的任务。

简述什么是“对象”,什么是“类”。 UML的内容包括哪些部分?

什么是黑盒测试法?什么是白盒测试法?

答: 。 186. 什么是逆向工程? 答: 187. 以 G.J.Myers 的观点,简述对软件测试的目的。 答

五、应用题 188. 指出下列数据流图中存在的问题。

1. 根据下列描述,画出教材征订系统的第一层数据流图。学生入学后到

教材科订书,教材科根据教材库存情况分析是否需要买书,如需购买,则向书店购买。各种资金往来通过学校的会计科办理。 190. 假设某航空公司规定,乘客可以免费托运重量不超过 30公斤的行李。当行

李重量超过 30公斤时,对头等舱的国内乘客超重部分每公斤收费 4元,对其他舱的国内乘客超重部分每公斤收费 6元,对外国乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一

半。用判定表和判定树表示与上述每种条件组合相对应的动作( 算法 ) 。 191. 为下列程序设计条件组合覆盖、判断 / 条件覆盖和语句覆盖的测试用

例。 eample

{float a,b,x;

if(a>1&&b==0)

x=x/a;

if(a==2||x>1)

x=x+1; }

答案: 192. 根据伪码画出 N-S 图。 START IF A THEN X1

DO UNTIL B ELSE X2

Y

END IF Z

STOP 193. 根据伪码画出 PAD图。 START SWITCH P

CASE 1: A ; break ; CASE 2: B ; break ; CASE 3: C ; break ; Default ; STOP 194. 根据下图,给出按照路径覆盖原则生成的覆盖路径集。

195. 某旅馆的电话服务如下:

可以拨分机号和外线号码。 分机号是从 7201至 7299。外线号码先拨 9,然后是市话号码或长话号码。 长话号码是以区号和市话号码组成。 区号是从 100到 300 中任意的数字串。市话号码是以局号和分局号组成。局号可以是 455,466,888 , 552中任意一个号码。分局号是任意长度为 4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义即组成。

196. 某培训中心要研制一个计算机管理系统。它的业务是:

将学员发来的信件收集分类后,按几种不同的情况处理。 如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出给学生。

如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

如果是付款的, 则由财务人员在帐目文件上登记, 也给学生一张收费收据。 要求:

1. 对以上问题画出数据流程图。

2. 画出该培训管理的软件结构图的主图。 197. 请用判定表画出以下问题的行为逻辑。

人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下

雨;天气可能变冷,也可能不变冷。如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。

198.

画出下面用 PDL写出的程序的 PAD图。 WHILE P DO

IF A >O THEN A1 ELSE A2 ENDIF; S1;

IF B>0 THEN B1;

WHILE C DO S2;S3 ENDWHILE; ELSE B2 ENDIF; B3

ENDWHILE;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务