您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页软件工程试题库集及答案

软件工程试题库集及答案

来源:爱go旅游网
综合练习一答案 教宝网 www.jaobao.com

一.选择题:

1. 软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。

A.50年代末 B.60年代初 C.60年代末 D.70年代初 A.运筹学 B.工程学 C.软件学 D.软件学 E.数字

2.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。 A.软件投机 B.软件危机 C.软件工程 D.软件产生

3.产生软件危机的原因有如下几点,除了______。 A、 软件开发过程未经审查

B、 软件开发不分阶段,开发人员没有明确的分工

C、 所开发的软件,除了程序清单外,没有其他文档

D、 采用工程设计的方法开发软件,不符合软件本身的特点

4.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。

A.引入新技术提高空间利用率 B.用较少的投资获得高质量的软件 C.缩短研制周期扩大软件功能 D.硬软件结合使系统面向应用

5.请按顺序写出软件生命期的几个阶段____,____ ,____,____,____,____。

A.维护 B.测试 C.详细设计 D.概要设计 E.编码 F.需求分析 6. 瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。

A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错 7.划分软件生存周期的阶段时所应遵循的基本原则是_____。

A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对 8.一个软件项目是否进行开发的结论是在______文档中作出的。

A、 软件开发计划 B、可行性报告 C、需求分析说明书 9.分析员是____。

A. 用户中系统的直接使用者 B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导

10.下列叙述中,_______不属于数据字典的作用。

A、作为编码阶段的描述工具 B、为用户与开发人员之间统一认识 C、作为概要设计的依据 D、为需求分析阶段定义各类条目 11.使用结构化分析方法时,采用的基本手段是____。 A.分解和抽象 B.分解和综合 C.归纳与推导 12.结构化系统分析主要是通过____进行分析的。

A.算法分解

D.试探与回溯 D.处理功能分解

D、测试报告

B.控制结构分解 C.数据结构分解

13.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。

总貌 B.细节 C.抽象 D.软件的作者 13.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。

A.变换型 B 事务型 14.需求分析说明书不能作为______。

A、 可行性研究的依据 B、用户和开发人员之间的合同

C、 系统概要设计的依据 D、软件验收测试的依据

15.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。

A.DFD图 B.PAD图 C.IPO图 D.数据字典 16.不适于作为数据流图处理(加工)框名称的是____。

A.人工校核工资数据 C.打印工资支票

B.工资支票数据 D.计算职工工资

17.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的。

A、需求分析 B、总体设计 C、详细设计 D、编码阶段 18.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。

A.概要

B.抽象

C.逻辑

D.规划

19.结构化设计方法采用变换分析和事务分析技术实现____。

A.从数据结构导出程序结构 B.从模块结构导出程序结构 C.从模块结构导出数据结构 D.从数据流图导出初始化结构图 20.结构化设计方法是面向____的设计方法。

A.过程 B.对象 C.数据流 D.数据结构 41.Jackson程序设计方法是一种面向 _____ 的设计方法。

A、数据结构 B、数据流图 C、IPO图 D、系统流程图 20.Jackson设计方法由英国的M. Jackson提出的,它是一种面向____的设计方法。 A.对象 B.数据流 C.数据结构 D.控制结构 21.结构化设计采用模块化方法的主要出发点是______。

A、 增加内聚性 B、减少耦合度 C、提高有效性 D、降低复杂度 22.下列_____不是模块化设计的目的。

A、可采用结构化设计方法 B、降低复杂度

C、有利于信息隐蔽 D、描述系统的功能与性能

23.一个模块直接控制(调用)的下层模块的数目称为模块的_______。 A、扇入数 B、扇出数 C、宽度 D、作用域 24.某个模块的作用域是指______。

A、被该模块调用的所用模块 B、调用该模块的所有模块

C、与该模块相关联的所有模块 D、受该模块内的判定影响的所有模块

25.模块本身的内聚是模块性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是____。

A.顺序性内聚

B.过程性内聚

C.逻辑性内聚

D.功能性内聚

26.如果模块中所有成分引用共同的数据,该模块内的联系类型是____。

A.顺序内聚 B.功能内聚 C.通信内聚 D.过程内聚 27.初始化模块和结束模块从块内联系看,被称为____模块。

A.过程内聚 B.功能内聚 C.时间内聚 D.逻辑内聚 28.若一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为______。

A、顺序内聚 B、功能内聚 C、过程内聚 D、通信内聚

29.某模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志信息决定本次调用哪种通知书的打印,这种模块之间的耦合称为____。

A.数据耦合 B.混合耦合 C.公共耦合 D.控制耦合

30.要减少两个模块之间的耦合,则必须____。

A.两个模块间的调用次数要少 B.模块间传递的参数要少

C.模块间传递的参数要少且布传递开关型参数

D.模块间传递的参数要少且不传递开关型参数以及两模块不引用同样的全局变量 31.下列耦合度表示中,最弱的耦合形式是______。

A、特征耦合 B、公共耦合 C、数据耦合 D、数据结构

32.一个模块传送给另一模块的参数是由单个数据项组成的数组,它属于______耦合。 A、 数据型 B、复合型 C、内容型 D、公共型 34.PAD(Problem Analysis Diagram)图是一种____工具。

A.系统描述 B。详细设计 C。测试 D。编程辅助 35.下列系统设计工具中,______不属于详细设计工具。

A、N—S图 B、数据流图 C、程序流程图 D、PAD 36.程序流程图、N-S图和PAD图是____使用的表达工具。

A.设计阶段的概要设计 C.编码阶段

B.设计阶段的详细设计

D.测试阶段

37.模块内部的算法设计在结构化方法的______阶段进行。

A、系统分析 B、概要设计 C、详细设计 D 编码(实现) 38.源程序的版面文档要求应有变量说明、适当注释和____。 A.框图 B.统一书写格式 C.修改记录 39.提高程序可读性的有力手段是______。

D.编程日期

A、 选好一种程序设计语言 B、显式说明一切变量 C、使用三种标准控制语句 D、给程序加注释 40.文档是软件开发人员.维护人员.用户以及计算机之间的____, 软件开发人员在各个阶段以文档作为前段工作成果的_____和后段工作的_____。

A. 接口 B.桥梁 C.科学 D.继续 41.软件工程中______不属于用户文档的内容。

E.体现

F.基础

A、 功能描述 B、安装手册 C、系统设计 D、使用手册 42.在软件工程中,高质量的文档标准是完整性、一致性和____。

A.统一性 B.安全性 C.无二义性 D.组合性

43.一般来说,在管理软件中,软件生存周期各个阶段的工作量以______所占的比例最大。

A、需求分析与设计阶段 B、编码实现阶段 C、测试阶段 D、维护阶段 44.软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量; A.可维护性 B可靠性 C效率 D可理解性 45.采用____且编写程序,可提高程序的可移植性;

A.机器语言 B宏指令 C汇编语言 D高级语言

二、填空题:

1、 在结构化分析中,__数据字典__用于详细地定义数据流图中的成分。 2、 3、

耦合性和内聚性是衡量___模块性_的两个定性的标准。

结构化程序设计是一种程序设计技术,它采用__自顶向下、逐步求精__的设计方

法和顺序、选择、循环三种基本控制结构构造常态程序。

4、 结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点__数据存储

和数据流_。

5、 从模块内外的联系来看,结构化设计的要求是___高内聚低耦合_。

6、 在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题

简述中的动词短语将成为数据流图中的___处理__成分。

7、 如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为__数据_耦合。 8、 9、

模块内部的算法设计在结构化方法的___详细设计__阶段进行。 定性度量模块性的两个标准是内聚性和___耦合性___。

10、 在模块结构图中,直接调用某一模块的其他模块数称为该模块的__扇入数____。

软件工程试题及答案

第一部分 选择题

一、单项选择题 每小题1分,共20分。(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内) 1.在下列工具与环境中( )属于较早期的CASE。 A.基于信息工程CASE B.人工智能CASE

C.结构的基于图形CASE D.集成的CASE环境 2.Putnam成本估算模型是一个( )模型。

A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,( )属于面向软件产品修改。

A.可靠性 B.可重用性 C.适应性 D.可移植性 4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( ) A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量的参数包括( )

A.效率 B.规模 C.完整性 D.容错性 6.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 7.软件调试技术包括( )

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型的存在问题是( )

A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 9.软件测试方法中的静态测试方法之一为( )

A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 10.软件生命周期中所花费用最多的阶段是( )

A.详细设计 B.软件编码 C.软件测试 D.软件维护 11.第一个体现结构化编程思想的程序设计语言是( )

A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言

12.程序的三种基本控制结构是( )

A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移

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

A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的( )

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

15.需求分析中开发人员要从用户那里了解( )

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 16.结构化程序设计主要强调的是( )

A. 程序的规模 B. 程序的效率C. 程序设计语言的先进性 D. 程序易读性 17.IDEF。图反映系统( )

A.怎么做 B.对谁做 C.何时做 D.做什么 18.经济可行性研究的范围包括( )

A.资源有效性 B.管理制度 C.效益分析 D.开发风险

19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开

发的决策依据,因必须给出( )的回答。

A.确定 B.行或不行 C.正确 D.无二义 20.需求分析阶段的任务是确定( )

A. 软件开发方法B. 软件开发工具C. 软件开发费 D. 软件系统的功能

二、填空题(每空2分,共20分)。

21.在软件开发过程中要产生大量的信息,要进行大量的修改, 软件配置管理 能协调软件开发,并使混乱减到最低程度。

22.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此

软件具有 容错功能的软件。 23.McCall提出的软件质量模型包括11 个软件质量特性。

24.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、 可使用性和效率。

25.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

26.程序设计语言的心理特性主要表现在 歧义性 、简洁性、传统性、局部性和顺序性。 27.软件结构是以 模块 为基础而组成的一种控制层次结构。

28.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、 判定树 。

29.结构化语言是介于自然语言和形式语言之间的一种半形式语言。

30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i)。 三、名词解释题 每小题3分,共15分。 31.软件生存周期模型

描述软件开发过程中各种活动如何执行的模型

32.数据字典(DD)

数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。 33.内聚性

内聚性是模块性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量 34.JSP方法

JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。 35.多态性

指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。或(不同的对象,收到同一消息可以产生不同的结果。)

四、简答题 每小题5分,共20分。

36.简述容错技术的四种主要手段,并解释。

结构冗余:包括静态冗余、动态冗余和混合冗余。

信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。 时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:指为实现上述冗余技术所需的资源和技术。 37.以G.J.Myers的观点,简述对软件测试的目的。

软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。 38.就程序设计语言的工程特性而言,对程序编码有哪些要求?

就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性 (2)开发工具的可利用性 (3)软件的可重用性 (4)可维护性

39.模块的内聚性包括哪些类型?

模块的内聚性包括:

