中国石油大学软件工程复习题及答案可编辑修改版
《软件工程》期末复习题及答案《软件工程》期末复习题及答案 一、单项选择题(本大题共 60 小题,在每小题的四个备选答案中,选出一个正确答案,并并 将正确答案填涂在答题卡上将正确答案填涂在答题卡上) 1. 软件危机产生的主要原因是。 A.软件日益庞大B.不能与用户良好地沟通 C.开发人员编写程序能力差 D.没有适应的开发模型 2. 软件工程的发展不包括以下那个阶段。 A.传统软件工程阶段 B.自主化开发阶段 C.过程软件工程阶段 D.构件软件工程阶段 3. 现代软件工程研究的内容不包括。 A.软件开发模型 B.软件开发方法 C.软件支持过程 4.以下哪个软件生存周期模型是一种风险驱动的模型。 A.瀑布模型 B.增量模型 C.螺旋模型D.喷泉模型 5.软件的开发方法不包括。 A.结构化开发方法 B.面向对象开发方法 C.面向管理的开发方法 D. 面向数据结 构的开发方法 6.软件生存周期中,准确地确定软件系统必须做什么的阶段是。 A.可行性分析和项目开发计划 B.需求分析 C.概要设计 D.详细设计 D.软件开发质量 7. 需求分析中开发人员要从用户那里了解。 A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 8. 结构化分析建立功能模型的工具是。 A.DFD B.判定树/判定表 C.SC D.结构化语言 9. 数据词典是对数据定义信息的集合,它所定义的对象都包含于。 A.数据流图 B.程序框图 C.软件结构 D.方框图 10.用于描述结构化分析中数据流加工逻辑的是。 A.判定树 C.状态图 B.ER 图 D.用例图 11.下列几种耦合类型,耦合性最高的是。 A.公共耦合 C.标记耦合 12. 通信内聚是指。 B.控制耦合 D.数据耦合 - 1 - 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.时间内聚 C.顺序内聚 B.偶然内聚 D.功能内聚 18. 模块的内聚性最高的是。 A、逻辑内聚 B、时间内聚 C、偶然内聚 D、功能内聚 19. 在软件结构设计完成后,对于下列说法,正确的是。 A.非单一功能模块的扇入数大比较好,说明本模块重用率高 B.单一功能的模块扇入高时应重新分解,以消除控制耦合的情况 C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层 D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层 20. 变换流的 DFD 由三部分组成,不属于其中一部分的是。 A.事务中心 B.变换中心 C.输入流 D.输出流 21. 在详细设计阶段,经常采用的工具有。P96 A. PDL B. SA C. SC D. DFD 22. 详细设计的任务是确定每个模块的。 A.外部特性 B.内部特性 C.算法和使用的数据 D.功能和输入输出数据 23. 详细设计的结果基本决定了最终程序的。 A.代码的规模 B.运行速度 C.质量 D.可维护性 24. 软件复杂性度量的参数包括。 - 2 - A.效率 B.规模 C.完整性 D.容错性 25. 软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设 计主要是要建立。 A、软件结构 B、软件过程 C、软件模型 D、软件模块 26. 不属于常用的程序复杂程度定量度量方法为。 A.语句行度量方法 B.Jackson 方法 C.McCabe 方法 D.Halstead 方法 27._______工具在软件详细设计过程中不采用。 A.判定表B.IPO 图 C.PDLD.DFD 图 28. McCabe 方法认为,环域复杂度的规模以______较为合理。 A.≦4 B.≦7 C.≦10 D.≧30 29. 一个只有顺序结构的程序,其环形复杂度是。 A.0 B.1 C.3 D.5 30. 衡量某一语言可否做为编码语言,其评价标准不包括。 A.应用领域 B.书写格式 C.算法与计算复杂性 D.效率的考虑 31. 软件测试的目的是。 A.软件的正确性 B.找出软件系统中存在的所有错误 C.证明软件系统中存在错误 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. 黑盒法是根据程序的来设计测试用例的。 - 3 - A.应用范围 B.内部逻辑 C.功能 D.输入数据 39. 不属于白盒测试的技术是。 A.路径覆盖 B.判定覆盖 C.循环覆盖 D.边界值分析 40. 使用白盒测试方法时,确定测试数据应根据和指定的覆盖标准。 A.程序内部逻辑 B.程序的复杂度 C.使用说明书 D.程序的功能 41. 单元测试方法不包括。 A.黑盒测试 B.白盒测试 C.基本路径测试 D.集成测试 42. 单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是。 A.系统功能 B.局部数据结构 C.重要的执行路径 D.错误处理 43. 集成测试时,能较早发现高层模块接口错误的测试方法为。 A.自顶向下渐增式测试 B.自底向上渐增式测试 C.非渐增式测试 D.系统测试 44.与确认测试阶段有关的文档是。 A.需求规格说明书 B.概要设计说明书 C.详细设计说明书 D.源程序 45. 确认测试也称为。 A.有效性测试 C.静态测试 B.无