软件工程试题库.docx
《软件工程试题库.docx》由会员分享,可在线阅读,更多相关《软件工程试题库.docx(35页珍藏版)》请在冰豆网上搜索。
![软件工程试题库.docx](https://file1.bdocx.com/fileroot1/2023-2/28/96ebac03-3513-48b2-8bc5-d4d15aeaf4eb/96ebac03-3513-48b2-8bc5-d4d15aeaf4eb1.gif)
软件工程试题库
软件工程试题库
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、构件组装模型
象来驱动的模型是()。
A、原型模型
B、瀑布模型
C、喷泉模型
D、螺旋模型10.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对
11.下列软件开发模型中,()只有在开发人员具有风险分析和排除风险的经验及专门知
识时,才能获得成功。
A、原型模型
B、瀑布模型
C、喷泉模型
D、螺旋模型
12.()引入了“风险驱动”的思想,适用于大规模的内部开发项目。
A、增量模型
B、喷泉模型
C、原型模型
D、螺旋模型
13.下列叙述中不属于软件生命周期模型的是()
A、瀑布模型
B、快速原型模型
C、风险模型
D、原子模型
14.“为了解决这个问题,目标系统必须做什么?
”这是生命周期中()阶段要确定的事。
A、需求分析
B、总体设计
C、详细设计
D、测试
务的工作步骤。
A、软件工程
B、软件过程
C、质量管理
D、软件方法学15.()是为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任
16.下面不属于软件工程的3个要素是()
A、工具
B、过程
C、方法
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.一个软件项目是否进行开发的结论是在()文档中作出的。
A、软件开发计划
B、可行性分析报告
C、需求分析说明书
D、测试报告
23.软件开发的可行性研究,一般涉及经济、技术和操作的可能性,而进行可行性研究的基
本依据则是用户提出的软件()。
A、系统质量
B、系统目标
C、系统功能
D、系统性能
24.软件可行性一般不考虑()。
A、是否有足够的人员和相关的技术来支持系统开发
B、待开发的软件是否有质量问题
C、待开发的软件是否有市场,经济上是否合算
D、是否有足够的工具和相关的技术来支持系统开发
25.数据存储和数据流都是(),仅仅是所处的状态不同。
A、分析结果
B、事件
C、动作
D、数据
26.数据流图和()共同组成系统的功能模型。
A、HIPO图
B、PDL
C、数据字典
D、层次图
27.结构化分析方法就是面向()的自顶向下逐步求精进行需求分析的方法。
A、目标
B、数据流
C、功能
D、对象
28.数据字典是对数据定义信息的集合,它所定义的对象都包含在()中。
A、数据流图
B、程序框图
C、软件结构
D、方框图
29.数据流图是进行软件需求分析常用的工具,其中最基本的图符是:
处理,数据流,数据存储
和数据源点/终点,其中“圆角矩形”可用来代表流图中的()。
A、处理
B、数据流
C、数据存储
D、数据源点/终点
30.数据流图是描述数据在软件中流动和变换的过程,而对数据流图中所包含的元素的定义
则是()
A、数据存储
B、数据加工
C、数据字典
D、数据定义
31.下列叙述中,()不属于数据字典的作用。
A、作为编码阶段的描述工具
B、为用户与开发人员之间统一认识
C、作为概要设计的依据
D、为需求分析阶段定义各类条目
32.不适于作为数据流图处理(加工)框名称的是____。
A、人工校核工资数据
B、工资支票数据
C、打印工资支票
D、计算职工工资
33.系统流程图是概括地描述物理系统的传统工具,它的基本思想是用图形符号以黑盒子形
式描绘系统组成系统的每个部件,其表达的是()
A、控制过程
B、对数据进行加工和处理的过程
C、程序的功能
D、数据在各部件之间的流动情况
34.虽然可以使用自然语言描述由数据元素组成数据的关系,但为了更加清晰简洁,建议采
用符号来表示,其中1{a}5所代表的含义是()
A、a重复出现,最少出现1次,最多出现5次
B、a重复出现,只能出现1次,或5次
C、a重复出现,其可以出现1次,也可以出现5次
D、a是可选的,可以出现2、3、4次
35.()是可行性研究的一项重要内容,是客户组织负责人从经济角度判断是否继续投
资于这项工程的主要依据。
A、纯收入计算
B、投资回收期分析
C、成本/效益分析
D、投资回收率分析
36.下面哪一项不属于可行性研究阶段的典型步骤()
A、研究目前正在使用的系统
B、草拟开发计划
C、书写文档提交审查
D、梳理模块间关系
37.复杂的数据流图()。
A、只有变换型
B、只有事务型
C、无规律
D、既有变换型又有事务型
38.需求分析是()。
A、软件开发工作的基础
B、软件生存周期的开始
C、由系统分析员单独完成的
D、由用户自己单独完成的
39.()需求制定系统必须提供的服务,是对软件系统的一项基本需求,但却并不是唯
一的需求。
A、功能需求
B、性能需求
C、可靠性和可用性需求
D、接口及约束
40.“系统每周7天、每天24小时都可以使用且运行无误”,代表的是()
A、功能需求
B、性能需求
C、可靠性和可用性需求
D、接口及约束
41.“系统应在20秒之内响应所有的请求”,代表的是()
A、功能需求
B、性能需求
C、可靠性和可用性需求
D、接口及约束
42.“系统出现异常时,应能为用户给出指导性的提示,并及时保存当前的数据”代表的是
()
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.进行需求分析可使用多种工具,但()是不适用的。
A、数据流图
B、E-R图
C、PAD图
D、数据字典
49.E-R图是用于建立数据模型的的图形,其中包括3种相互关联的信息,分别是()
A、数据、对象、实体
D、实体、属性、操作
图形工具。
A、层次方框图和判定表
B、数据流图和程序流程图
C、IPO图和层次方框图
D、warnier图和PDL50.描述复杂的事物时,图形远比文字叙述优越得多,在需求分析阶段可以使用()等
51.结构化分析方法以数据流图、()和加工说明等描述工具,即用直观的图和简洁的语
言来描述软件功能模型。
A、DFD图
B、PAD图
C、HIPO图
D、数据字典
52.软件需求说明书中包括多方面的内容,下述()不是软件说明书中应包括的内容。
A、数据描述
B、功能描述
C、性能描述
D、结构描述
53.软件需求分析阶段建立原型的主要目的是().
A、确定系统的功能和性能要求
B、确定系统的性能要求
C、确定系统是否满足用户要求
D、确定系统是否开发人员需要
54.需求分析是由分析人员经了解用户的需求,认真仔细的调研、分析,最终应建立目标系统
的逻辑模型并写出().
A、模块说明书
B、需求规格说明书
C、项目开发设计
D、合同文档
55.使用结构化分析方法时,采用的基本手段是()。
A、分解和抽象
B、分解和综合
C、归纳与推导
D、试探与回溯
A、总貌
B、细节
C、抽象
57.下列关于软件设计准则的描述,错误的是()。
A、提高模块的独立性
B、深度、宽度、扇出和扇入适当
C、使摸块的控制域在该模块的作用域内
D、设计成单入口、单出口的模块
58.下面关于“深度、宽度、扇出和扇入”描述错误的是()
A、深度表示软件结构中控制的的层数
B、宽度是软件同一层次上的模块总数的最大值
C、扇出是一个模块调用的模块数目
D、扇入是直接调用这个模块的上级模块的数目
59.结构化设计(SD)是软件设计阶段所使用的方法,()不是SD所使用的工具。
A、DFD图
B、PAD图
C、结构化的过程设计语言
D、判定树
60.结构化设计方法采用变换分析和事务分析技术实现()。
A、从数据结构导出程序结构
B、从模块结构导出程序结构
C、从模块结构导出数据结构
D、从数据流图导出软件结构
()。
A、抽象
B、模块化
C、自底向上
D、信息隐蔽61.把现实世界中的事物相似的地方集中和概括起来,暂时忽略他们之间的差异,这就是
62.()是数据说明、可执行语句等程序对象的集合,它是单独命名的而且可以通过名字
来访问,是构成程序的基本构件。
A、模块化
B、抽象
C、精化
D、模块
63.()是指让一些关系密切的软件元素在物理上彼此靠近。
A、信息隐蔽
B、内聚
C、局部化
D、模块独立
64.“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑”,这是对()的定义。
A、信息隐蔽
B、逐步求精
C、局部化
D、模块独立
65.软件设计中划分模块的一个准则是()。
A、低内聚低耦合
B、低内聚高耦合
C、高内聚低耦合
D、高内聚高耦合
66.模块本身的内聚是模块独立性的重要性度量因素之一。
在7类内聚中,具有最强内聚的
一类是()
A、顺序内聚
B、过程内聚
C、逻辑内聚
D、功能内聚
67.如果一个模块内部的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通
常一个处理元素的输入作为下一个处理元素的输出),则称为()。
A、逻辑内聚
B、时间内聚
C、过程内聚
D、顺序内聚
68.如果一个模块完成的任务在逻辑上属于相同或相似的一类,则称为()
A、逻辑内聚
B、时间内聚
C、过程内聚
D、顺序内聚
69.如果模块中所有元素都是用同一个输入数据和(或)产生同一个输出数据,则称为()。
A、通信内聚
B、时间内聚
C、过程内聚
D、顺序内聚
70.耦合是软件各个模块间连接的一种度量。
一组模块都访问同一公有环境数据结构应属于
()方式。
A、内容耦合
B、公共耦合
C、外部耦合
D、控制耦合
下列耦合中,耦合度最低的是()
A、内容耦合
B、公共耦合
C、数据耦合
D、控制耦合
72.把整个数据结构作为参数传递而被调用的模块只需要使用其中一部分数据元素,称之为
()
A、内容耦合
B、公共耦合
C、特征耦合
D、控制耦合
73.模块的功能是打印录取通知书或不录取通知书,调用模块可通过向此模块传递布尔标志
信息决定本次调用哪种通知书的打印,这种模块之间的耦合称之为()。
A、数据耦合
B、混合耦合
C、公共耦合
D、控制耦合
74.数据沿着输入通路到达一个处理,这个处理根据输入数据的类型在若干动作序列中选出
一个来执行,这类数据流称为()
A、变换流
B、变换中心
C、事务中心
D、事务流
75.信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息经过变换
中心,经过加工处理后再沿输出通路变换成外部形式离开软件系统,这种信息流称为()。
A、变换流
B、变换中心
C、事务中心
D、事务流
76.软件的结构化设计(SD)方法中,一般分为总体设计和详细设计两个阶段,其中总体设计主
要是要建立()。
A、软件结构
B、软件流程
C、软件模型
D、软件模块
77.面向数据流的设计方法把()映射成软件结构。
A、软件结构
B、系统结构
C、控制结构
D、信息流
78.详细设计的基本任务是确定每个模块的()设计。
A、功能
B、调用关系
C、输入输出数据
D、算法
79.结构化程序设计思想的核心是要求程序只有顺序,循环和()三种结构组成.
A、分支
B、单入口
C、单出口
D、有规则GOTO
80.()的结果基本上决定了最终的程序代码的质量。
A、概要设计
B、详细设计
C、编码
D、测试
81.Jackon设计方法是由英国的M.Jackon提出的,它是一种面向()的软件设计方
法。
A、对象
B、数据流
C、数据结构
D、控制结构
82.()阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、
结构化的过程描述。
A、概要设计
B、详细设计
C、编码
D、测试
83.结构化程序从理论上可以不使用()语句。
当然程序是否使用该语句是无关紧要的,
重要的是程序的结构是否严谨、清晰。
A、AND
B、IF
C、GOTO
D、FOR
84.PAD(ProblemAnalyiDiagram)图是一种()工具。
A、系统描述
B、详细设计
C、测试
D、编程辅助
85.下列系统设计工具中,()不属于详细设计工具。
A、N—S图
B、数据流图
C、程序流程图
D、PAD
86.()应考虑对模块相联和资源共享问题进行描述和制约。
A、系统设计
B、详细设计
C、接口控制
D、结构化编辑工具
87.程序流程图是一种传统的程序设计表示工具,有其优点和缺点,使用该工具是应注意()
A、支持逐步求精
B、考虑控制流程
C、遵守结构化设计原则
D、数据结构表示
88.软件设计中设计复审是和设计本身一样重要的环节,其主要目的和作用是()
A、减少测试工作量
B、减免后期付出高代价
C、保证软件质量
D、缩短软件开发周期
89.软件设计中,可应用于详细设计的工具有()
A、程序流程图、PAD、方框图和伪码
B、数据流程图、PAD、结构图和伪码
C、业务流程图、N-S图和伪码
D、数据流程图、PAD、N-S图和伪码
90.详细设计是软件总体设计滞后的工作。
下列可选内容中,()不属于详细设计内容。
A、算法设计
B、程序流程设计
C、界面设计
D、功能设计
91.所谓流图是“退化了的”程序流程图,它仅仅描述程序的控制流程,其中()表示
一条或多条语句。
A、节点
B、边
C、区域
D、处理
92.计算程序的环形复杂度很有价值,除了()。
A、测试难度的一种定量度量
B、对软件最终的可靠性给出某种预测
C、需求描述的是否详尽的衡量
D、比较两种不同设计的优劣
93.“实现”在软件生命周期中横跨两个阶段,分别是()。
A、编码和维护
B、测试和维护
C、编码和测试
D、调试和维护
94.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语
言()。
A、PASCAL
B、VISUALBASIC
C、C++
D、汇编语言
95.把软件设计结果翻译成用某种程序设计语言书写的程序的过程,称之为()。
A、需求分析
B、详细设计
C、编码
D、测试
96.软件测试是为了()而执行程序的过程。
A、证明软件的正确性
B、发现程序中的错误
C、证明软件系统中存在错误
D、表明程序是正确的
97.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑
B、程序的复杂程度
C、该软件的编辑人员
D、程序的功能
98.检查软件产品是否符合需求定义的过程称为()
A、确认测试
C、系统测试
A、集成测试
B、模块测试
C、系统测试
D、白盒法B、集成测试D、模块测试99.单元测试又称为(),一般用白盒法测试
100.对软件是否能达到用户所期望的要求的测试称为()
A、集成测试
B、系统测试
C、有效性测试
D、验收测试
以下()不属于白盒测试技术
A、基本路径测试
B、边界值分析
C、条件覆盖测试
D、逻辑覆盖测试
若有一个计算类型的程序,它的输入量只有一个某,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:
-1.001,-1.0,-0.009,0.009,1.0,1.001.设计这组测试用例的方法是()
A、条件覆盖法
B、等价分类法
C、边界值分析法
D、错误推测法
()方法需要考察模块间的接口和各个模块之间的关系.
A、单元测试
B、集成测试
C、确认测试
D、验收测试
软件测试是软件开发过程中重要的和不可缺少的阶段,其包含的内容和步骤甚多,而测试过程的多种环节中最基础的是()
A、集成测试
B、单元测试
C、系统测试
D、验收测试
可以提高软件测试效率的是()
A、随意选取测试的数据
B、制定测试计划
C、选取边界数据作为测试用例
D、取尽可能多的数据进行测试
软件测试方法一般有黑盒测试和白盒测试,而其中黑盒测试主要是依据程序的()
A、结构
B、流程101.102.103.104.105.106.
C、功能
D、逻辑
107.程序测试是一项复杂的工作,一般测试者在进行测试中都需要设计()
A、数据结构
B、测试用例
C、测试阶段
D、测试方法
调试是指在测试发现错误之后排除错误的过程,()不属于调试途径。
A、蛮干法
B、回溯法
C、原因排除法
D、运用测试实例法
所谓逻辑覆盖测试是对一系列测试过程的总称,其中:
被测程序中每个语句至少执行一次,称之为()。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、条件组合覆盖
所谓逻辑覆盖测试是对一系列测试过程的总称,其中:
每个判定的的每个分支都至少执行一次,称之为()。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、条件组合覆盖
所谓逻辑覆盖测试是对一系列测试过程的总称,其中:
不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的值,称之为()。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、条件组合覆盖
所谓逻辑覆盖测试是对一系列测试过程的总称,其中:
每个判定表达式中条件的各种可能组合都至少出现一次,称之为()。
A、语句覆盖
B、判定覆盖
C、条件覆盖
D、条件组合覆盖
下面几种白箱测试技术,哪种是最强的覆盖准则()
A、语句覆盖
B、条件覆盖
C、判定覆盖
D、条件组合覆盖
()是一种黑盒测试技术,这种技术把程序的输入域划分成若干个数据类,据此导出测试用例。
A、等价划分108.109.110.111.112.113.114.
B、边界值分析
C、错误推测
D、路径测试
115.所谓()是指在测试发现错误之后排除错误的过程。
A、调试
B、纠错
C、评估
D、维护
所谓()就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。
A、调试
B、纠错
C、测试
D、维护
为了和变化了的环境适当地配合而进行的修改软件的活动称之为(),是既必要又经常的维护活动。
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
在任何大型程序的使用期间,用户必然会发现程序错误,并且把他们遇到问题报告给维护人员。
把诊断和改正错误的过程称为()。
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
在使用软件的过程中用户往往提出增加新功能或修改已有功能的建议,还可能提出一般性的改进意见。
为了满足这类要求,需要进行()。
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件而进行的维护活动称之为()。
A、改正性维护
B、适应性维护
C、完善性维护
D、预防性维护
软件维护绝不仅限于纠正使用中发现的错误,事实上在全部维护活动中有一半以上是()维护。
A、改正性
B、适应性
C、完善性
D、预防性116.117.118.119.120.121.
122.()指的是外来读者理解软件的结构、功能、结构和内部处理过程的难易程度。
A、可测试性
B、可修改性
C、可理解性
D、可移植性
()指的是把程序从一种计算环境(硬件配置和操作系统)转移到另一种计算环境的难易程度。
A、可测试性
B、可修改性
C、可理解性
D、可移植性
软件容易修改的程度称之为(),耦合、内聚、信息隐藏、局部化…….等都应会对其产生影响。
A、可测试性
B、可修改性
C、可理解性
D、可移植性
()是指同一事物不做修改或稍加改动就在不同环境中多次重复使用。
A、可测试性
B、可重用性
C、可理解性
D、可移植性
软件调试的目的是()
A、发现错误