(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚 五、应用题 第40小题7分,第41小题8分,第42小题10分,共25分。 41.根据下列条件使用等价划分法设计测试用例。

某一8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。

解答:等价划分法 ①划分等价类并编号,如下表所示。

十六进制整型常量输入条件的等价类表 输入数据 合理等价类 不合理等价类 3. 非0x或非-打头的串 4. 含有非数字且(a,b,c,d,e,f)以外字符 5. 多于5个字符 6. -后跟非0的多位串 7. -0后跟数字串 8. -后多于3个数字 10.小于-7f 11.大于7f 覆盖范围 1,9 2,9 十六进制整数 1. 0x或0X开头1~2位数字串 2. 以-0x打头的1~2位数字串 十六进制数范围 9.在-7f~7f之间 ②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子 测试数据 0×23 -0×15 期望结果 显示有效输入 显示有效输入 ③为每个不合理等价类至少设计一个测试用例 测试数据 2 G12 123311 -1012 期望结果 显示无效输入 显示无效输入 显示无效输入 显示无效输入 覆盖范围 3 4 5 6 -011 -0134 -0x777 0x87 显示无效输入 显示无效输入 显示无效输入 显示无效输入 7 8 10 11 一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1 .软件工程管理的具体内容不包括对 _________ 管理。( )

A .开发人员 B .组织机构 C .控制 D .设备

2 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作。( ) A .正确性 B .可维护性 C .适应性 D .互操作性

3 .在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _________ 模型。( )

A .探索型原型 B .演化型原型 C .实验型原型 D .增量型原型

4 .维护中因删除一个标识符而引起的错识是 _________ 副作用。( ) A .文档 B .数据 C .编码 D .设计 5 .软件维护的困难主要原因是( )

A .费用低 B .人员少 C .开发方法的缺陷 D .维护难

6 .用白盒法技术设计测试用例的方法包括( )

A .错误推测 B .因果图 C .基本路径测试 D .边界值分析

7 .软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( )

A .前者属于静态测试,后者属于动态测试 B .前者属于动态测试,后者属于静态测试 C .都属于静态测试 D .都属于动态测试

8 .程序设计语言的心理特性在语言中表现不应包括( )

A .歧义性 B .简洁性 C .保密性 D .传统性

9 .程序的三种基本控制结构的共同特点是( ) A .只能用来描述简单程序 B .不能嵌套使用 C .单入口,单出口 D .仅用于自动控制系统

10 . JSP 方法是一种面向 _________ 的设计方法。( )

A .控制结构 B .对象 C .数据流 D .数据结构

11 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( ) A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合 12 .软件设计的方法有多种, _________ 方法不属于面向数据流的设计方法。( ) A .基于 Jackson 图的设计 B .基于 IDEF 0 图的设计 C .交换分析设计 D .事务分析设计

13 .为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则。( )

A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享

14 .设在一个模块内有 2 个判定,若受其中一个判定影响到的模块集合为 A ,而受另一个判定影响

到的模块集合为 B ,则该模块的作用范围是( ) A . B . C .( )—( ) D .( ) ( )

15 .数据流图( DFD )是 _________ 方法中用于表示系统的逻辑模型的一种图形工具。( )

A . SA B . SD C . SP D . SC

16 .螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。( ) A .增量模型 B .专家系统 C .喷泉模型 D .变换模型 17 .需求规格说明书的作用不包括( ) A .软件验收的依据

B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据

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

19 .设年利率为 i ,现存入 p 元,不计复利, n 年后可得钱数为( ) A . p ﹡ (1+i ﹡ n) B . p ﹡ (i+1) n C . p ﹡ (1+i) ﹡ n D . p ﹡ (i+n) 20 .在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( )

A .软件危机 B .软件工程 C .程序设计 D .结构化程序设计

二、填空题(本大题共 10 小题,每空 2 分,共 20 分) 请在每小题的空格中填上正确答案。错填、不填均无分。

21 .第二代 CASE 工具的特点是支持图形表示的 ____________ 。如数据流图与结构图。 22 .在面向对象方法中,对象实现了数据和操作的结合,使数据和操作 ________ 于对象的统一体中。

23 .面向对象分析的目的是对客观世界的系统进行 __________________ 。

24 .软件维护工作的生产性活动包括分析评价、修改设计和 __________________ 等。 25 .为了使应用软件适应计算机环境的变化而 __________________ 的过程称为适应性维护。

26 .一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________________ 。

27 .基于 IDEF 0 图的设计是以系统的功能模型和 __________________为基础设计系统的软件结构。

28 .软件结构图的宽度是指一层中 __________________ 的模块个数。

29 .投资回收期就是使累计的经济效益等于 __________________ 所需的时间。 30 .软件生存周期是指一个软件从提出开发要求开始直到 __________________ 为止的整个时期。

三、词语解释题(本大题共 5 小题,每小题 3 分,共 15 分) 31 .增量开发 32 .渐增式测试 33 .详细设计

34 .模块的控制范围

35 .父图与子图的平衡

四、简答题(本大题共 4 小题,每小题 5 分,共 20 分)

36 .何谓软件开发方法?请列举四种主要方法。

37 .从开发者角度进行程序质量的评审时,软件的结构包括哪些主要内容? 38 .说明软件文档的作用。

39 .简述详细设计的基本任务。

五、综合应用题(第一小题 7 分,第二小题 8 分,第三小题 10 分,共 25 分) 40 .试利用 McCabe 的程序复杂性计算方法计算如下程序图的复杂性。

41 .根据下列条件使用边界值分析法设计测试用例。

某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是- 177 ~ 177 。如 05 , 0127 ,- 065

42 .工资计算系统中的一个子系统有如下功能:

( 1 )计算扣除部分—由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分—根据职工的出勤情况计算出奖励金; ( 3 )计算工资总额部分—根据输入的扣除额及奖金计算出总额; ( 4 )计算税金部分—由工资总额中计算出应扣除各种税金;

( 5 )生成工资表—根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

全国2008年10月高等教育自学考

软件工程试题

一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.“软件工程的概念是为解决软件危机而提出的”这句话的意思是( ) A.强调软件工程成功解决了软件危机的问题

B.说明软件危机的存在总是使软件开发不像传统工程项目那样容易管理

C.说明软件工程这门学科的形成是软件发展的需要

D.说明软件工程的概念,即:工程的原则、思想、方法可解决当时软件开发和维护存在的问题

2.瀑布模型的主要特点是( )

A.将开发过程严格地划分为一系列有序的活动 B.将开发过程分解为阶段 C.提供了有效的管理模式 D.缺乏灵活性

3.在软件工程的需求分析阶段,不属于问题识别内容的是( ) A.功能需求B.性能需求 C.环境需求D.输入/输出需求 4.画某系统的数据流图时,顶层图有( ) A.0张B.1张 C.2张D.3张及其以上 5.软件模块内聚性最强的是( )

A.功能内聚B.通信内聚 C.偶然内聚D.逻辑内聚 6.最早提出软件系统维护问题的阶段是( )

A.可行性分析B.需求分析 C.概要设计D.详细设计 7.SD(结构化设计)方法设计的结果是( )

A.模块B.模块结构图 C.模块的算法D.数据流图

8.在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )

A.单元测试B.系统测试 C.集成测试D.确认测试 9.软件详细设计阶段的任务是( )

A.算法与数据结构设计B.功能设计C.调用关系设计D.输入/输出设计 10.下列属于静态测试方法的是( )

A.黑盒法B.路径覆盖 C.白盒法D.人工检测

11.Fortran语言主要作为以下哪个方面的语言( )

A.科学工程计算B.系统软件 C.事务处理D.人工智能

12.用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( ) A.顺序结构B.选择结构 C.嵌套结构D.重复结构 l3.可维护软件的主要特性包括( )

A.可理解性、可修改性、可移植性 B.可使用性 C.可维护性、可使用性、可靠性 D.可测试性 14.程序设计语言不具有的特性是( )

A.心理特性B.工程特性 C.应用特性D.技术特性 15.下列不属于项目进度安排主要方法的是( )

A.工程网络图B.Gantt图 C.进度结构图D.任务资源表 16.下列不属于通常冗余技术的是( )

A.结构冗余B.信息冗余 C.时间冗余D.代码冗余

17.下列工具中,属于需求追踪工具的是( )

A.在DBMS上的应用运行工具B.追踪和状态报告 C.访问和版本控制机构D.文件和修改管理

18.关于软件测试的目的,下面观点错误的是( )

A.为了发现错误而执行程序的过程 B.一个好的测试用例能够发现至今尚未发现的错误

C.证明程序是正确、没有错误的 D.一个成功的测试用例是发现了至今尚未发现的错

误的测试

19.在制定项目开发计划文档时,不包含的内容是( ) A.项目概述B.实施计划 C.测试计划D.交付期限

20.面向对象的开发方法中,以下哪种方法原是面向Ada语言的,并处于面向对象开发方法的奠基性地位( )

A.Booch方法B.Coad方法 C.UML语言D.OMT方法 二、填空题(本大题共10小题,每小题2分,共20分)

请在每小题的空格中填上正确答案。错填、不填均无分。

21.可行性研究从技术可行性、经济可行性、________三方面进行分析。 22.IDEF0方法用来描述系统的功能活动及其联系,建立系统的_______模型。 23.结构化方法总的指导思想是_______逐层分解。

24.在一段程序中,将多次出现的一组语句设计为一个子程序,供多个部分调用,这种情况出现的内聚称为________。

25.软件部件的内部实现与外部可访问性分离,这是指软件的______。 26.用来模拟被测模块的上级调用模块的模块称为_______。

27.软件复杂性度量的参数很多,主要有规模、_______、结构、智能度。

28.软件开发环境中最主要的组成部分是______。 29.软件工程管理的具体内容包括对开发人员、组织机构、用户和______等方面的管理。 30.增量模型根据增量方式和形式的不同,分为_____和原型模型。 三、名词解释题(本大题共5小题,每小题3分,共15分) 31.过程设计语言(PDL)

32.可移植性 33.渐增式测试 34.详细设计 35.条件覆盖

四、简答题(本大题共4小题,每小题5分,共20分)

36.软件生存周期可以分为几个阶段,每个阶段的提交物是什么? 37.结构化分析的描述工具有哪些?简述结构化分析的步骤。 38.什么是黑盒测试法?常用的黑盒测试方法有哪些? 39.简述面向对象的特征。

五、应用题(本大题共2小题,第40小题10分,第41小题15分,共25分) 40.下面是一段伪码程序(代码前的数字只作标号用,不参与程序执行): START

1:INPUT(A,B,C,D) 2:IF(A>0)AND(B>0) THEN 3:X=A+B ELSE

4:X=A-B

5:END

