《软件工程习题及答案》由会员分享,可在线阅读,更多相关《软件工程习题及答案(61页珍藏版)》请在金锄头文库上搜索。
1、软件工程习题及答案一、选择题:D1. 为了提高测试的效率,应该 。A、随机地选取测试数据B、取一切可能的输入数据作为测试数据C在完成编码后制定软件的测试计划D选择发现错误可能性大的数据作为测试数据D2. 与设计测试数据无关的文档是 。A、需求说明书B、设计说明书C、源程序D、项目幵发设计B3. 结构设计是一种应用最广泛的系统设计方法,是以 为基础、自顶向下、逐步 求精和模块化的过程。A、数据流B、数据流图C、数据库D、数据结构A4. 概要设计的结果是提供一份 。A、模块说明书B、框图C、程序D、数据结构B5. 需求分析是由分析员经了解用户的要求,认真细致地调研、分析,最终应建立 目标系统的逻辑
2、模型并写出 。A、模块说明书B、软件规格说明书C项目幵发计划D、合同文档D6. 注释是提高程序可读性的有效手段,好的程序注释占到程序总量的。A、 1/6 B 、 1/5 C 、 1/4 D 、 1/3A7. 变换型和事务型是程序结构的标准形式。从某处获得数据,再对这些数据作处理,然后将结果送出是属于0A、变换型B、事务型B8. PAD(Problem Analysis Diagram )图是一种 工具。A、系统描述B、详细设计C、测试D、编程辅助A9. 排错一般是在测试发现错误后进行,其中找到错误位置占排错总工作量的A、 95% B、 5% C、 50% D、 20%A10. 分层数据流图是一
3、种比较严格又易于理解的描述方式,它的顶层描绘了系统 的。A、总貌B、细节C、抽象D、软件的作者B11. 数据流图中,当数据流向或流自文件时, 。A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C数据流和文件均要命名,因为流出和流进数据流是不同的D数据流和文件均不要命名,通过加工可自然反映出B12. 分析员是 。A、用户中系统的直接使用者 B、用户和软件人员的中间人C软件的编程人员D、用户和软件人员的领导A13. 在软件开发中,有利于发挥集体智慧的一种做法是 。A、设计评审B、模块化C、主程序员制D、进度控制A14. 在开发软件时,可用来提高程序员的工作效率。A、程序幵发环境B
4、、操作系统的作业管理功能C编译程序的优化功能 D、并行运算的大型计算机C15. 软件测试中设计测试实例( test case )主要由输入数据和 两部分组成。A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析C16. 结构化程序设计主要强调程序的oA、效率B、速度C、可读性D、大小B17. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作 。A、软件投机B、软件危机C、软件工程D、软件产生B18. 成功的测试是指 。A、运行测试实例后未发现错误项 B、发现程序的错误C证明程序正确D、改正程序的错误E, I,B,G,H 19. 数据流图的 3 种成分为 、 和 , 是数
5、据流中 的 变换, 用来存储信息, 对 、 、 进行详细说明, 用 对 进 行详细描述。A、消息B、文书C、父母D、数据流E、加工流F、文件G、数据字典H、结构化语言I、加工J、测试B, E,F 20. 文档是软件开发人员、软件管理人员、维护人员、用户以及计算机之间的 ,软件开发人员在各个阶段以文档作为前段工作成果的 和后段工作的 。A、接口 B、桥梁C、科学D、继续E、体现F、基础B, D 21. 单独测试一个模块时,有时需要一个 程序 被测试的模块。有时还要有一个或几个 模块模拟由被测试模块调用的模块。 A、理解B、驱动C、管理D、传递 人、子(Sub) B、仿真(Initation )栈
6、(Stack) D、桩(Stub)F,E 22. 在结构化程序设计思想提出以前, 在程序设计中曾强调程序的 。现在,与程序的 相比,人们更重视程序的 。A、安全性B、专用性C、一致性D、合理性E、可理解性F、效率B,B,C,D 23. 软件测试中, 白箱方法是通过分析程序的 来设计测试实例的方法, 除了测试程序外,还适用于对 阶段的软件文档进行测试。黑箱方法是根据程序 的 来设计测试实例的方法,除了测试程序外,它也适用于 阶段的软件文档 进行测试。A、应用范围B、内部逻辑C、功能D、输入数据A编码B、软件详细设计C、软件概要设计D、需求分析E,B,B,B,C 24. (1)在软件生命期中, 阶
7、段所需工作量最大,约占 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, B 25. 是以发现错误为目的的,而 是以定位、分析和改正
8、错误为目的的。A、测试B、排序C、维护D、幵发F,D,C,E,B,A 26. 请按顺序写出软件生命期的几个阶段A、维护B、测试C、详细设计D、概要设计E、编码F、需求分析B, D,E,HE,D,A 27. 软件发展过程中,第一阶段( 50 年代)称为“程序设计的原始时期”,这时既没有 也没有 ,程序员只能用汇编语言编写程序。第二阶段 (50 年代末 60年代末)称为“基本软件期”,出现了 并逐渐普及,随之 编译技术也有较大发展。第三阶段( 60 年代末 70 年代中)称为“程序设计方法 的时代”。此时期,与硬件费用下降相反,软件开发费急剧上升。人们提出了 和 等程序设计方法,设法降低软件开发的
9、费用。第四阶段( 70 年代中至今)称为 “软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是同软件开发的各阶段(、编码、测试、 )及整体和管理有关。A、汇编语言B、操作系统C虚拟存储器概念 D、高级语言E、结构化程序设计F、数据库概念G固件H、模块化程序设计A、使用和维护B、兼容性的确认C完整性的确定D、设计E、需求定义F、图像处理C, B 28. 软件危机出现于 ,为了解决软件危机,人们提出了用 的原理来设 计软件,这就是软件工程诞生的基础。 A 50年代末B、60年代初C、60年代末D、70年代初 A、运筹学B、工程学C、软件学D、数字D, A,C,J,I 29.结构化分析方法(S
10、A)、结构化设计方法(SD和Jackson方法是软件幵发过程中常用的方法。人们使用SA方法时可以得到 ,该方法采用的基本手段是;使用SD方法可以得到 ,并可以实现 ;而使用Jacks。n方 法可以实现 。A、程序流程图B、具体的语言程序C模块结构图和模块的功能说明书D分层数据流图和数据字典E、分解与抽象F、分解与综合G归纳与推导H、试探与回溯I 、从数据结构导出程序结构J、从数据流图导出初始结构图K从模块结构导出数据结构L、从模块结构导出程序结构D,B,C,A,C 30. 1960 年 Dijkstra 提倡的 是一种有效的提高程序设计效率的方法,把程序的基本控制结构限于顺序、 和 三种,同时
11、避免使用,这样使程序结构易于理解, 不仅提高程序设计的生产率,同时也容易进行程序的 。 A、标准化程序设计 B、模块化程序设计C多道程序设计D、结构化程序设计A、分支B、选择C、重复D计算E、输入输出 A GOT(语句B、DO语句C、IF语句D、REPEATS句 A、设计B、调试C、维护D、编码C, B,A,A,B,A 31. 块间联系和块内联系是评价程序结构质量的重要标准。联系的方 式、共用信息的作用、共用信息的数量和界面的 等因素决定了联系的大小;在 块内联系中, 系最强。结构设计方法的总则是使每个模块执行 功能,模块 间传递 参数,模块通过 语句调用其他模块,而且模块间传递的参数应尽量
12、A、友好地B、坚固性C、清晰性D、安全性 A、偶然性B、功能性C、通讯性D、顺序性 A、一个B、多个 C、尽量多 D、尽量少 A、数据性B、控制性C、混合性 A、直接调用B、Call语句C、中断D、宏调用 A、少B、多A,B 32. 结构设计方法中提出了判定作用范围和模块的控制范围两个概念,二者的 正确关系应该是: 是 的子集。A、作用范围B、控制范围F, D,C,C 33. 软件设计阶段可划分为 设计阶段和 设计阶段,用结构化设计 方法的最终目的是使 ,用于表示模块间调用关系的图叫 A、逻辑B、程序C、特殊D、详细E、物理F、概要 A、块间联系大,块内联系大 B、块间联系大,块内联系小C块间
13、联系小,块内联系大 D、块间联系小,块内联系小 A PAD B HCP G SC D SADTE、 HIPO F、 NSC, D,F 34. 需求阶段的文档主要有 、 、 等。A、结构图B、用户手册C、数据字典D、数据流图E、数据结构图F、一组小说明B, A 35. 软件工程学的目的是以 的成本,研制 质量的软件A、较高B、较低C、可靠D、优秀A,D 36. 概要设计的任务是决定系统中各个模块的 ,即其 。A、外部特性B、内部特性C、算法和使用数据D功能和输入输出数据B, C 37. 详细设计的任务是决定每个模块的 ,即模块 。A、外部特性B、内部特性C算法和使用数据D、功能和输入输出数据 是
14、外部结构程序 。A, B,C,D 38. 模块具有 、 、 、 四个特性,其中 、特性, 、 是内部特性。A、功能B、接口 C、代码D、数据E、框图F、文档B, D,D,B,A 39. 程序的三种基本控制结构是 ,它们的共同点是 。 设计的一种基本方法是 。软件测试的目的是 。软件排错的目的是 A、过程、子程序和分程序 B、顺序、条件和重复C递归、堆栈和队列 D、调用、返回和转移 A、不能嵌套使用B、只能用来写简单的程序C已经用硬件实现 D、只有一个入口和一个出口 A、筛选法B、递归法C、归纳法D、逐步求精法 A、证明程序中没有错误 B、发现程序中的语法错误C测量程序的动态特性 D、检查程序中语法错误 A、找出错误所在并改正之 B、排除存在错误的可能性C对错误性质进行分类 D、统计出错的次数B,C,D,G,H 40. 在下列关于模块化设计的叙述中, 、 、 、 、 是 正确的。A、程序设计比较方便,但比较难以维护B、便于由多个人分工编制大型程序C软件的功能便于扩充 D、程序易理解,也便于排错E、在主存储器能容纳的前提下,使模块尽可能大,以便减小模块的个数F、模块之间的接口叫做数据