软件工程习题及答案doc.docx
《软件工程习题及答案doc.docx》由会员分享,可在线阅读,更多相关《软件工程习题及答案doc.docx(37页珍藏版)》请在冰豆网上搜索。
![软件工程习题及答案doc.docx](https://file1.bdocx.com/fileroot1/2023-1/26/6a26446e-6f9e-4c83-9ec4-2b71723aaf34/6a26446e-6f9e-4c83-9ec4-2b71723aaf341.gif)
软件工程习题及答案doc
软件工程习题及答案:
一、选择题:
D1.为了提高测试的效率,应该。
A、随机地选取测试数据
B、取一切可能的输入数据作为测试数据
C、在完成编码后制定软件的测试计划
D、选择发现错误可能性大的数据作为测试数据
D2.与设计测试数据无关的文档是。
A、需求说明书B、设计说明书C、源程序D、项目开发设计
B3.结构设计是一种应用最广泛的系统设计方法,是以为基础、自顶向下、逐步求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构
A4.概要设计的结果是提供一份。
A、模块说明书B、框图C、程序D、数据结构
B5.需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书
C、项目开发计划D、合同文档
D6.注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。
A、1/6B、1/5C、1/4D、1/3
A7.变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型
B8.PAD(ProblemAnalysisDiagram)图是一种工具。
A、系统描述B、详细设计C、测试D、编程辅助
A9.排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的。
A、95%B、5%C、50%D、20%
A10.分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者
B11.数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不必命名
B、数据流不必命名,有文件名就足够了
C、数据流和文件均要命名,因为流出和流进数据流是不同的
D、数据流和文件均不要命名,通过加工可自然反映出
B12.分析员是。
A、用户中系统的直接使用者B、用户和软件人员的中间人
C、软件的编程人员D、用户和软件人员的领导
A13.在软件开发中,有利于发挥集体智慧的一种做法是。
A、设计评审B、模块化C、主程序员制D、进度控制
A14.在开发软件时,可用来提高程序员的工作效率。
A、程序开发环境B、操作系统的作业管理功能
C、编译程序的优化功能D、并行运算的大型计算机
C15.软件测试中设计测试实例(testcase)主要由输入数据和两部分组成。
A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析
C16.结构化程序设计主要强调程序的。
A、效率B、速度C、可读性D、大小
B17.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。
A、软件投机B、软件危机C、软件工程D、软件产生
B18.成功的测试是指。
A、运行测试实例后未发现错误项B、发现程序的错误
C、证明程序正确D、改正程序的错误
E,I,B,G,H19.数据流图的3种成分为①、②和③,②是数据流中①的变换,③用来存储信息,④对①、②、③进行详细说明,用⑤对③进行详细描述。
①②③④A、消息B、文书C、父母D、数据流E、加工流
F、文件G、数据字典H、结构化语言I、加工J、测试
B,E,F20.文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的①,软件开发人员在各个阶段以文档作为前段工作成果的②和后段工作的③。
A、接口B、桥梁C、科学D、继续
E、体现F、基础
B,D21.单独测试一个模块时,有时需要一个①程序①被测试的模块。
有时还要有一个或几个②模块模拟由被测试模块调用的模块。
①A、理解B、驱动C、管理D、传递
②A、子(Sub)B、仿真(Initation)
C、栈(Stack)D、桩(Stub)
F,E22.在结构化程序设计思想提出以前,在程序设计中曾强调程序的①。
现在,与程序的①相比,人们更重视程序的②。
①②A、安全性B、专用性C、一致性D、合理性
E、可理解性F、效率
B,B,C,D23.软件测试中,白箱方法是通过分析程序的①来设计测试实例的方法,除了测试程序外,还适用于对②阶段的软件文档进行测试。
黑箱方法是根据程序的③来设计测试实例的方法,除了测试程序外,它也适用于④阶段的软件文档进行测试。
①③A、应用范围B、内部逻辑C、功能D、输入数据
②④A、编码B、软件详细设计C、软件概要设计D、需求分析
E,B,B,B,C24.
(1)在软件生命期中,①阶段所需工作量最大,约占70%;
(2)结构化分析方法产生的系统说明书由一套②、一本数据字典和一组小说明及补充材料组成;
(3)软件的③一般由两次故障平均间隔时间和故障平均恢复时间来度;
(4)采用④且编写程序,可提高程序的可移植性:
(5)仅依据规格说明书描述的程序功能来设计测试实例的方法称为⑤。
①A、分析B、设计C、编码D、测试E、维护
②A、因果图B、分层数据流图C、PAD图D、程序流程图
③A、可维护性B、可靠性C、效率D、互理解性
④A、机器语言B、宏指令C、汇编语言D、高级语言
⑤A、白箱法B、静态分析法C、黑箱法D、人工分析法
A,B25.①是以发现错误为目的的,而②是以定位、分析和改正错误为目的的。
A、测试B、排序C、维护D、开发
F,D,C,E,B,A26.请按顺序写出软件生命期的几个阶段、、、、、。
A、维护B、测试C、详细设计D、概要设计
E、编码F、需求分析
B,D,E,HE,D,A27.软件发展过程中,第一阶段(50年代)称为“程序设计的原始时期”,这时既没有①也没有②,程序员只能用汇编语言编写程序。
第二阶段(50年代末—60年代末)称为“基本软件期”,出现了①并逐渐普及,随之②编译技术也有较大发展。
第三阶段(60年代末—70年代中)称为“程序设计方法的时代”。
此时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了③和④等程序设计方法,设法降低软件开发的费用。
第四阶段(70年代中至今)称为“软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是同软件开发的各阶段(⑤、⑥、编码、测试、⑦)及整体和管理有关。
①②③④A、汇编语言B、操作系统
C、虚拟存储器概念D、高级语言
E、结构化程序设计F、数据库概念
G、固件H、模块化程序设计
⑤⑥⑦A、使用和维护B、兼容性的确认
C、完整性的确定D、设计
E、需求定义F、图像处理
C,B28.软件危机出现于①,为了解决软件危机,人们提出了用②的原理来设计软件,这就是软件工程诞生的基础。
①A、50年代末B、60年代初C、60年代末D、70年代初
②A、运筹学B、工程学C、软件学D、数字
D,A,C,J,I29.结构化分析方法(SA)、结构化设计方法(SD)和Jackson方法是软件开发过程中常用的方法。
人们使用SA方法时可以得到①,该方法采用的基本手段是②;使用SD方法可以得到③,并可以实现④;而使用Jackson方法可以实现⑤。
①②③④⑤A、程序流程图B、具体的语言程序
C、模块结构图和模块的功能说明书
D、分层数据流图和数据字典
E、分解与抽象F、分解与综合
G、归纳与推导H、试探与回溯
I、从数据结构导出程序结构
J、从数据流图导出初始结构图
K、从模块结构导出数据结构
L、从模块结构导出程序结构
D,B,C,A,C30.1960年Dijkstra提倡的①是一种有效的提高程序设计效率的方法,把程序的基本控制结构限于顺序、②和③三种,同时避免使用④,这样使程序结构易于理解,①不仅提高程序设计的生产率,同时也容易进行程序的⑤。
①A、标准化程序设计B、模块化程序设计
C、多道程序设计D、结构化程序设计
②③A、分支B、选择C、重复
D、计算E、输入输出
④A、GOTO语句B、DO语句C、IF语句D、REPEAT语句
⑤A、设计B、调试C、维护D、编码
C,B,A,A,B,A31.块间联系和块内联系是评价程序结构质量的重要标准。
联系的方式、共用信息的作用、共用信息的数量和界面的①等因素决定了联系的大小;在块内联系中,②系最强。
结构设计方法的总则是使每个模块执行③功能,模块间传递④参数,模块通过⑤语句调用其他模块,而且模块间传递的参数应尽量⑥
①A、友好地B、坚固性C、清晰性D、安全性
②A、偶然性B、功能性C、通讯性D、顺序性
③A、一个B、多个C、尽量多D、尽量少
④A、数据性B、控制性C、混合性
⑤A、直接调用B、Call语句C、中断D、宏调用
⑥A、少B、多
A,B32.结构设计方法中提出了判定作用范围和模块的控制范围两个概念,二者的正确关系应该是:
①是②的子集。
①②A、作用范围B、控制范围
F,D,C,C33.软件设计阶段可划分为①设计阶段和②设计阶段,用结构化设计方法的最终目的是使③,用于表示模块间调用关系的图叫④
①②A、逻辑B、程序C、特殊D、详细
E、物理F、概要
③A、块间联系大,块内联系大B、块间联系大,块内联系小
C、块间联系小,块内联系大D、块间联系小,块内联系小
④A、PADB、HCPC、SCD、SADT
E、HIPOF、NS
C,D,F34.需求阶段的文档主要有①、②、③等。
A、结构图B、用户手册C、数据字典D、数据流图
E、数据结构图F、一组小说明
B,A35.软件工程学的目的是以①的成本,研制②质量的软件。
A、较高B、较低C、可靠D、优秀
A,D36.概要设计的任务是决定系统中各个模块的①,即其②。
A、外部特性B、内部特性C、算法和使用数据
D、功能和输入输出数据
B,C37.详细设计的任务是决定每个模块的①,即模块②。
①②A、外部特性B、内部特性
C、算法和使用数据D、功能和输入输出数据
A,B,C,D38.模块具有①、②、③、④四个特性,其中①、②是外部特性,③、④是内部特性。
①②③④A、功能B、接口C、代码D、数据
E、框图F、文档
B,D,D,B,A39.程序的三种基本控制结构是①,它们的共同点是②。
结构程序设计的一种基本方法是③。
软件测试的目的是④。
软件排错的目的是⑤。
①A、过程、子程序和分程序B、顺序、条件和重复
C、递归、堆栈和队列D、调用、返回和转移
②A、不能嵌套使用B、只能用来写简单的程序
C、已经用硬件实现D、只有一个入口和一个出口
③A、筛选法B、递归法C、归纳法D、逐步求精法
④A、证明程序中没有错误B、发现程序中的语法错误
C、测量程序的动态特性D、检查程序中语法错误
⑤A、找出错误所在并改正之B、排除存在错误的可能性
C、对错误性质进行分类D、统计出错的次数
B,C,D,G,H40.在下列关于模块化设计的叙述中,①、②、③、④、⑤是正确的。
A、程序设计比较方便,但比较难以维护
B、便于由多个人分工编制大型程序
C、软件的功能便于扩充D、程序易理解,也便于排错
E、在主存储器能容纳的前提下,使模块尽可能大,以便减小模块的个数
F、模块之间的接口叫做数据文件
G、只要模块之间的接口关系不变,由模块内部实现细节
H、模块间的单向调用关系叫做模块的层次结构
I、模块越小,模块化的优点越明显,一般来讲,模块的大小都在10行以下
J、一个模块实际上就是一个进程
A,C,G,H,J41.下列叙述中,正确的是①、②、③、④、⑤。
A、在进行需求分析时需同时考虑维护问题
B、完成测试作业后,为了缩短源程序的长度应删去源程序的注解
C、尽可能在软件生产过程中保证各阶段文档的正确性
D、编码时应尽可能使用全局变量
E、择时间效率和空间效率尽可能高的算法
F、尽可能使用硬件的特点
G、重视程序结构的设计,使程序具有较好的层次结构
H、使用维护工具或支撑环境
I、在进行概要设计时应加强模块间的联系
J、为了提高程序的易读性,尽可能使用高级语言编写程序
K、为了加快软件维护作业的进度,尽可能增加维护人员的数目
D,E,F,C,G42.选择符合以下定义的名称。
①软件从一个计算机系统或环境转换到另一个计算机和环境的容易程度。
②软件在需要它投入使用时能实现其指定的功能的概率。
③软件使不同的系统约束条件和用户需求得到满足的容易程度。
④在规定的条件下和规定期间内,实现所指定功能的概率。
⑤尽管有非法输入,软件仍能继续正常工作的能力。
①②③④⑤A、可测试性B、可理解性C、可靠性D、可移植性
E、可用性F、兼容性G、坚固性H、可修改性
I、可接近性J、一致性
A,C,D43.软件维护大体上可分为三种类型:
①、②和③维护。
①②③A、纠正性B、可靠性C、适应性D、完善性
G,H,I,A,C44.软件设计的常用方法有SA方法、Jackson方法、Parnas方法等。
Jackson方法是一种面向数据结构的设计方法。
一般在数据处理中,数据结构有①、②、③三类,并根据④来导出程序结构。
Parnas方法的主要思想是⑤,这是提高可维护性的重要措施。
①②③④⑤A、记录B、集合C、指针D、树
E、图F、表G、顺序H、可修改性
I、重复J、线性表K、键表L、列表
M、数组N、栈Q、队列
C45.瀑布模型把软件生存周期划分为软件定义、软件开发和三个阶段,而每一阶段又可细分为若干更小的阶段。
A、详细设计B、可行性分析C、运行及维护D、测试与排错
A46.软件的设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。
A、概要B、抽象C、逻辑D、规划
B47.结构化分析SA是软件开发需求分析阶段所使用的方法不是SA所使用的工具。
A、DFD图B、PAD图
C、结构化英语D、判定表
D48.结构化分析方法以数据流图、和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。
A、DFD图B、PAD图
C、IPO图D、数据字典
D49.模块本身的内聚是模块独立性的重要度量因素之一,在七类内聚中,具有最强内聚的一类是。
A、顺序性内聚B、过程性内聚
C、逻辑性内聚D、功能性内聚
C50.Jackson设计方法是由英国的M.Jackson提出的,它是一种面向的设计方法。
A、对象B、数据流C、数据结构D、控制结构
A51.结构化程序设计思想的核心是要求程序只由顺序、循环和三种结构组成。
A、分支B、单入口C、单出口D、有规则GOTO
B52.源程序的版面文档要求应有变量说明、适当注释和。
A、框图B、统一书写格式
C、修改记录D、编程日期
B53.在软件工程中,软件测试的目的是。
A、试验性运行软件B、发现软件错误
C、证明软件是正确的D、找出软件中全部错误
B54.在软件工程中,当前用于保证软件质量的主要技术手段还是。
A、正确性证明B、测试
C、自动程序设计D、符号证明
C55.在软件工程中,高质量的文档标准是完整性、一致性和。
A、统一性B、安全性
C、无二义性D、组合性
D56.在软件研究过程中,CASE是。
A、指计算机辅助系统工程B、CAD和CAM技术的发展动力
C、正在实验室用的工具D、指计算机辅助软件工程
D57.软件(结构)设计阶段文档是。
A、系统模型说明书B、程序流程图
C、系统功能说明书D、模块结构图和模块说明书
A58.软件的维护指的是。
A、对软件的改进、适应和完善B、维护正常运行
C、配置新软件D、软件开发期的一个阶段
C59.若有一个计算类型的程序,它的输入量只有一个X,其范围是-1.0≤X≤1.0。
现从输入角度考虑设计了一组测试该程序的测试用例为-1.0001,-1.0,1.0,1.0001。
设计这组测试用例的方法是。
A、条件复盖法B、等价分类法C、边缘值分析法D、错误推测法
C,A,D,A60.下图是某校管理系统的一部分。
(1)和
(2)分别是同一模块的两个不同设计方案。
一般认为,方案
(1)较佳,其原因是:
从块间联系看,界面甲-乙上有两个参数,且其中一个是①参数;而界面甲-乙1和甲-乙2只有一个参数,而用是②参数;从块内联系看,模块乙属③模块,而模块乙1和乙2均为④模块。
①②A、数据型B、逻辑型C、控制型D、混合型
③④A、功能型B、顺序型C、通信型D、逻辑型
班组↙/↗成绩汇总班级↙/↗成绩汇总
甲
取班级成绩
甲
取班组成绩
平均/量高↓
↑成绩
平均成绩↗
↖
乙取平均成绩
或最高成绩
乙1
取平均成绩
乙2
取最高成绩
(1)
(2)
A61.逆向工程在软件工程中主要用于阶段。
A、分析B、设计C、编码D、维护
C62.软件工程中,只根据程序的功能说明而不关心程序内部逻辑的测试方法,称为
测试。
A、白盒法B、灰盒法C、黑盒法D、综合法
C,数据流,A63.软件工程中,结构化分析方法采用数据流图表示,其中用直线段表示文件,用圆表示①,用箭头表示②,用方框表示③。
①A、数据流的源点和终点B、文件C、加工D、数据流
②A、文件B、文件C、加工D、控制流
③A、数据流的源点和终点B、文件C、加工D、小说明
B64.阶段是软件生命期中花费最多,持续时间最长的阶段。
A、需求分析B、维护C、设计D、测试
B65.在可行性研究阶段,对系统所要求的功能、性能以及限制条件进行分析,确定是否能够构成一个满足要求的系统,这称为可行性。
A、经济B、技术C、法律D、操作
C66.结构化系统分析所得到的系统需求说明书中包含一组小说明。
小说明是指对
作进一步说明。
A、数据流B、数据存储(文件)
C、处理(加工)D、外部项(源点终点)
D67.分层的数据流图中,父图与子图的平衡是指的平衡。
A、处理B、数据存储C、外部项D、数据流
B68.数据流图中,当数据流向或流自数据存储时,。
A、数据流要命名,数据存储不必命名
B、数据流不必命名,数据存储要命名
C、数据流和数据存储均应命名,因流进和流出的数据流可能不同
D、数据流和数据存储都不必命名,因为从处理上可自然反映出来
A69.结构化系统设计阶段的目的是。
A、获得良好的软件结构B、获得可读性好的程序
C、获得满足用户需求的数据流图D、获得高效的算法
B70.要减少两模块之间的联系,则。
A、两模块之间的调用次数要尽量少
B、两模块之间直接传递的信息要尽量少
C、两模块应使用尽可能相同的全局变量
D、两模块应尽量共享相同的数据结构
D71.在集成(联合)测试中,测试的主要目的是发现阶段的错误。
A、软件计划B、需求分析C、设计D、编码
B72.在验收测试时,测试所依据的文档是。
A、可行性报告B、系统(需求)说明书
C、模块说明书D、用户手册
C73.用白盒法测试程序时,常按照给定的覆盖条件选取测试用例。
覆盖比其他覆盖都要严格,但它仍不能保证覆盖程序中的每一条路径。
A、判定B、条件C、条件组合D、判定/条件
D74.在软件生存期的维护阶段,继续诊断和修正错误的过程称为。
A、完善性维护B、适应性维护C、预防性维护D、改正性维护
D75.软件的可移植性是衡量软件质量的重要标准之一。
它指的是。
A、一个软件版本升级的容易程度
B、一个软件与其他软件交换信息的容易程度
C、一个软件对软硬件环境要求得到满足的容易程度
D、一个软件从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度
D76.软件生存周期是指阶段。
A、软件开始使用到用户要求修改为止
B、软件开始使用到被淘汰为止C、从开始编写程序到不能再使用为止
D、从立项制定计划,进行需求分析到不能再使用为止
C77.可行性研究的目的是用最小的代价,在最短的时间内确定问题是否可能解决和值得去解决,主要从三个方面进行。
A、技术可行性、费用可行性、效益可行性
B、经济可行性、技术可行性、机器可行性
C、技术可行性、操作可行性、经济可行性
D、费用可行性、机器可行性、操作可行性
B78.数据流图是一种描述数据及其变换的图形表示,在数据流图上不允许出现。
A、数据流B、控制流C、文件D、加工
A79.数据字典是软件需求分析阶段的重要工具之一,它的基本功能是。
A、数据定义B、数据维护C、数据通讯D、数据库设计
B80.事务型结构数据流图的特点是,将某一个加工的输入分解成并行的数据流,通过执行后面的加工。
A、变换B、选择C、合并D、联接
B81.如果一个模块要调用另一个模块,在下列几种方式中,采用方式的块间联系小。
A、过程调用,传递控制参数B、过程调用,传递数据参数
C、直接引用,共用控制信息D、直接引用,共用数据信息
C82.软件的结构化设计方法是以为依据的模块结构设计方法。
A、系统数据要求B、数据结构
C、数据流图D、数据流
D83.结构化设计(SD)是软件开发中常用的方法,使用SD方法可以得到。
A、程序流程图B、编程语言的源程序
C、分层数据流图和数据字典D、模块结构图
B84.在测试层次结构的大型软件时,有一种方法是从上层模块开始,自顶向下进行测试,此时有必要用替代尚未测试过的下层模块。
A、主模块B、桩模块C、驱动模块D、输出模块
A85.已知程序用插入法排序(升序),现有已排序列1,2,3,4,5。
现向序列中插入-2,观察插入结果是否在1之前,则采用的是测试法。
A、黑盒B、白盒C、条件覆盖D、错误推测
C86.联合(集成)测试可以由两种方式进行。
A、模块测试、系统测试B、条件测试、非条件测试
C、渐增式测试、非渐增式测试D、分析测试、验收测试
B87.由于更新了操作系统而对软件进行的修改工作属于。
A、修正性维护B、适应性维护C、完善性维护D、预防性维护
C88.为保证软件质量,在软件生存周期的每个阶段结束之前,都需要进行工作。
A、制定计划B、测试C、审查D、交接
C89.设有下列判定表,其对应的判定树为。
条件
条理
1
2
3
4
5
6
1
2
3
4
√
√
√
×
×
×
×
√
√
×
×
×
×
√
√
×
×
√
×
×
×
×
√
×
√
√
√
√
91.模块内部联系最大的是。