6:IF(C>A)OR(D THEN

7:Y=C-D ELSE

8:Y=C+D

9:END

10:PRINT(X,Y) STOP

根据以上的描述

(1)画出对应的流程图和程序图。 (2)计算程序图的环形复杂度。

41.某个学生成绩管理系统的部分功能如下: (1)基本信息管理:教务管理人员输入或修改学期教学执行计划、学生名单和教师名单; (2)学生选课:学生根据教学执行计划进行选课;

(3)分配任课教师:教务管理人员为符合开课条件的课程分配教师,并打印任课通知单给教师;

(4)成绩管理:每门课程的教师在考试评分结束后将考试成绩交给教务管理人员,教务管理人员输入、维护成绩,系统可生成成绩单(发给学生)、成绩统计分析表(发给教务管理人员)。

请根据要求画出该问题的分层数据流图(要求画出顶层和0层数据流图)。

软件工程导论预测题

一,单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。

1.可行性研究要进行一次_____需求分析。

A.详细的 B.全面的 C.简化的、压缩的 D.彻底的

[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。

2.系统流程图用于可行性分析中的_____的描述。

A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 [解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。 3.系统流程图是描述_____的工具。

A.逻辑系统 B.程序系统 C.体系结构 D.物理系统

[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。 4._______工具在软件详细设计过程中不采用。

A.判定表 B.IPO图 C.PDL D.DFD图

[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数

据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。

5.程序的三种基本控制结构是

A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移

[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。

6.程序的三种基本控制结构的共同特点是

A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一个出口

[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。

7.产生软件维护的副作用,是指

A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作 [解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。

8.维护中,因误删除一个标识符而引起的错误是_________副作用。 A.文档 B.数据 C.编码 D.设计

[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。

9.可维护性的特性中相互促进的是

A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好

[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的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.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

A.开发过程基于功能分析和功能分解 B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整 [解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。 16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析 [解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。

17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。 A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 [解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。 18.原型化方法是一种_______型的设计过程。

A.自外向内 B.自顶向下 C.自内向外 D.自底向上

[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。

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

A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据

[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。

20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能

[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。

二,填空题(本大题共10小题,每小题2分,共20分) 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动 )情况。

[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。 22.成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。 [解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。 23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( 宽度优先策略 ) 。

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

24.路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条路径是至少包含有一条( 在其他路径中未有过 )的边的路径。

[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含路径的基本路径图,其中路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条路径是至少包含有一条在其他路径中未有过的边的路径。

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

[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。

26.在JSP方法中解决结构冲突的具体办法是( 中间数据结构或中间文件 )。 [解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。 [解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。

28.所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。 [解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

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

[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。

[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/1、FORTRAN语言都是工程计算中常用的语言。 三,名词解释(本大题共5小题,每小题3分,共15分) 31.经济可行性

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

32.社会可行性

解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。 33.投资回收期

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

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

35.结构冲突

解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。

四,简答题(本大题共4小题,每小题5分,共20分) 36.可行性研究报告的主要内容有哪些?

解:一个可行性研究报告的主要内容如下:

(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和

参考资料。

(2)可行性研究前提:说明开发项目的功能、性能和基本要求;达到的目标;各种条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。 (4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。 (7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。 (8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

[解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。 37.系统设计的内容是什么?

解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。

(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。

(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。

如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。

(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。

(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。

38.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

软件危机表现在以下四个方面:

(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。

(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。

(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。

(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。

造成软件危机的原因是:

(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。6)开发工具落后,生产率提高缓慢。

39.软件质量保证应做好哪几方面的工作? 解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:

(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。

(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。

(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。

(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。

(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。

(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。 [解析]软件的质量保证是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,是软件工程管理中的重要内容。

五,论述题(本大题共3小题,第40小题7分,第41小题8分,第42小题10分,共25分)

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。

一、 单选题 1.

在软件危机中表现出来的软件质量差的问题,其原因是

_______。

A. 软件研发人员素质太差 B. C.

用户经常干预软件系统的研发工作 没有软件质量标准

D. 软件开发人员不遵守软件质量标准 2.

在软件质量因素中,软件在异常条件下仍能运行的能力成为软

件的_____。 A. 安全性 B. C.

健壮性 可用性

D. 可靠性 3.

在下列测试技术中,______不属于黑盒测试技术。

A. 等价划分 B. C.

边界值分析 错误推测

D. 逻辑覆盖 4.

软件工程方法是在实践中不断发展着的方法,而早期的软件工

程方法主要是指______。 A. 原型化方法 B.

结构化方法

C. 功能化方法

D. 面向对象方法 5.

______是把对象的属性和操作结合在一起,构成一个的对

象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A. 多态 B. C.

继承 封装

D. 消息 6.

Jackson方法是在软件开发过程中常用的方法,使用Jackson

方法时可以实现______。 A. 从数据结构导出程序结构 B. C.

从数据流图导出初始结构图 从模块结构导出数据结构

D. 从模块结构导出程序结构 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. 提高软件的可维护性可采用很多措施,下列哪个不在措施之列?

A. 提供没有错误的程序 B. C.

建立质量保证制度 改进程序文档质量

D. 明确软件质量标准

二、 填空题 1. 2. 3.

软件工程中的结构化分析SA是一种面向________的分析方法。 软件模块性的两个定性度量标准是_________________。 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试

是一个________的过程。 4. 5.

________和数据字典共同构成了系统的逻辑模型

___________是一种黑盒测试技术,这种技术把程序的输入域划

分为若干个数据类,据此导出测试用例。 三、 判断题 1.

软件工程学只有理论意义,没有实际用途。

( ) 2.

软件工程的方法只适用于大型软件的开发,对小型软件的开发

没有帮助。( ) 3.

可行性研究进一步研究问题分析阶段所确定的问题是否有可

行的解。 ( ) 4.

代码审查方法没有计算机测试方法好。

( ) 5.

验证软件需求的方法主要靠人工审查的方法。

( ) 6.

并发系统中遇到的一个主要问题是定时问题。

( ) 7.

编码风格由个人喜好决定,没有固定格式。

( ) 8.

面向对象建模得到的模型包含系统的3个要素,即静态结构、

交互次序和数据变换。( ) 9.

软件重用是提高软件开发生产率和目标系统质量的重要途径。

( )

10. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( ) 11. Power ( )

12. 软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。( )

13. 在进行需求分析时需同时考虑维护问题。 ( )

14. UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( )

15. 在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。( ) 四、 名词解释 1. 2. 3.

白盒测试 模块化 对象

Designer

CASE

五、 简答题

1. 2.

简述软件测试的任务、目的与类型。 简述结构化程序设计方法的基本要点

答案:

一、 单选题

1. C 2.B 3.D 4.B 5.C 6.A 7.B 8.B 9.A 10.B 11.B 12.C 13.B 14. D 15. A 二、 填空题 1. 2. 3. 4. 5.

数据流 内聚性、耦合性 由下而上 数据流图 等价划分

三、 判断题

1、× 2、× 3、√ 4、× 5、√ 6、√ 7、× 8、√ 9、√ 10、√ 11、√ 12、× 13、× 14、× 15、√ 四、 名词解释 1.

白盒测试——又叫做结构测试,把程序看成装在一个透明的白

盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。 2.

模块化——把程序划分成运行且可以访问的模块,每

个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。 3.

对象——描述该对象属性的数据以及可以对这些数据施加的

所有操作封装在一起构成的统一体。 五、 简答题

1. 答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

2. 答:(1)采用自顶向下,逐步求精的程序设计方法。 (2)使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式。 (4)采用单入口单出口的模块形式。

《软件工程》期末考试样题

一、填空题

1.软件开发模型有 、 、技术模型、 、构件组装模型、混合模型。

2.可行性研究一般可以从 可行性、 可行性、运行可行性、法律可行性和开发可行性等方面来研究。

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

4.数据流图的基本符号包括 、 、 、 。 5.Jackson图除了可以表达程序结构外,还可以表达 ,它首先要分析 ,并用适当的工具来描述。

6.详细设计的工具有 、表格工具和 。

7.IPO图由 、处理和 三个框组成。这个图的特点是能够直观的显示三者之间的关系。

8.面向对象技术是一整套关于如何看待 和 的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用 、 、 、 、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

二、单项选择题

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

A. WINDOWS 2000 B. Word C. Flash D. 3D MAX

2.下列哪个图是N-S图的构件( )。

A. B.

C. WHILE M D.

A A A B B A B

3.对于螺旋模型,下列( )不是利用笛卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码

三、多项选择题

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

A. 产品不符合用户的需要

B. 软件产品的质量差

C. 软件的可维护性差

D. 软件的价格昂贵

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

A.表头 B.表体

C.表名 D.字段名

3.关于内容耦合的描述正确的是( )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合

C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式( )。 A、书写时适当使用空格分隔 B、一行写入多条语句

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

四、判断题(正确的在括号内打上“√”,错误的打上“×”) 1.软件生存周期是从软件开始开发到开发结束的整个时期。( ) 2.系统流程图是一个典型的描述逻辑系统的传统工具。( )

3.数据流图和数据字典共同构成系统的逻辑模型。( )

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

6.程序运行过程中出现错误叫做容错。 ( ) 7.软件测试的目的是证明程序没有错误。 ( ) 8.白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程。 ( ) 五、问答题

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

2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。 3.为什么数据流图要分层?

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

样题答案

一、填空题

1.瀑布模型、螺旋模型、原型模型 2.经济、技术 3.F/(1+i)

n

4.数据输入的源点和数据输出的汇点 加工 数据流 数据存储文件 5.数据结构、数据结构 6.图形工具 语言工具 7.输入 输出

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.答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。

在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。

如果不遵守这些开发准则,软件质量就得不到保证。

往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。 软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。

软件工程期末复习试题 一,填空题

软件工程学的内容可包括( ),结构,( ),( ),环境,管理,规范等.

2. 软件生存周期一般可分为问题定义,( ),( ),设计,( ),测试,运行与维护阶段. 3. 系统流程图是( )的传统工具.

4. 需求分析的基本任务是准确的回答( ).

5. 数据字典的内容包括六项:( ),( ),( ),数据存储,处理逻辑,外部实体. 6. 在需求分析阶段常用的图形工具有( ),( ),( ).

7. 模块的概念是( ),( ),( )和局部化概念的直接结果. 8. HIPO图是由一组( )图和一张( )图组成. 9. UML的定义包括( )和( )两个部分. 10. 软件测试的方法有( )和( ). 11. 软件=( )+( ). 二,单项选择题

下列关于瀑布模型的描述正确的是( ).

瀑布模型的核心是按照软件开发的时间顺序将问题简化. 瀑布模型具有良好的灵活性.

瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开. 利用瀑布模型,如果发现问题修改的代价很低. 下列哪个图不是N-S图的构件( ). A. B.

C. D.

对于下图,有关描述中错误的是( ). A.A表示数据输入的源点 B.B表示数据存储文件 C.C表示加工

D.D表示数据存储文件

下列各方法中( )不是软件测试方法. A. 白盒法 B. 黑盒法 C. 动态测试 D. 盒法 UML的基本建筑块不包括( ). 框架 事物 关系 图

三,多项选择题

关于数据字典正确的描述是( ).

数据字典最重要的用途是作为分析阶段的工具.

实现数据字典三种常见的方法有全人工过程,全自动过程,混合过程. 数据字典应该容易更新和修改. 可以采用卡片形式书写数据字典. ( )可以作为模块. 过程 子程序 函数 宏

耦合的强弱取决于( ). 模块间接口的复杂程度. 调用模块的方式. 通过接口的信息.

模块内部各个元素彼此之间的紧密结合程度. 编码风格包括( ). 源程序文档化 数据说明方法 语句结构

输入/输出方法

软件测试主要包括( )方面的差错和纠错. 软件计划

软件设计

软件编码 软件价格 四,判断题

在可行性研究中最难决断和最关键的问题是经济可行性.( )

耦合是指一个模块内各个元素彼此结合的紧密程度.( )

一笔交易,一个动作,甚至操作人员按一个按钮都可以看做是一次事物.( )

概要设计阶段完成的主要文档是概要设计说明书.( )

过大的模块可能是由于分解不充分造成的,即使降低模块性也必须继续分解.( ) 程序设计语言中应绝对禁止使用GOTO语句.( ) 类是关于对象性质的描述,由方法和数据组成.( )

随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清晰.( )

为保证程序的安全,必须做到程序中没有任何错误存在,即容错.( ) 如果把软件开发所需的资源画成一个金字塔,人是最基本的资源.( ) 五,问答题

什么是软件危机,软件危机有哪几种表现 什么是模块,模块化,模块性

什么是编码风格 为什么要强调编码风格 4. 什么是黑盒测试法 什么是白盒测试法 六, 分析题

已知被测试模块流程图如下,按照\"判定覆盖\"法,在表格中填入满足测试要求的数据. 填写下表 数据

覆盖路径 覆盖分支 Y值

TT FF

比较下列两段语句,从编码风格的角度分析哪一段好些,并说明好在哪些方面. 程序段一: if a>b then if x>y then b=y else a=x end if else a=b

end if 程序段二:

/ position_x is the position x of object; position_y is the position y of object; /

if a>b then

a=b else

if position_x>position_y then b=position_y else

a=position_x end if end if 参 一,填空题 理论,方法,工具

可行性研究,需求分析,编码 描述物理系统

系统必须做什么

数据流,数据项,数据结构 层次方框图,Warnier图,IPO图 模块化,抽象,信息隐蔽 IPO,HC

UML语义,UML表示法 分析方法,非分析方法 程序,文档

二,单项选择题 C B B D

A

三,多项选择题 A,B,C,D A,B,C,D A,B,C A,B,C,D A,B,C

四,判断题 0 0 √ √ 0 0 √ √

0

五,问答题

答:软件危机指的是软件开发和维护过程中遇到的一系列严重问题.

概括地说,软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件.具体地说,软件危机主要有下列表现: 产品不符合用户的实际需要.

软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提供的巨大潜力. 软件产品的质量差.

对软件开发成本和进度的估计常常不准确. 软件的可维护性差.

软件文档资料通常既不完整也不合格.

软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升.

答:模块是数据说明,可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程,函数,子程序,宏等等都可作为模块.

模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求.

模块性是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的.

模块的概念是模块化,抽象,信息隐蔽和局部化概念的直接结果.

答:编码风格又称程序设计风格或编程风格.编码风格实际上指编程的基本原则. 程序实际上也是一种供人阅读的文章.

编写程序时讲求程序的风格,将大量地减少人们读程序的时间.

良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量.

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

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

A=3 B=1 Y=6 ce

TT 12

A=1 B=2 Y=0

bd

FF -10

注意:本题答案不唯一,学生给出的数字正确就应该算对. 答:第二段程序优于第一段.

注释起到提示的作用,利于程序阅读者对程序段全貌的理解 缩进格式清晰的显示程序中逻辑判断的结构. 变量命名方式表明变量的含义. B A B A e d b T T F F Return Y=Y-10 Y=Y+10

(A=3)AND(Y>1) Y=Y/3 c

(A>2)AND(B=1) begin WHILE X B

UNTIL Y C A B C D

www.gxqingyuan.com

软件工程期末考试试题、试卷

一、单项选择题(本大题共20小题,每小题1分,共20分) 1.软件测试的目的是( )。

A. 评价软件的质量 B. 发现软件的错误 C. 找出软件的所有错误 D. 证明软件是正确的 2.在设计测试用例时,( )是用得最多的一种黑盒测试方法。

A. 等价类划分 B. 边界值分析 C. 因果图 D. 判定表 3. 需求分析最终结果是产生( )。

A. 项目开发计划 B. 需求规格说明书 C. 设计说明书 D. 可行性分析报告

4. Jackson图中,模块框之间若有直线连接,表示它们之间存在( )。

A. 调用关系 B. 组成关系 C. 链接关系 D. 顺序执行关系

5. 软件详细设计的主要任务是确定每个模块的( )。

A. 功能 B. 外部接口 C. 算法和使用的数据结构 D. 编程

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

A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求

7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期 C.软件危机 D.软件产生

8.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( ) A.数据、公共、标记、控制 B.数据、标记、控制、公共 C.控制、数据、标记、公共 D.控制、数据、公共、标记 9.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块性

10.为了提高软件的可维护性,在编码阶段应注意( )

A.保存测试用例和数据 B.提高模块的性

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

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

A.p﹡(1+i﹡n) B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n) 12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( )。

A .状态图 B. 数据流图 C. 系统结构图 D. 时序图

13. 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A. 结合 B. 隐藏 C. 封装 D. 抽象 14.具有风险分析的软件生存周期模型是( )

A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 15.软件生命周期中所花费用最多的阶段是( )

A.详细设计 B.软件编码 C.软件测试 D.软件维护

16. 在整个软件维护阶段所花费的全部工作中,( )所占比例最大。

A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 17.模块( )定义为受该模块内一个判断影响的所有模块集合。 A. 控制域 B. 作用域 C.宽度 D. 接口 18.指出PDL是下列哪种语言( )。

A.伪码 B、高级程序设计语言 C. 中级程序设计语言 D、 低级程序设计语言

19.在对数据流的分析中,主要是找到中心变换,这是从( )导出结构图的关键。

A. 数据结构 B.实体关系 C. 数据流图 D. E—R图

20.结构分析方法就是面向( )自顶向下逐步求精进行需求分析的方法。 A. 目标 B.数据流 C.功能 D. 对象 二、填空题(本大题共10小题,每小题2分,共20分)

21.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。通常,软件生存周期包括问题定义,可行性研究,_______,www.gxqingyuan.com总体设计,详细设计,_______,______,维护活动,可以将这些活动以适当方式分配到不同阶段去完成。

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

23.一个计算机系统的总体设计方案包括四方面内容:硬件工程、¬¬¬¬¬¬¬¬¬¬¬_________、

_________和数据库工程

24.总体设计过程通常由两个阶段组成:_________和_____________。

25.____________是需求分析活动的焦点,通常用____________、_____________和 ____________描述这个逻辑模型。

26.面向对象开发方法包括OOA、________和____________三部分。

27.效益分有形效益和无形效益两种。有形效益可用纯收入、_________、________等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。

28.从应用特点的角度来看,我们可以把高级语言分为基础语言、_________和________三类。

29.小说明是用来描述_________的。

30.数据流图仅反映系统必须完成的逻辑功能,所以它是一种_________模型。 三、判断题(本大题共10小题,每小题1分,共10分) 31.( )质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动.

32.( )C语言是一种系统实现语言,也是一种结构化程序设计语言。

33.( )功能性注释嵌在源程序体中,用以解释下面的程序语句怎么做。

34.( )好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。 35.( )在程序调试时,找出错误的位置和性质比改正该错误更难。

36.( )黑盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。 37.( )模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。 38.( )输入/输出风格是在软件需求分析和设计阶段建立的,而不是在编码阶段建立的。

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

40.( )测试只能证明程序有错误,不能证明程序没有错误。

四、论述题(本题共3小题,第41题12分,第42题12分,第43题10分,第44题16分,共50分)

41.某校制定了教师的讲课课时津贴标准。对于各种性质的讲座,无论教师是什么职称,每课

时津贴一律是50元;而对于一般的授课,则根据教师的职称来决定每课时津贴费:教授30元,副教授25元,讲师20元,助教15元。请用判定表描述上述问题。

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

I:=1;

WHILE i:<=n-1 DO min:=A; 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 要求:(1)请用盒图描述。 (2)请用流程图描述。

43.下图为一个被测程序流程图,试用条件覆盖方法为它设计足够的测试用例

1.JPG (14.92 K)

2009-6-15 8:17:28

44.某培训中心要研制一个计算机管理系统。它的业务是: 将学员发来的信件收集分类后,按几种不同的情况处理。

1)如果是报名的,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检查

该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,财务人员开出给学生。

2)如果是想注销原来已选修的课程,则由注销人员在课程文件、学生文件和帐目文件上做相应的修改,并给学生注销单。

3)如果是付款的,则由财务人员在帐目文件上登记,也给学生一张收费收据。

要求:

1.对以上问题画出数据流程图。

2.画出该培训管理的软件结构图的主图。 教宝网网 www.jaobao.com

软件工程基础

一. 选择题

1。软件需求分析阶段的工作,可以分为4个方面:需求获取,需求分析,编写需求规格说明书以及(B) A).用户

B).需求审评

C).总结

D).都不正确

2。在原型法中称(A)为用户/设计者,开发人员根据用户需求不断修改原型,直到满足用户要求为止。 A).用户

B).开发人员

C).系统分析员 D).程序员

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

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

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

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

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

8。数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)。 A).控制流 B).加工 C).数据存储 D).源和潭

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

10。通过(B)可以完成数据流图的细化。 A).结构分解 B).功能分解 C).数据分解

D).系统分解

11。下面不属于软件工程原则的是(C) A).抽象 B).模块化 C).自底向上

D).信息隐蔽

12。(D)是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字来访问。

A).模块化 B).抽象 C).精化 D).模块

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

D).模块

14。面向数据流的设计方法把(D)映射成软件结构。 A).数据流

B).系统结构

C).控制结构 D).信息流

15。程序流程图(PDF)中的箭头代表的是(B)。 A).数据流 B).控制流 C).调用关系

D).组成关系

16。在进行软件结构设计时应该遵循的最主要的原理是(C) A).抽象 B).模块化 C).模块

D).信息隐蔽

17。在结构化方法中,软件功能分解属于软件开发中的(C)阶段。 A).详细设计 B).需求分析

