一. 选择题:
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、为需求分析阶段定义各类条目
6.使用结构化分析方法时,采用的基本手段是____。
A.分解和抽象 B.分解和综合 C.归纳与推导 D.试探与回溯
7.结构化系统分析主要是通过____进行分析的。
A.算法分解 B.控制结构分解 C.数据结构分解 D.处理功能分解
8.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的____。
总貌 B.细节 C.抽象 D.软件的作者
9.变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于____。
A.变换型 B 事务型
10.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图 D.数据字典
11.不适于作为数据流图处理(加工)框名称的是____。
A.人工校核工资数据 B.工资支票数据
C.打印工资支票 D.计算职工工资
12.系统开发人员使用系统流程图或其他工具描述系统,估计每种方案的成本和效益的工作是在______阶段进行的。
A、需求分析 B、总体设计 C、详细设计 D、编码阶段
13.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。
A.概要 B.抽象 C.逻辑 D.规划
14.结构化设计方法是面向____的设计方法。
A.过程 B.对象 C.数据流 D.数据结构
15.Jackson程序设计方法是一种面向 _____ 的设计方法。
A、数据结构 B、数据流图 C、IPO图 D、系统流程图
16.结构化设计采用模块化方法的主要出发点是______。
A、 增加内聚性 B、减少耦合度 C、提高有效性 D、降低复杂度
17.某个模块的作用域是指______。
A、被该模块调用的所用模块 B、调用该模块的所有模块
C、与该模块相关联的所有模块 D、受该模块内的判定影响的所有模块
18.如果模块中所有成分引用共同的数据,该模块内的联系类型是____。
A.顺序内聚 B.功能内聚 C.通信内聚 D.过程内聚
19.初始化模块和结束模块从块内联系看,被称为____模块。
A.过程内聚 B.功能内聚 C.时间内聚 D.逻辑内聚
20.若一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为______。
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.PAD(Problem Analysis Diagram)图是一种____工具。
A.系统描述 B。详细设计 C。测试 D。编程辅助
26.下列系统设计工具中,______不属于详细设计工具。
A、N—S图 B、数据流图 C、程序流程图 D、PAD
27.程序流程图、N-S图和PAD图是____使用的表达工具。
A.设计阶段的概要设计 B.设计阶段的详细设计
C.编码阶段 D.测试阶段
28.模块内部的算法设计在结构化方法的______阶段进行。
A、系统分析 B、概要设计 C、详细设计 D 编码(实现)
29.源程序的版面文档要求应有变量说明、适当注释和____。
A.框图 B.统一书写格式 C.修改记录 D.编程日期
30.提高程序可读性的有力手段是______。
A、 选好一种程序设计语言 B、显式说明一切变量
C、使用三种标准控制语句 D、给程序加注释 31.文档是软件开发人员.维护人员.用户以及计算机之间的____, 软件开发人员在各个阶段以文档作为前段工作成果的_____和后段工作的_____。
A. 接口 B.桥梁 C.科学 D.继续 E.体现 F.基础
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. 瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。
A.详细设计 B.可行性分析 C.运行及维护 D.测试与排错
40. 一个模块直接控制(调用)的下层模块的数目称为模块的_______。
A.扇入数 B.扇出数 C.宽度 D.作用域
41. 模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是____。
A.顺序性内聚 B.过程性内聚 C.逻辑性内聚 D.功能性内聚
42. 程序流程图、N-S图和PAD图是____使用的表达工具。
A.设计阶段的概要设计 B.设计阶段的详细设计
C.编码阶段 D.测试阶段
43. 分析员是____。
A.用户中系统的直接使用者 B.用户和软件人员的中间人
C.软件的编程人员 D.用户和软件人员的领导
44. 下列_____不是模块化设计的目的。
A.可采用结构化设计方法 B.降低复杂度
C.有利于信息隐蔽 D.描述系统的功能与性能
45. 软件工程中______不属于用户文档的内容。
A.功能描述 B.安装手册 C.系统设计手册 D.使用手册
46. 软件的____一般由两次故障平均间隔时间和故障平均恢复时间来度量。
A.可维护性 B.可靠性 C.效率 D.可理解性
47. 一般来说,在管理软件中,软件生存周期各个阶段的工作量以______所占的比例最大。
A.需求分析与设计阶段 B.编码实现阶段
C.测试阶段 D.维护阶段
48.Putnam成本估算模型是一个( )模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量
49.软件复杂性度量的参数包括( )
A.效率 B.规模 C.完整性 D.容错性
50.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。
A.结合 B.隐藏 C.封装 D.抽象
51.软件调试技术包括( )
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试
52.瀑布模型的存在问题是( )
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求
53.软件测试方法中的静态测试方法之一为( )
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
54.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护
55.第一个体现结构化编程思想的程序设计语言是( )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言
56.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复
C.递归、堆栈和队列 D.调用、返回和转移
57.在详细设计阶段,经常采用的工具有( )
A.PAD B.SA C.SC D.DFD
58.详细设计的结果基本决定了最终程序的( )
A.代码的规模 B.运行速度 C.质量 D.可维护性
59.需求分析中开发人员要从用户那里了解( )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模
60.结构化程序设计主要强调的是( )
A.程序的规模 B.程序的效率C.程序设计语言的先进性 D.程序易读性
61.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
62.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。
A.确定 B.行或不行 C.正确 63.需求分析阶段的任务是确定( )
A.软件开发方法 B.软件开发工具 C.软件开发费 64. 面向对象程序设计中的数据隐藏指的是( )。
A.输入数据必须输入保密口令
B.数据经过加密处理
C.对象内部数据结构上建有防火墙
D.对象内部数据结构的不可访问性
65. 与设计测试数据无关的文档是( )。
A.需求说明书 B.设计说明书 C.源程序 D.无二义
.软件系统的功能
.项目开发设计
D D
66. ( )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型
67. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001。设计这组测试用例的方法是( )。
A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法
68. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )。A.数据库设计 B.数据通信 C.数据定义 D.数据维护
69. 下面几种白箱测试技术,( )是最强的覆盖准则。
A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖
70. 软件需求规格说明的内容不应包括( )。
A.主要功能 B.算法的详细描述
C.用户界面及运行环境 D.软件的性能
71. 面向对象的分析方法主要是建立三类模型,即( )。
A.系统模型、E-R 模型、应用模型 B.对象模型、动态模型、应用模型
C.E-R模型、对象模型、功能模型 D.对象模型、动态模型、功能模型
72. 下面关于面向对象方法中消息的叙述,不正确的是( )。
A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息
C.应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同
73. 提高测试的有效性非常重要,成功的测试是指( ) 。
A.证明了被测试程序正确无误 B.说明了被测试程序符合相应的要求
C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误
二、填空题:
1、 在结构化分析中,__数据字典__用于详细地定义数据流图中的成分。
2、 耦合性和内聚性是衡量___模块独立性_的两个定性的标准。
3、 结构化程序设计是一种程序设计技术,它采用__自顶向下、逐步求精__的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。
4、 结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点__数据存储和数据流_。
5、 从模块内外的联系来看,结构化设计的要求是___高内聚低耦合_。
6、 在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的___处理__成分。
7、 如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为__数据_耦合。
8、 模块内部的算法设计在结构化方法的___详细设计__阶段进行。
9、 定性度量模块独立性的两个标准是内聚性和___耦合性___。
10、 在模块结构图中,直接调用某一模块的其他模块数称为该模块的__扇入数____。
11、 系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动 )情况。
12、 成本效益分析的目的是从( 经济 )角度评价开发一个项目是否可行。
13、 自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( 宽度优先策略 ) 。
14、 独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,
一条独立路径是至少包含有一条( 在其他独立路径中未有过 )的边的路径。
15、 汇编语言是面向( 机器 ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
16、 在JSP方法中解决结构冲突的具体办法是( 中间数据结构或中间文件 )。
17、 详细设计的任务是确定每个模块的内部特性,即模块的算法、( 使用的数据 )。
18、 所有软件维护申请报告要按规定方式提出,该报告也称( 软件问题)报告。
19、 有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( 维护支援 )技术。
20、 科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
21、 在软件开发过程中要产生大量的信息,要进行大量的修改, 软件配置管理 能协调软件开发,并使混乱减到最低程度。
22、 规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有 容错功能 的软件。
23、 McCall提出的软件质量模型包括11 个软件质量特性。
24、 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、
可移植性、 可使用性和效率。
25、 为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
26、 程序设计语言的心理特性主要表现在 歧义性 、简洁性、传统性、局部性和顺序性。
27、 软件结构是以 模块 为基础而组成的一种控制层次结构。
28、 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、
29、 判定树 。
30、 结构化语言是介于自然语言和形式语言之间的一种半形式语言。
31、 若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=F/(1+(n*i)。
32、 在结构化分析中,( )用于详细地定义数据流图中的成分。
33、 结构化程序设计是一种程序设计技术,它采用( )的设计方法和顺序、选择、循环三种基本控制结构构造常态程序。
34、 结构化分析方法中,数据流图的四种基本成分为:处理、源点或终点、数据存储和( )。
35、 从模块内外的联系来看,结构化设计的要求是( )。
36、 在需求分析中,可从有关问题的简述中提取组成数据流图的基本成分。通常问题简述中的动词短语将成为数据流图中的( )成分。
37、 如果两模块间的通信信息是若干个参数,而每个参数是单一的数据项,则称这种耦合性为( )耦合。
38、 模块内部的算法设计在结构化方法的( )阶段进行。
39、 系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。
40、 在模块结构图中,直接调用某一模块的其他模块数称为该模块的( )。
41、 ( )和数据字典共同构成了系统的逻辑模型。
42、 ( )是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
43、 成本效益分析的目的是从( )角度评价开发一个项目是否可行。
44、 为了便于对照检查,测试用例应由输入数据和预期的( )两部分组成。
45、 在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、( ) 。
46、 独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条( )的边的路径。
47、 软件工程中的结构化分析SA是一种面向( )的分析方法。
三.判断
1.软件的开发与运行经常受到硬件的限制和制约。(√)
2.模块内的高内聚往往意味着模块间的松耦合。(√ )
3.Jackson图只能表达程序结构,不能表达数据结构。(X)
4. 上述数据流图表示数据A和B同时输入变换成C。(X )
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X )
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
7. 应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)
8.UML只能应用于软件系统模型的建立。(X)
9.容错就是每个程序采用两种不同的算法编写。(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
1.软件工程学只有理论意义,没有实际用途。 ( F )
2.软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。( F )
3.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( T )
4.代码审查方法没有计算机测试方法好。 ( F )
5.验证软件需求的方法主要靠人工审查的方法。 ( T )
6.并发系统中遇到的一个主要问题是定时问题。 ( T )
7.编码风格由个人喜好决定,没有固定格式。 ( F )
8.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换。( T )
9.软件重用是提高软件开发生产率和目标系统质量的重要途径。 ( T )
11( T )
.Power Designer是一个CASE工具。
12.软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。( F )
13.在进行需求分析时需同时考虑维护问题。 ( F )
14.UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( F )
15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。( T )
16.快速原型模型可以有效地适应用户需求的动态变化。 ( T )
17.统一的建模语言,是一种软件工程设计语言。 ( F )
18.模块化使程序设计比较方便,但比较难以维护。 ( F )
19.一个模块实际上就是一个进程。 ( F )
20.过程描述语言可以用于描述软件的系统结构。 ( F )
21.编程语言应该在软件概要设计时选择。 ( F )
22.如果通过软件测试没有发现错误,则说明软件是正确的。 ( F )
23.在进行概要设计时应加强模块间联系。 ( F )
24.一般人为,软件开发阶段是由设计、编码和测试三个基本活动组成。( F )
25.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。 ( F )
26.为了提高程序的易读性,尽可能使用高级语言或4GL编写程序。 ( T )
27.为了加强软件维护作业的进度,应尽可能增加维护人员的数目。( F )
28.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。( T )
29.确认测试计划应该在可行性研究阶段制定。 ( F )
30.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。( T )
9. 软件是指用程序设计语言编写的程序,软件开发实际上就是编写程序代码。( F )
1 .螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(T)
2. 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(F)
3. 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(T)
4. 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(T)
5. 软件模块之间的耦合性越弱越好。(T)
6. 数据库设计说明书是一个软件配置项。(T)
7. 在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。(F)
8. 过程描述语言可以用于描述软件的系统结构。(F)
9. 如果通过软件测试没有发现错误,则说明软件是正确的。(F)
10.快速原型模型可以有效地适应用户需求的动态变化。(T)
1. 缺乏有力的方法学的指导和有效的开发工具的支持, 这往往是产生软件危机的原因之一。( 对 )
2. 一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(错 )
3. 在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(对 )
4. 快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(对 )
5. 流程图也称为程序(框图)是最常用的一种表示法。(对 )
6. 面向数据设计方法一般都包括下列任务: 确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(对 )
7. 数据输入的一般准则中包括尽量增加用户输入的动作。(错 )
8、 编码时应尽可能使用全局变量。(错 )
9、 重视程序结构的设计,能使程序具有较好的层次结构。(10、程序中的注解越少越好。( 错 )
对 )
因篇幅问题不能全部显示,请点此查看更多更全内容