C).总体设计 D).编程调试

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

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

C).好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案 D).成功的测试是发现了至今为止尚未发现的错误的测试 19。下列工具中为需求分析常用工具是(D) A).PA)D) B).PFD) C).N-S

D).D)FD)

20软件调试的目的是(B) A).发现错误 B).改正错误

C).改善软件的性能

D).挖掘软件的潜能

21。软件工程师一种(B)分阶段实现的软件程序开发的方法。 A).自底向上 B).自顶向下 C).逐步求精

D).面向数据流

22。通过(B)机制,各种软件工具用统一的数据接口规范存取环境信息库的的信息。 A).软件工具箱 B).环境集成

C).软件管理和软件支持工具 D).软件开发环境

23。在软件生命周期法中,用户的参与主要在(A)。

A)。软件定义期

B).软件开发期 C).软件维护期

D).整个软件生命周期过程中

24。软件定义期问题定义阶段涉及的人员有(D)。 A).用户、使用部门负责人

B).软件开发人员、用户、使用部门负责人

C).系统分析员、软件开发人员

D).系统分析员、软件开发人员、用户、使用部门负责人 25。软件详细设计主要采用的方法是(A)。 A).结构化程序设计 B).模型设计 C).结构化设计 D).流程图设计

26。(C)应考虑对模块相联和资源共享问题进行描述和制约。 A).系统设计 B).详细设计 C).接口控制

D).结构化编辑工具

27。(A)是程序中一个能逻辑分开的部分,也就是离散的程序单位。 A).模块

B).复合语句 C).循环结构 D).数据块 28。软件开发的原型化方法是一种动态定义软件需求的方法,下述条件中,(A)是实施原型化方法所必需的。 Ⅰ成熟的原型化人员 Ⅱ快速的成型工具 Ⅲ需求了解的正确性 A).Ⅰ和Ⅱ B).Ⅱ和Ⅲ C).Ⅰ、Ⅱ和Ⅲ

D).Ⅲ

29。判定树和判定表示用于描述结构化分析方法中的(B)环节的工具。 A).功能说明 B).数据加工 C).流程描述

D).性能说明

30。概要设计的结果是提供一份(A)。 A).模块说明书 B).框图

C).程序

D).数据流图

31。模块本身的内聚是模块性的重要性度量因素之一。在7类内聚中,具有最强内聚的

一类是(D)。 A).顺序性内聚 B).过程性内聚 C).逻辑性内聚 D).功能性内聚

32。计算机软件(A)。 A).计算机系统的组成部分

B).不能作为商品参与交易

C).是在计算机硬件设备生产过程中生产出来的 D).只存在于计算机系统工作时

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

D).方框图

34.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意(C)。 A).支持逐步求精 B).考虑控制流程

C).遵守结构化设计原则

D).数据结构表示

35。软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是(B)。 A).减少测试工作量

B).减免后期付出高代价 C).保证软件质量

D).缩短软件开发周期

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

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

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

39。软件设计中,可应用于详细设计的工具有(A)。 A).程序流程图、PA)D)、方框图和伪码 B).数据流程图、PA)D)、结构图和伪码

C).业务流程图、N-S图和伪码

D).数据流程图、PA)D)、N-S图和伪码

40。软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(D)问题。 A).产生危机 B).质量保证 C).开发效率 D).生产工程化

41。软件开发的结构生命周期法的基本假定是认为软件需求能做到(C). A).严格定义 B).初步定义 C).早期冻结 D).动态改变

42。软件工程的结构化分析方法强调的是分析开发对象的(C)。 A).数据流 B).控制流 C).时间

D).进程通信

43。瀑布模型将软件生命周期归纳为个时期,即计划期、开发期和运行期。下列(D)不属于开发期内的工作。 A).总体设计 B).详细设计

C).程序设计 D).维护

44。软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基本依据则是用户提出的软件(B)。 A).系统质量 B).系统目标

C).系统功能 D).系统性能

45。软件可行性分析是着重确定系统的目标和规模。对功能、性能以及约束条件的分析应属于下列之中的(B)任务。 A).分析 B).估价

C).制定制度

D).进度分配

46。软件可行性分析是着重确定系统的目标和规模。对功能、性能以及约束条件的分析应属于下列之中的(A)。 A).经济可行性分析 B).技术可行性分析 C).操作可行性分析 D).开发可行性分析

47。结构化方法将软件生命周期分为计划、开发和运行3个时期,下列任务中(B)属于计划时期的任务。 A).需求分析

B).问题定义

C).总体设计 D)编码

48。耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B)方式。 A).内容耦合 B).公共耦合 C).外部耦合

D).控制耦合

49。内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)方式。 A).逻辑内聚 B).时间内聚 C).过程内聚

D).顺序内聚

50。软件测试基本方法中,下列(D)不用测试实例。 A).白盒测试法 B).动态测试法

C).黑盒测试法 D).静态测试法

51。软件管理中,需要对软件进行配置,各阶段文档的管理属于(D)。 A).组织管理 B).资源管理

C).计划管理 D).版本管理 52。软件开发的结构化方法中,常用数据字典技术,其中数据加工是其组成内容之一,下述方法(D)是常采用编写加工说明的方法。 Ⅰ结构化语言 Ⅱ判定树 Ⅲ判定表 A).Ⅰ B).Ⅱ C).Ⅱ、Ⅲ D)..都是

53.软件工程方法的产生源于软件危机,下列(A)是产生软件危机的内在原因。 Ⅰ软件的复杂性 Ⅱ软件维护困难 Ⅲ软件成本太高 Ⅳ软件质量难保证 A).Ⅰ B).Ⅲ C).Ⅰ、Ⅳ D).Ⅲ、Ⅳ

。在软件工程实施中,产生软件生命周期的概念是由(A)。 A).方所决定的 B).开发技术划分

C).软件开发规律

D).软件工程管理

55。结构化软件开发期将软件开发划分为3个阶段,其中关键的是(B)。 A).编码的正确性 B).需求的准确性 C).测试的严格性 D).设计的科学性

56。在结构化方法的软件需求定义中,可采用分析工具来辅助完成。下列工具中,(D)是常用的工具。

Ⅰ数据流图 Ⅱ结构图 Ⅲ数据字典 Ⅳ判定表 A).Ⅰ、Ⅲ B).Ⅱ、Ⅲ C).Ⅰ、Ⅱ、Ⅳ D).Ⅰ、Ⅲ、Ⅳ

57。软件工程的结构化分析方法具有自身的特征,下列可选内容中,(B)不具有其特征。 A).书写大量文档

B).详细的界面表示C).对数据流进行分析 D).冻结应用需求

58.详细设计是软件总体设计滞后的工作。下列可选内容中,(C)不属于详细设计内容。 A).算法设计 B).模块设计

C).屏幕设计 D).功能设计

59。软件评审时保证软件质量的重要措施,它是对软件开发阶段成果的复审。下列(A)是复审的必须内容。

Ⅰ需求复审 Ⅱ总体设计复审 Ⅲ详细设计复审 Ⅳ程序复审 A).Ⅰ、Ⅱ、Ⅲ B).Ⅱ、Ⅲ、Ⅳ C).Ⅰ、Ⅲ、Ⅳ D)全部

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

D).明确软件质量标准

61。在软件开发过程中,软件结构设计是描述(B). A).数据存储结构 B).软件模块体系 C).软件结构测试 D).软件控制过程 二.填空题

1软件质量与产品运行特性为,健壮性,效率,安全性,可用性,风险性和可靠性.

2软件工程的目的是成功地建造大型的软件系统,主要内容是软件开发技术和软件工程管理两方面

3软件开发方法的主要目的是克服软件手工生产,使软件开发能进入工程化和规范化的环境 4软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的工程管理.

5瀑布模型把软件生命周期划分为软件定义,软件开发,与运行与维修3个阶段,而没个阶段又可分为若干个小更小的阶段.

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

7文档是软件开发人员,维护人员,用户,以及计算机之间的桥梁.

8在软件生命周期的各个阶段都会产生一系列的文件,如手册,数据和程序等,他们总称为软件配置

9软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要是关于软件系统目标

10.软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是分析人员和用户人员 11.可行性研究的目的是要用最小的代价,在尽可能段的时间内确定软件项目的可行性 12.从可行性研究从技术可行性经济可行性,和社会可行性3各方面进行论证.

13软件成本—效益分析的目的是从经济的角度评价软件项目的开发是否可行.

14.在可行性研究中,要用软件的描述工具画出现行系统流程图,它反映了现行系统的基本功能和处理流程.

15.流程系统图表达了系统中各个元素之间信息的流动情况.

16需求分析阶段需要编写的文档有:需求规格说明书,初步用户使用手册和确认测试计划. 17.软件计划包括总体设计(或概要设计)和详细设计两个阶段. 18.软件概要设计的成果是软件设计说明书.

19.软件的详细设计,也称模块设计.它要求设计人员为每一个程序模块确定所使用的算法,数据结构,接口细节和输入,输出数据等.

20.结构化分析方法是面向数据流进行分析的方法.

21.在软件开发的结构化方法中,构成系统逻辑模型的是数据流和数据字典.

22.数据流图是描述数据在软件中流动和被处理的过程,是软件模型的一种图示,它一般包括4种图形符号:变换/加工,外部实体,数据流向和数据储存.

23.判定表是一种用以描述软件加工时组合条件的一种图示方法,一般它由条件和条件项目以及操作部和操作组成.

24.数据字典有4类条目,它们是数据项,数据流,数据储存和基本加工.

25.数据流图采用4种符号表示数据储存,数据源点和终点,数据流向和数据加工. 26.面向数据流的软件设计中,一般是把数据流图的数据流划分为变换流和事物流 27.结构化分析方法用于加工逻辑的工具有结构化语言、判定表、判定树共三种工具。 28.在软件研制过程中,CASE是指计算机辅助软件工程。

29.计算机辅助软件工程(CASE)的目标是实现软件开发各个阶段的自动化。 30.PAD是一种详细设计工具。

31.模块的性可以通过软件的耦合性和内聚性这两个指标来衡量。 32.软件模块性的两个定性度量标准是内聚性和耦合性。 33.为了便于软件模块的维护和测试,模块的接口应当简单。

34.在白盒法测试中,对程序的语句逻辑有6种覆盖技术,其中发现错误能力最强的技术是 路径覆盖技术。

35.若有一个计算类型程序,它的输入量只有一个X,其范围是[-1.0,1.0]。现在输入的 角度考虑设计一组测试该程序的测试用例为-1.001,-1.0,1.0,1.001,设计这组测 试的方法是边界值分析法。

36.软件测试中路径覆盖测试是整个测试的基础,它是对软件的结构进行测试。 37.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。 38.回归测试是校正性维护中最常运用的方法。 39.软件复审时,其主要的复审对象是软件文档。 40.软件项目开发计划属于管理文档。 3.8同步练习 一,选择题

1.软件危机通常是指在计算机软件开发和维护中所产生的一系列严重的问题,这些问题中相对次要的因素是( ) A)软件功能 B)文档质量 C)开发效率

D)软件性能

2.以下( )不是软件危机的表现形式。 A)开发的软件不满足用户的需要 B)开发的软件可维护性差

C)开发的软件价格便宜 D)开发的软件可靠性差

3.软件危机是软件产业化过程中出现的一种现象,下述现象: Ⅰ.软件需求增长难以满足 Ⅱ.软件开发成本提高 Ⅲ.软件开发进度难以控制 Ⅳ.软件质量不易保证 ( )是其主要表现。 A)Ⅱ,Ⅲ和Ⅳ B)Ⅲ和Ⅳ C)全部

D)Ⅰ,Ⅱ和Ⅲ

4.比较成熟的软件开发方法是( ) A)面向数据库的方法 B)软件工程的开发方法 C)结构化的程序设计方法 D)面向对象的开发方法 5.软件工程的目的是( )。 A)建造大型的软件系统 B)软件开发的理论研究 C)软件的质量的保证

D)研究软件开发的原理

6.软件工程的出现主要是由于( )。 A)程序设计方法学的影响 B)其它工程科学的影响

C)软件危机的出现 D)计算机的发展

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在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于( ). A)维护时期 B)计划时期 C)运行时期 D)开发时期

16软件工程的结构花生命周期方法,通常将软件生命周期划分为计划、开发和运行三个周 期,下述( )工作应属于软件开发期的内容. I需求分析 II可行性研究 III总体设计 A)只有I B) I和II C) I和III D) 全部

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

18软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是( ). A)设计人员和用户 B)分析人员和用户 C)分析人员和设计人员 D)编码人员和用户

19软件计划的目的是提供一个框架,使主管人员对项目能在短期内进行合理的估价,下述( ) 不属于计划期的内容. A)资源需求 B)成本估算 C)项目进度

D)功能需求

20软件可行性一般不考虑( ).

A)是否有足够的人员和相关的技术来支持系统开发 B)待开发的软件是否有质量问题

C)待开发的软件是否有市场,经济上是否合算

D)是否有足够的工具和相关的技术来支持系统开发

21软件工程开发的可行性研究是软件项目是否继续开发的关键,而可行性研究的结论主要

相关于( ). A)软件系统目标 B)软件的性能 C)软件的功能 D)软件的质量

22可行性分析是软件开发计划阶段的重要环节,下述结论( ) I可行 II不可行 III改变目标 IV追加条件

分析后可能出现的情况是( ). A)I和II B)II和III C)I和II和III

D)全部

23下列所述不是软件的组成的是( ). A)程序 B)数据 C)界面

D)文档

24软件开发的需求活动,其主要任务是( ). A)给出软件解决方案

B)定义需求并建立系统模型 C)定义模块算法

D)给出系统模块结构

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

D)完整性

26软件需求说明书中包括多方面的内容,下述( )不是软件说明书中应包括的内容. A)数据描述 B)功能描述 C)性能描述 D)结构描述

27软件需求分析阶段建立原型的主要目的是( ). A)确定系统的功能和性能要求 B)确定系统的性能要求 C)确定系统是否满足用户要求 D)确定系统是否开发人员需要 28数据需求说明书的编制处于( )阶段. A)需求分析 B)可行性研究

C)需求分析和总体设计

D)可行性研究和需求分析

29需求分析是由分析人员经了解用户的需求,认真仔细的调研、分析,最终应建立目标系统的逻辑模型并写出( ). A)模块说明书 B)需求规格说明书 C)项目开发设计

D)合同文档

30软件设计是一个把( )转换为软件表示的过程. A)代码设计 B)软件需求 C)详细设计

D)系统分析

31软件设计是软件需求分析的继续,下述内容 I软件结构 II软件过程

III软件模块 IV程序风格

( )是软件设计阶段所应包含的. A) I B)I和II

C)I和II和III D)全部

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

33下面说法不正确的是( ). A)流程图不易表示数据结构

B)流程图容易造成非结构化的程序结构 C)流程图支持逐步求精

D)流程图描述的是程序的逻辑结构

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

D)代码编写

35.软件的( )设计有称为总体结构设计,其主要任务是建立软件的总体结构。 A) 概要 B) 抽象

C) 逻辑 D) 规划

36.下列所述不是软件的特点的是( ).

A) 软件是有形的

B) 软件不存在磨损和消耗问题 C) 软件开发成本高

D) 软件没有明显的制作过程

37.软件生产发展经历了程序设计时代、( )和软件工程时代。 A)结构化设计时代 B)面向对象设计时代 C)程序系统时代 D)集体开发时代

38.软件的结构化设计(SD))方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主要是要建立( )。 A)软件结构 B)软件流程 C)软件模型

D)软件模块

39.软件需求分析一般应确定得是用户对软件的( )。 A)功能需求 B)非功能需求 C)性能需求

D)功能需求和非功能需求

40.软件设计中的软件过程主要描述( ) A)模块间的关系 B)模块操作细节 C)模块控制方法 D)模块类型

41.软件工程过程包括4种基本活动,下列所述不属于软件工程过程的4个基本活动得是( ) A)软件规格说明 B)软件测试 C)软件开发 D)软件演进

42.软件详细设计阶段的任务是( ) A)确定程序文件名 B)确定模块的算法 C)确定变量名

D)确定使用的语言

43.软件详细设计阶段属于软件生命周期的( )阶段。 A)需求分析 B)软件设计 C)编码

D)软件维护

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

D)编码设计

45.瀑布模型把软件生命周期划分为软件定义、软件开发与( )3个阶段,而每一个阶段又可细分为若干个更小的阶段。 A)详细设计 B)可行性分析 C)运行及维护 D)测试与排错

46.结构化分析(SA)是软件开发需求分析阶段所使用的方法,不是SA所使用的工具。 A)DFD图 B)PAD图 C结构化语言 D)判断树

47.结构化分析方法以数据流图、( )和加工说明等描述工具,即用直观的图和间洁的语言来描述软件系统模型。 A)DFD图 B)PAD图

C)HIPO图 D)数据字典

48.结构化分析方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语言描述软件系统模型。 A)效率

B)速度 C)可读性 D)大小

49.结构化设计方法在软件开发中用于( )。 A)概要设计 B)程序设计

C)详细设计 D可靠性分析

50.结构化程序设计的一种基本方法是( ) A)筛选法 B)递归法 C)迭代法

D)逐步求精法

51.( )既可以用于模块开发阶段,也可用于算法实现的详细设计阶段。 A)流程图 B)数据流图 C)结构图 D)SC图

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

53.下列关于软件设计准则的描述,错误的是( )。 A)提高模块的性

B)深度、宽度、扇出和扇入适当

C)使摸块的作用域在该模块的控制域外 D)设计成单入口、单出口的模块

.结构化程序从理论上可以不使用( )语句。当然程序是否使用该语句是无关紧要的,重要的是程序的结构是否严谨、清晰。 A)AND B)IF C)FOTO

D)STOP

55.能反映出软件结构的是( )。 A)数据流图 B)判断树

C)判断表

D)软件程序结构图 56.复杂的数据流图( )。 A) 只有变换型 B)只有事务型

C)无规律

D)既有变换型又有事务型

57.软件开发的结构化分析方法,常用的描述软件功能需求的工具有( )。 A)业务流程图,数据字典 B)软件流程图,模块说明 C)数据流程,数据字典

D)系统流程图,程序编码

58.数据流图的正确性是保证软件逻辑模型正确性的基础,与上述问题相关性的内容是( )。 A)数据守恒 B)均匀分解 C)文件操作

D)图形层数

59.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的( ) A)总貌 B)细节 C)抽象

D)软件的作用

60.数据流图中,当数据流向或流自文件时,( )。 A)数据流要命名,文件不必命名

B)数据流不必命名,有文件名就足够了

C)数据流和文件均要命名,因为流出和流进的数据流是不同的 D)数据流和文件均不用命名,通过加工可自然反映出

61.数据流图(DFD)是用于描述结构化方法中( )工作阶段的工具。 A)可行性分析 B)需求分析

C)详细设计

D)程序编码

62.数据字典(DD)是定义( )描述工具中的数据的工具。 A)数据流图 B)系统流程图 C)程序流程图 D)软件结构图

63.数据字典用于描述( )的具体含义时对处理中每个数据严格定义以保证数据在系统中的一致性。 A)数据流 B)数据流图 C)数据

D)变换

.用方框图作为详细设计工具时,将用到工具---数据盒,下述( )不是数据盒描述的对象 (A) 全局数据 (B) 局部数据

(C) 数据结构 (D) 执行过程

65.数据流图是用于软件需求分析的工具,下列元素() Ⅰ.数据流 Ⅱ.加工 Ⅲ.数据存储 Ⅳ.外部实体 A) Ⅰ, Ⅱ和Ⅲ B) Ⅰ和Ⅱ C) Ⅰ, Ⅲ和Ⅳ D) 全部

66.软件工程管理包括软件管理学,软件工程经济学,软件心理学等.下列叙述中不是软件工程经济学所研究的是(). A) 成本估算 B) 市场分析

C) 成本效益分析方法

D) 成本效益分析技术

67.软件开发环境是指支持软件产品开发的软件系统,它由软件工程集和环境集成机制构成.环境集成机制为工具集和和软件开发,维护与管理提供统一的支持,它通常包括3部分,下列不属于3部分的是() A) 数据集成 B) 控制集成 C) 功能集成

D) 界面集成

68.数据流图是进行软件需求分析常用的工具,其中最基本的图符是:变换,数据流,数据存储和外部实体,其中用()图符来代表图中的数据源/潭. A) 变换 B) 数据流 C) 数据存储 D) 外部实体

69.数据流图是描述数据在软件中流动和变换的过程,而对数据流图中所包含的元素的定义则是()

A) 数据存储 B) 数据加工 C) 数据字典

D) 数据定义

70.遵守数据守恒与否是检查数据流图正确性的措施之一,而违背数据守恒的情况只能出现在()

A) 数据存储 B) 数据流 C) 数据加工 D) 数据组合

71.技术可行性研究是指根据客户提出的系统功能,性能及现实系统的各项约束条件,从技术角度研究实现系统可行性.下列不是可行性研究的内容是() A) 需求分析 B) 风险分析

C) 资源分析 D) 技术分析

72.Jackson设计方法是由Jackson所提出的,它是一种面向()的软件设计方法. A) 对象 B) 数据流

C) 数据结构 D) 控制结构

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

D) 有规则GOTO

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

D) 绝对不是结构化程序

75.软件开发的瀑布模型最典型地刻画了软件生命周期的阶段划分,而与其最相适应的软件开发的方法是() A) 构件化方法 B) 面向对象方法 C) 结构化方法 D) 原型化方法

76.伪码又称为程序设计语言PDL,一种典型的PDL是仿照()编写的. A) FORTRAN B) 汇编语言 C) PASCAL 语言 D) COBAL 语言

77.伪码作为详细设计的工具,缺点在于()

A) 每个符号对应于源程序的一行代码,对于提高系统的可理解性作用很小

B) 不如其他图形工具直观,描述复杂的条件组合于动作间的对应关系不够明了 C) 容易使程序员不受任何约束,随意转移控制

D) 不支持逐步求精,使程序员不去考虑系统的全局结构

78.从需求分析建立的模型的特性来分,需求分析方法又分为()和动态分析方法. A) 结构化分析方法 B) 面向对象分析方法 C) 静态分析方法 D) 面向数据流分析方法

79.结构化生命周期方法具有各种特征,下列各种描述中,()不是结构化方法的特征. A) 严格定义需求 B) 划分开发阶段 C) 提供运行模型

D) 制定规范文档

80.结构化分析方法最后提供的文档是软件的() A) 功能说明书 B) 加工说明书

C) 可行性分析报告

D) 结构说明书

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

82.下列叙述中不属于软件生命周期模型的是() A) 瀑布模型 B) 快速原型模型 C) 操作模型 D) 原子模型

83.软件结构中有度量软件结构的术语,而表示控制的总分布的术语则是软件结构的() A) 深度 B) 宽度 C) 扇出

D) 扇入

84.软件设计模块化的目的是() A) 提高易读性 B) 降低复杂性 C) 增加内聚性

D) 降低耦合性

85.模块的性是软件模块化设计的关键之一,一般用内聚和()两个定性标准来度量模块的性.

A) 软件的质量 B) 一致性

C) 可重用

D) 耦合

86.软件开发期包括分析,设计和实施两类任务,其中实施包括编码和() A) 总体设计 B) 运行 C) 详细设计 D) 测试

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

D) 控制耦合

88.信息隐蔽的概念与下述()概念直接向关. A) 软件结构定义 B) 模块性

C) 模块类型划分 D) 模块耦合度

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

C) 控制耦合 D) 标记耦合

90.一个模块内部各个程序段都在同一张表上操作,这个模块的内聚性称为(0 A) 时间内聚 B) 功能内聚 C) 通信内聚

D) 顺序内聚

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

D) 低耦合,低内聚

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

D) 时间内聚

93.内聚性是对模块功能的衡量,下列选项中,内聚性较强的是 A). 逻辑内聚 B) 顺序内聚

C) 偶然内聚 D) 功能内聚

94.模块间的耦合性越强,说明模块之间的联系越密切,耦合性较弱的是()

A) 非直接耦合

B) 控制耦合 C) 内容耦合 D) 公共耦合

95.需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一.下列不是需求规格说明书的内容的是() A) 数据描述 B) 功能描述 C) 性能描述 D) 人员分工

96.软件测试是保证软件质量的重要措施,太的实施应该是在() A) 程序编码阶段 B) 软件开发全过程 C) 软件运行阶段

D) 软件设计阶段

97.软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要用于测试() A) 结构合理性 B) 软件外部功能 C) 程序正确性

D) 程序内部逻辑

98.在软件测试中设计测试实例主要由输入输出数据和()两部分组成. A) 测试规则 B) 测试计划

C) 预期输出结果

D) 以往测试记录分析

99.在软件工程中,软件测试的目的是() A) 试验性运行软件 B) 发现软件错误

C) 证明软件是正确的

D) 找出软件中的全部错误

100.在软件工程中,当前用于保证软件质量的主要主要技术手段还是() A) 正确性说明 B) 测试

C) 自动程序设计

D) 符号证明

101.软件设计是软件工程的重要阶段,是一个把软件需求转换为软件表示的过程.下列有关软件设计重要性和地位的叙述中错误的是()

A) 软件开发阶段(设计,编码,测试)占软件项目开发总成本的绝大部分 B) 软件设计不是将需求准确地转化为完整的软件产品或系统的唯一途径 C) 设计是软件工程和软件维护的基础

D) 软件设计作出的决策最终影响软件实现的成败 102.单元测试又称为(),一半用黑盒法测试 A) 集成测试 B) 模块测试

C) 系统测试

D) 白盒法

103.软件测试是软件开发过程的重要阶段,是软件质量保证的重要手段,下列()是软件测试的任务. Ⅰ.预防软件发生错误 Ⅱ.发现改正错误程序 Ⅲ.提供诊断错误信息 只有Ⅰ 只有Ⅱ 只有Ⅲ 都是

104.对软件是否能达到拥护所期望的要求的测试称为() A) 集成测试 B) 系统测试 C) 有效性测试 D) 验收测试

105.以下()不属于白盒测试技术 A) 基本路径测试 B) 边界值分析 C) 循环覆盖测试 D) 逻辑覆盖测试

106.()能够有效地检测输入条件的各种组合可能会引起的错误 A) 等价类划分 B) 边界值分析 C) 错误推测

D) 因果图

107.()方法需要考察模块间的接口和各个模块之间的关系. A) 单元测试 B) 集成测试 C) 确认测试

D) 系统测试

108.软件测试是软件开发过程中重要的和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中最基础的是() 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.白盒测试法属于() A) 单元测试 B) 静态测试

C) 集成测试 D) 动态测试

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

C) 功能 D) 逻辑]

115.程序测试是一项复杂的工作,一般测试者在进行测试中都需要设计() A) 数据结构 B) 测试实例 C) 测试阶段

D) 测试方法

116.系统测试是将软件系统与硬件,外设和其他系统元素结合,对整个软件进行测试,下述()不是系统测试的内容. A) 功能测试 B) 路径测试 C) 安装测试 D) 安全测试

117.软件测试与排错是两类相互联系而又性质不同的活动,下述()不具有排错活动的特征. A) 修改程序

B) 运行推理和归纳方法 C) 了解程序细节 D) 运用测试实例

118.从技术观点上看,软件设计包括软件结构设计,数据设计,借口设计和() A) 过程设计 B) 代码设计 C) 流程设计 D) 数据库设计

119.若一模块明显地把开关量,名字等信息送入另一个模块,控制另一模块的功能,则称为这种耦合方式为() A) 外部耦合 B) 公共耦合 C) 控制耦合

D) 内容耦合

120.()能发现程序中的错误并能证明程序中不存在错误 Ⅰ.静态测试 Ⅱ.动态测试 Ⅲ.正确性证明 A)Ⅰ和Ⅱ B)Ⅰ和Ⅲ C)Ⅱ和Ⅲ D)都是

121.系统测试任务中,系统级的功能验证由()进行 A) 软件设计人员和用户制定验收测试计划 B) 用户或用户代表制定验收测试计划 C) 软件设计人员和用户

D) 软件设计人员和管理人员共同研究

122.软件测试是软件开发过程的重要阶段,()是软件检测中最后的,最完善的测试. A) 集成测试

B) 验收测试 C) 有效性测试 D) 系统测试

123.软件系统的测试包括如下5类,他们的测试顺序为 Ⅰ.验收测试 Ⅱ.系统测试 Ⅲ.模块测试 Ⅳ.集成测试 Ⅴ. 有效性测试 A)Ⅲ, Ⅱ, Ⅳ, Ⅴ, Ⅰ B)Ⅲ, Ⅱ, Ⅳ, Ⅴ, Ⅰ

C)Ⅴ, Ⅱ, Ⅲ, Ⅰ, Ⅴ D)Ⅲ, Ⅳ, Ⅴ, Ⅱ, Ⅰ

124.软件测试是软件质量保证的必要和重要环节,下述() Ⅰ.软件功能 Ⅱ.软件结构 Ⅲ.软件性能 Ⅳ.软件资料 A)Ⅰ和Ⅱ B)Ⅰ和Ⅲ

C)Ⅰ和Ⅱ和Ⅲ D)全部

125.回归测试是()最常运用的方法

A) 校正性测试

B) 适应性测试 C) 完善性测试 D) 预防性测试

126.软件的可维护度量可分解为对多种因素的度量,下述各种因素 Ⅰ.可测试性 Ⅱ.可理解性 Ⅲ.可修改性 Ⅳ.可复用性

()是可维护性度量的内容 A)Ⅰ和Ⅱ B)Ⅰ C)Ⅰ, Ⅱ和Ⅲ D)全部

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

128.影响软件维护的因素一般包括:人员因素,技术因素和管理因素,就程序本身的技术因素可言,下述()一般不会影响到维护工作. A) 软件规模 B) 软件年龄 C) 软件结构 D) 开发工具

129.软件维护是在用户使用软件期间对其所做的补充,修改和增加,下述各类维护中,一般工作量最大的是(). A) 适应性维护 B) 完善性维护 C) 校正性维护 D) 其他维护

130.测试应该由()完成. A) 与源程序无关的程序员 B) 编制该源程序的程序员 C) 不了解软件计划的机构 D) 设计该软件的机构

131.软件复审是保证软件质量的重要技术手段, 复审的主要目的和效果是(). A) 较早发现程序错误 B) 做测试的前期准备 C) 较早发现软件的缺陷 D) 严格贯彻工程规范

132.软件复审时其主要的复审对象是(). A) 软件结构 B) 软件文档

C) 程序编码

D) 文档标准

133.概要设计的基本任务有4条,下列不是概要设计的任务的是() A) 设计软件系统结构 B) 测试用例设计

C) 数据结构和数据库设计 D) 编写概要设计文档

134.软件工程经验证明软件开发要掌握40-20-40规则,他强调了软件开发中的() A) 设计,编程和测试 B) 分析,设计和编程 C) 分析,设计和测试 D) 分析,编程和测试

135.在软件研制过程中,CASE是() A) 指计算机辅助系统工程 B) CAD和CAM技术的发展动力 C) 正在实验室的工具

D) 指计算机辅助软件工程

136.在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的() A) 可靠性 B) 健壮性 C) 可用性

D) 安全性

137.软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,经常使用的结构图有4种模块类型,他们是传入模块,传出模块,变换模块和() A) 协调模块 B) 功能模块 C) 对象模块

D) 结构模块

138.与软件开发方法密切相关的应是支持该方法实施的软件工具,将它们有机地集成起来则构成一个() A) 软件工程环境 B) 软件开发规范 C) 软件生产线 D) 软件开发工具

139.应用软件开发中有诸多困难,如 Ⅰ.缺少系统的方法 Ⅱ.开发工具不完整 Ⅲ.用户需求多变化 Ⅳ.系统分析员不足 ()是开发时最难克服的困难 A).Ⅰ B).Ⅱ C).Ⅲ D).Ⅳ

140.不同的质量因素可从产品运行,产品修改和产品转移3方面分别反映软件产品使用时用户的不同观点,下述 Ⅰ.正确性 Ⅱ.健壮性 Ⅲ.重用性

()是与产品运行有关的特性 A)Ⅱ和Ⅲ B)Ⅰ和Ⅲ C)Ⅰ和Ⅱ D)全部

141.在发现错误后,排错(找到错误的原因并加以纠正)应由()来完成. A) 测试者 B) 资源程序员 C) 用户 D) 分解

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程序的3种基本控制结构,它们的共同点是( )。 A) 不能前嵌套使用。

B)只能用来写简单的程序。 C)已经用硬件实现。 D)只有一个入口和出口。

150为了提高程序的输入和输出效率,应该遵循( )。

Ⅰ与外存有关的输入输出操作,应尽快的传送数据。 Ⅱ 所有的输入输出操作应缓存,以避免过于频繁的信息交换。

Ⅲ 对余外存,应采取简单有效的存取方法。 Ⅳ与终端和行试打印机相关的输入输出,应充分考虑 设备的特性,改进质量和速度 A) Ⅱ Ⅲ Ⅳ B) Ⅰ Ⅲ Ⅳ C) Ⅱ Ⅲ D) 都是

151当运行程序改变了,原程序仍可以保持不变是计算机的( )特性。 A) 编译效率。 B)可一致性。 C)可维护性。 D)节俭性。

152对软件工程环境的衡量标准主要表现在以下3方面,( )是衡量的标准。 Ⅰ 可扩性

Ⅱ 整体性 Ⅲ 通用性和适应性 A) Ⅰ和 Ⅲ B) Ⅱ C) 全部

D) Ⅱ和 Ⅲ

153软件修改是带有一定的风险的,与软件维护有关的副作用可表现为( )。 Ⅰ 修改程序的副作用 Ⅱ 修改数据的副作用 Ⅲ 多用户影响的副作用 Ⅳ 文档资源的副作用 A) Ⅰ,Ⅱ , Ⅲ B) Ⅱ , Ⅳ C) Ⅰ,Ⅱ , Ⅳ

D) Ⅱ , Ⅲ

1项目开发总结一般在( )结束时成。 A)需求分配阶段。

B)测试阶段。

C)设计阶段。

D)运行维护阶段。

155软件工程环境按软件生命周期的不同阶段可分为4类,( )包括程序政确性证明,验证及软件测试的功能。 A)软件开发环境。 B)软件维护环境。 C)软件项目管理环境。 D)软件质量保证环境。

156软件开发离不开系统环境资源的支持,其中必要的测试数据属于( )。 A)硬件资源 B)通信资源 C)支持软件 D)辅助软件

157计划管理包括对整个软件生命周期的计划安排和执行,工作量的估算和分配及具体的进程安排。进程安排中占用时间相对较少,而占用人力最多的阶段往往属于( )阶段。 A)软件测试。 B)软件编码 C)软件设计

D)软件计划

158 C ASE工具的作用是( )。 A) 使管理人员便于管理

B)提高软件生产率和软件质量。 C) 提高软件通用性。 D)是最终用户使用方便

159在对数据流图的分析,主要是找到中心变换,是从数据流图导出( )的关键。 A)逻辑结构图 B)实体关系图 C)程序流程图 D)结构图

160程序内部的各个部分之间存在的联系,用结构图表示时,最受关注的是模块的内聚性和( )。 A)作用域 B)耦合性 C)性

D)有效性

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

D)粒度

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

D)结构图

163面向数据结构的设计方法(J ACkson方法)是进行( )形式化的方法。 A)系统设计 B)详细设计 C)软件设计

D)编码

1结构化设计方法(S D)与结果化分析方法(S A)一样,遵循( )模型,采用逐步求精技术,S D方法通常与S A相联,即依数据流图设计程序的结构。 A)实体 B)原型 C)抽象思维 D)生命周期

165( )把已确定的软件需求转换成特定形式的设计表示,使其得以实现。 A)系统设计 B)详细设计 C)逻辑设计

D)软件设计

166为了最终实现目标系统,必须设计出组成这个系统的所有程序和文件,通常分为两个阶段完成,即( )和过程设计。 A)程序设计 B)结构设计

C)系统设计 D)详细设计

167与早期的软件开发方式比较,结构化生命周期法最重要的指导原则应该是( )。 A)自顶向下设计 B)分阶段开发 C)逐步求精

D)用户需求至上

168通常程序中的一个模块完成一个适当的子功能,因此因该把模块组织成良好的( )。 A)紧耦合系统 B)松散系统 C)层次系统

D)系统结构

169需求分析过程中,对算法的简单描述记录在( )中。 A)层次图 B)数据字典 C)数据流图

D)HIPO图

170软件开发的原型化方法是一种与结构化方法具有不同策略的方法,其最有效的应用领域应该是( )。 A) 科学计算 B)工程设计 C) 管理信息 D)过程控制

171.瀑布模式是一种 ( )。 A)软件维护模式 B)软件生命周期模式 C)软件生命周期 D)程序设计方法学

172.( )考虑对系统的具体版本进行描述和生成。 A)生成控制 B)需求分析 C)系统设计 D)版本设计 二,填空题

1.软件开发技术包括:软件开发方法学、工具和环境支持,其内容是 。 2.软件工程中,开发阶段包括 、概要设计、详细设计、编码及测试几个阶段。 3.在软件工程中,高质量的文档标准是完整性、一致性和 性。

4.软件的生产经历了程序设计、程序系统和 3 个阶段。

5.软件开发方法中的结构化方法是一种面向数据流的开发方法,其指导思想是 。

6.综合应用观点和虚拟机观点,软件可分为系统软件、 和应用软件3类。

7.软件工程的结构化生命周期方法中,一般将软件设计阶段划分为 和详细设计两个阶段。 8.总体设计阶段主要由两个小阶段组成,首先要进行 ,然后进行软件结构设计。

9. 阶段主要完成的任务是确定每个模块的具体执行过程。 10.软件的详细设计可采用图形、 和过程设计语言3种形式的描述工具表示模块的处理过程。 11.软件工程是一种 分阶段实现的软件程序开发过程。 12.采用自顶向下逐步分解的分析方法是 。

13.软件详细设计的方框图方法常用两个盒子;数据盒和过程盒,在数据盒中包含四种描述,它们是 ,局部数据,数据结构和调用参数模式。

14.软件的详细设计需要设计人员为每个设计模块确定所使用的算法、 、接口细节和输入、输出数据等。

15.软件需求说明包括概述、数据描述、功能说明、 参考文献目录和附录。

16. 是为了便于了解程序所需的资源说明,是与程序的开发、维护和使用有关的资料。 17.软件可分为应用软件、系统软件和支撑软件3种。其中 是最靠近硬盘的一层。 18.对于变形的数据流图,按照软件设计的思想,要将一个大型复杂的软件进行分解,要确定数据流图的 、逻辑输入、逻辑输出。

19.软件结构以图形的方式表示 。

20.Jackson 方法可以实现从 推导出程序结构。

21.软件工程标准化所涉及的主要内容是:软件开发程序、软件设计、 、和项目管理。

22.在程序设计时代的生产方式是个体手工劳动,使用的工具是 和汇编语言,主要通过编程来实现,不重视程序设计方法。

23.面向数据流的设计方法定义了不同的映射方法,可以将数据流图映射和变换成 。 24.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个 集体过程。 25.程序系统时代的生产方式是作坊式小集团生产,生产工具是高级语言,开始提出 。

26.数据守恒是数据流图绘制中应遵守的原则,而违反此原则的情况一般是: 某加工未得到应输入得数或 。

27.软件工程时代 的生产方式是 ,使用数据库、开发工具、开发环境、网络、先进的开发技术和方法。

28.软件系统中的 各模块一般在纳入时间、 和控制方法等方面可以不同。

29.在面向数据流的设计方法中,一般定义了一些不同的映射方法,利用这些方法可以把 换成软件结构。

30.软件中详细设计一般是在 基础上才能实施,它们一起构成了软件设计的全部内容。 31.软件质量因素中,系统在完成应该完成的功能时,另人满意的程度称为 。 32.数据流一般可以分为 和 两钟

33. 阶段的任务是确定软件系统需要解决的问题。 34.在映射中,一般将数据流分为 和事物流两钟 35.目前用于保证软件质量的主要手段是 。 36.结构化程序设计主要强调程序设计的 。

37.仅依据规格说明书描述的程序功能来设计测试用例的方法称为 。

38.近些年来形成了软件开发的多种模式。大致有3钟类型:基于瀑布模式结构化方法,基于生命周期动态定义需求的 方法和基于结构的面向对象的软件开发方法。

39.程序是按既定算法,用某种计算机语言所规定的指令和语言编写的一系列指令或语言的集合。 是程序再加上程序实现和维护程序所需的文挡的总称。

40.可行性研究中着重考虑的是下列具体方案:经济可行性、技术可行性和 。 41.按照结构化方法的模型进行的软件开发具有以下特点:阶段性、推迟实施和 。 42. 在软件工程中普遍遵守的软件工程原则的4个因素分别是可维护性、可靠性、 和效率。

43.软件工程管理包括: 和软件工程经济学两个部分。

44.瀑布模式强调将逻辑设计与物理设计清楚的划分开来,尽可能推迟程序的物理实现。快速原形仅包括未来系统的 ,以及系统的重要接口,以提高设计的效率。

45. 阶段的任务是确定软件系统所需要解决的任务,分析人员应提出软件系统的目标与范围的说明。

46.由于软件生产的复杂性和高成本,使大型软件生产出现了很多问题,即出现 。 软件工程正是为了克服它而提出了一种概念及相关方法和技术。 47.对于大型软件,为了控制复杂性,结构化方法采用 。

48. 是描述信息在软件系统中流动和处理图象的一种工具。 49.数据字典的实现有3种方法:人工过程、自动化过程和 。

50.在软件开发的结构化方法中,构成系统逻辑模式的是 和数据流。

51.数据流包括4种基本符号:园框代表变换/加工,方框代表外部实体,箭头代表数据流,双杠代表 。

52.结构图是描述软件结构的图型工具。它用方框代表一个模块,用 代表模块之间的模块调用关系。

53. 是从功能的角度来度量模块内的联系,耦合是度量模块之间联系的程度。 .静态测试一般是指人工评审软件文档或 借以发现其中的错误。

55.Jackson方法的设计原则是:使程序结构和数据结构相对应。它用 来描述程序结构。 56.单元是程序中最小的部分,由可以隐含的3 个部分组成:数据输入、加工和 。 57.软件工程的结构化分析方法强调的是分析开发对象的 。

58.软件工程过程是把输入转化为 的一组彼此相关的资料和活动。 60.软件设计规格说明的编写可分为两个阶段。在总体设计阶段应集中于 ,在详细设计阶段应集中于软件元素的细节。

61.JACKSON 方法的原理与WARNIER 方法的原理类似,也是从 出发设计程序,但后者的逻辑要求更严格。

62.提高程序的可读性和可维护性的关键是使用程序结构 。

63.结构化分析方法采用结构化语言、 和判定树这3种半形式化的方法编写加工说明。 .需求分析是 时期最后一个阶段,它的基本任务是准确的回答“系统必须做什么“。

65.软件工程环境按其支持软件的不同生命周期可分为:软件开发环境、项目管理环境、质量保证环境和 。

66.按生命周期划分,软件工具可分为:软件需求分析工具、软件设计工具、软件编码工具和 。 67.软件工程环境按照支持软件的不同生命周期可分为: 软件开发环境、软件项目管理环境、软件维护环境。

68.在结构化程序设计模块调用中, 是指模块的上级模块数。

69.软件开发过程中所使用的资源一般包括人、软件资源、和 3个资源。

70.大型软件系统的测试要分为几个步骤进行,包括模块测试、子系统测试、 和平行运行。 71.在软件结构化设计中,其软件结构中的模块可分为 、增量模块和并行模块。

72.软件结构设计要考虑的问题是在设计软件划分模块时尽量做到 ,模块内部高内聚,同时要保持模块的相对性。 73.验收测试是对软件进行 测试。 74.瀑布模型属于 开发模型。

75.模块分解的主要指导思想是 和模块性。

76.软件模块化方法可将复杂的软件结构分解为结构简单的局部,而衡量模块化程度的重要度量标准是 。

77.模块化指解决一个复杂问题时自顶向下逐层将软件系统划分成若干 过程。

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

79.软件结构中各模块之间相互连接关系的一种度量常称为模块的 。 80.模块具有接口、 、逻辑和状态4中基本属性。 81.数据耦合传递的是 ,标记耦合传递的是 。

82.一般认为,模块的概念是模块化、抽象、 和局部化概念的直接结果。

83.软件开发一般都被化分为的阶段,并完成不同的任务,划分各阶段时,其占用时间相对较少,而又可能占用人力最多的阶段往往是 。

84.软件产品从提出、实现、使用维护到停止使用退役的过程称为 。 85. 阶段的任务是发现和改正程序中的错误。

86.软件动态测试有白盒法和 2种方法。

87.软件测试分为单元测试、 、确认测试、系统测试4个阶段。 88.软件测试中,设计测试用例的主要手段是 。

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

90.软件测试与 是软件质量保证措施中相互联系而又性质不同的两类活动。 91.单元测试是以 作为测试的依据。 92.成功的测试是指发现程序中的 。

93.单独测试一个模块时,有时需要一个 程序驱动测试的模块。

94.所设计的测试用例能使判断表达式中每个条件的各种可能值至少出现一次,这种覆盖称为 。

95.在软件测试中,黑盒测试的主要任务是通过测试来检查程序的 。

96.技术可行性研究是是指根据客户提出的系统功能、性能以及实现系统的各项约束条件,从 角度研究实现系统可行性。

97.软件测试是保证软件质量的重要手段,而测试软件的主要和重要的测试方法是通过测试数

据和 的设计来实现。、

98.软件测试由一系列的测试所组成,而最基本的测试是 。

99.软件测试的目的是尽可能多的发现软件中存在的错误,将 作为纠错的依据。 100.测试用例由输入数据和预期的 两部分组成。

101.软件测试的方法一般分为两大类:动态测试方法和 方法。

102.黑盒测试是功能测试,用黑盒技术设计测试用例有4种方法:等价类划分、 、错误推测和因果图法。

103.黑盒法只在软件的 处进行测试,依据需求规格说明书,程序是否满足功能要求。 104.白盒测试是结构测试,被测试对象是 ,以程序的内部逻辑为基础设计测试用例。 105.白盒法必须考虑程序的内部结构和 ,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试。

106.等价类划分从程序的功能说明,找出一个输出条件(通常是一句话或一个短语),然后将每个输入条件划分成两个或多个 。

107.边界值分析是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的测试数据。如果输入输出域是一个有序集合,则应选取集合的第一个元素和 元素作为测试用例。

108.单元测试主要测试模块的5个基本特征: 、 、重要的执行路径、错误处理和边界条件。 109. 是结构花方法的核心。

110.集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行测试。也称为 测试或 测试。

111.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为 。 112.基本路径测试是在程序控制流程图基础上,通过分析构造的 复杂性,导出 集合,从而设计测试用例。

113. 是开发阶段最重要的步骤,是将需求准确转化为完整的软件产品 或系统的唯一途径。

114.确认测试又称有效性测试,指检查软件的 与 是否与需求规格说明书中明确的指标相符合。

115.确认测试在模拟环境下运用黑盒测试方法,由 和 参加的测试。

116.测试也称纠错,是在成功的测试之后才开始进行的,其目的是确定错误 的 和 ,并改正错误。

117.调试技术包括简单调试法、 、 和回溯调试法。

118.在软件测试中,动态测试和静态测试手段只能发现程序中的错误,而不能证明程序中不 存在的错误,只有 才有可能证明程序的正确性。

119.若一个模块直接访问另一模块的内容,则这两个模块称为 。

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

121.软件测试时,发现错误产生的原因依赖于所使用的调试策略,而主要的调试方法包括试 探法、回溯法、 和演绎法。

122.软件文档应该描述:如何使用这个系统,怎样安装和管理这个系统,系统的 , 系统的安装和测试。

123.结构测试又称 ,与程序内部结构有关,它利用程序结构的实现细节设计测试 实例。

124.路径测试是整个测试的基石,是结构测试之一。路径测试的关键是如何选择和设计 ,使其小到可以被接受而又包括足够多的路径以实现测试目的。路径测试集中考虑

系统的结构,而较少关心细节。

125.程序正确性证明最常用的方法是 ,它对程序提出一组命题。如果在数学上证明 这些命题成立,就能保证程序不发生错误。

126.黑盒测试 (功能测试)不考虑程序内部细节、结构和实现方式,仅考虑程序结果与说 明书的一致性。黑盒法分为以下几种:等价分类法、边界值分析法、 、错误检 测法。

127.完全测试又称为穷举测试,它分为完全功能测试和 测试。

128. 是在已完成的元素测试的条件下证实这些程序元素之间的一致性。系统 测试是软件测试中的最后的、最完整的测试。

129. 是指通常的上机测试。这种方法使程序有控制的进行,并从多种角 度观察运行时的行为以发现错误。

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

131.软件测试中的白盒测试法是属于一类对软件结构的测试方法,它往往将程序视为一组 的集合。

132.程序流程图从本质上不支持逐步求精,它诱使程序员过早的考虑程序的控制流程,不去 考虑程序的 。

133.软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护类型中以 维护所站的维护量最大。

134.PDL又称伪码(),它是一种非形式化的比较灵活的语言。一般来说,伪码的语法规则 分成 和 。

135.软件工程环境按其支持软件生命周期的不同阶段可分为:软件开发环境、项目管理环境、 质量保证环境和 。

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

137.影响软件维护的因素有人员因素、技术因素、 、和程序自身的因素[/]

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务