logo资料库

软件工程复习题.doc

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
软件工程复习题
软件工程复习题 一、选择题: 1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 2. 瀑布模型本质上是一种(A )模型。 A.线性顺序 B.顺序迭代 3. 瀑布模型存在的问题是(B )。 C.线性迭代 D.早期产品 A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 4. 螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A.增量模型 B.专家系统 C.喷泉模型 D.变换模型 5. 原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。 A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 6. 下列有关软件工程的标准,属于国际标准的是(C ) A.GB B.ANSI C.ISO D.IEEE 7. 结构化方法是一种基于(D)的方法。 A.数据结构 B.程序结构 C.算法 D.数据流 8. 软件可行性研究实质上是要进行一次( A)需求分析、设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 9. 可行性研究的目的是(D) A、分析开发系统的必要性 B、确定系统建设的方案 C、分析系统风险 D、确定是否值得开发系统 10. 可行性研究是在(A)之前 A、系统开发 B、测试 C、试运行 D、集成测试 11. 可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的 (C)。 A、1% B、20% C、8% D、50% 12. 我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。 A.《计算机软件保护条例》 B.《中华人民共和国计算机信息系统安全保护条例》 C.《中华人民共和国著作权法》 D.《计算机病毒防治管理办法》 13. 效率是一个性能要求,因此应当在以下哪个阶段规定?B A、可行性分析 B、需求分析 C、概要设计 D、详细设计 14. 需求规格说明书的作用不包括(D) A、软件验收的依据 B、用户与开发人员对软件要做什么的共同理解 C、软件可行性研究的依据 D、软件设计的依据 15. 数据字典是用来定义(D)中的各个成份的具体含义的。 A、程序流程图 B、功能结构图 C、系统结构图 D、数据流程图 16. 数据流程图是(A)方法中用于表示系统逻辑模型的一种图形工具。 A、SA B、SD C、SP D、SC 17. DFD 中的每个加工至少有(A)。 A、一个输入流或一个输出流 B、一个输入流和一个输出流 C、一个输入流 D、一个输出流 18. 需求分析阶段的关键任务是确定(D) A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能 19. 在 SD 方法中全面指导模块划分的最重要的原则是(D)。 A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性
20. 在模块的 3 种基本属性中,反映模块内部特性的是(C)。 A、接口 B、功能 C、逻辑 D、状态 21. 模块的耦合性可以按照耦合程度的高低进行排序,以下哪一项符合从低到高的正确次序(D)。 A、数据结构耦合,公共耦合,控制耦合,内容耦合 B、数据耦合,控制耦合,数据结构耦合,公共耦合 C、无直接耦合,数据结构耦合,内容耦合,控制耦合 D、无直接耦合,数据耦合,控制耦合,内容耦合 22. PDL(过程设计语言)是描述处理过程( C ) A、做什么 B、为什么做 C、怎么做 D、对谁做 23. (D)工具在软件详细设计过程中不采用。 A、判定表 B、IPO 图 C、PDL D、DFD 图 24. 为高质量地开发软件项目,在软件结构设计时,必须遵循(A)原则。 A.信息隐蔽 B、质量控制 C、程序优化 D、数据共享 25. 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为(D) A、数据耦合 B、公共耦合 C、标记耦合 D、内容耦合 26. 详细设计与概要设计衔接的图形工具是(B)。 A、DFD 图 B、SC 图 C、PAD 图 D、程序流程图 27. 下列几种类型中,耦合性最弱的是(D)。 A、内容型 B、控制型 C、公共型 D、数据型 28. 软件结构使用的图形工具,一般采用(C)图。 A、DFD B、PAD C、SC D、ER 29. 在七种偶合中,最低偶合是(D)。 A、 内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合 30. 结构化程序设计,主要强调的是(C) A.程序的执行效率 C.程序的可理解性 B.模块的内聚 D.模块的耦合 31. 基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近 和最恰当的(C)上。 A.配置项 B.程序 C.基线 D.过程 32. 在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。 A. 耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合 33. 具有风险分析的软件生命周期模型是( C A. 瀑布模型 C. 螺旋模型 34. 软件工程的基本要素包括方法、工具和( A )。 A. 过程 C. 硬件环境 35. 在结构化分析方法中,( C )表达系统内部数据运动的图形化技术。 A. 数据字典 C. 数据流图 36. “软件危机”是指( C )。 A. 计算机病毒的出现 C.软件开发和维护中出现的一系列问题 37. 软件的( A )设计又称为总体设计,其主要任务是建立软件系统的总体结构。 A.概要 C.逻辑 38. 下列不属于数据字典组成部分的是?( D ) A. 数据项 B.利用计算机进行经济犯罪活动 D.人们过分迷恋计算机系统 B. 实体关系图 D. 状态转换图 B.抽象 D.规划 )。 B. 喷泉模型 D. 增量模型 B. 软件系统 D. 人员 B. 数据流
D. 数据库 B. 路径覆盖 D. 判定覆盖 )的设计方法。 B. 数据流图 D. 系统流程图 )。 B. 低内聚高耦合 D. 高内聚高耦合 B. 时间内聚 D. 功能内聚 B . 用户需要软件能做什么样的事情 D. 用户需要软件达到什么样的性能 C. 数据文件 39. 下列不属于软件需求范畴的是?( A ) A. 软件项目采用什么样的实现技术 C. 用户需要软件完成什么样的功能 40. 模块的内聚性最高的是( D )。 A. 逻辑内聚 C. 偶然内聚 41. 在白盒测试技术测试用例的设计中,( B )是最强的覆盖标准。 A. 语句覆盖 C. 条件组合覆盖 42. Jackson 程序设计方法是一种面向( A A. 数据结构 C. IPO 图 43. 软件设计中划分模块的一个准则是( C A. 低内聚低耦合 C. 高内聚低耦合 44. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A. 喷泉模型 C. 瀑布模型 45. 类构件的重用方式有多态重用、继承重用和( A )。 A. 实例重用 C. 代码重用 46. 软件维护工作的最主要部分是( C A. 校正性维护 C. 完善性维护 47. 一个模块的( C )太大一般是因为缺乏中间层次,应当适当增加中间层次的控制模块。 A. 深度 C. 扇出 B. 重载重用 D. 方法重用 )。 B. 适应性维护 D. 预防性维护 B. 增量模型 D.螺旋模型 B. 宽度 D. 扇入 48. 从本质上说,面向对象是“先”确定(A)后确定执行的动作。 A.动作的主体 B.属性 C.关系 D.方法 49.(B)是对象的静态特征。 A.方法 B.属性 C.关系 D.操作 50. 对象的(D)使对象的动态特征 A.特征 B.属性 C.关系 D.操作 51. 属于某个类的一个具体对象称为该类的(A)。 A.实例 B.虚拟 C.继承 D.多态 52. UML 是(A)。 A) 一种可视化的建模语言 B) 是一种可视化的程序设计语言 C) 是一种过程 D) 是一种方法 53. 封装的的作用是(A)。 A.复用 B.对象 C.实例 D.方法 54. 面向对象分析的核心在于建立(B)模型。 A. 建立正确的模型 B. 识别问题域对象
C.识别对象之间的关系 D.上面所有 55. 面向对象分析过程中建立的模型有(D )。 A. 数据模型、功能模型、活动模型 B. 对象模型、功能模型、测试模型 C. 属性模型、功能模型、对象模型 D. 对象模型、功能模型、动态模型 56. 下列的( C)不是分析建模的目的。 A. 定义可验证的软件需求 B. 描述客户需求 C. 开发一个简单的问题解决方案 D. 建立软件设计的基础 57. 下列的( C)不属于面向对象分析模型。 A. 用例图 B. 类图 C. 实体关系图 D. 顺序图 58.(A )用于描述系统中概念层次的对象。 A.分析类 B. 界面类 C.实体类 D.控制类 59. 在基于用例的面向对象分析过程中,定义交互行为的关键在于通过描述分析类实例之间的(A) 将用例的职责分配到分析类中。 A. 消息传递 B 关联关系 C 继承关系 D 上下文关系 60. 用例的实现细节不会在(B)描述。 A. 用例说明 B. 用例图 C.活动图 D.顺序图 61. 用例的职责通常分配给(D)的对象。 A. 发送消息 B. 接收消息 C.发送和接收双方 D.分析类 62. 组织机构图是(C)。 A. UML的一个最新图 B. 类图的一种 C.用于识别角色的辅助图 D.用例图的一种 63. 在图书馆系统中,假如已经构造了一个一般借书者类,后来发现图书馆的学生和教师在借书中有 不同要求。请问在面向对象设计中用(B)方法可以方便地设计这两个类? A.信息隐藏 B.继承 C.动态联编 D.代码复制 64. 框架是一组可用于不同应用的(A)集合 A. 类 B.对象 C.模块 D.代码 65. 下面哪个选项不能描述子系统之间的关系。(D) A. 请求——服务关系 B.继承关系 C.依赖关系 D.数据关系 66. 每个子系统的接口上定义了若干(B),体现了子系统的功能。
A. 说明 B.操作 C.属性 D.关系 67. 通常将具有共性的非功能要求设计在(B),以减少重新开发的工作量。 A. 接口层 B.中间层 C.最低层 D.最高层 68. 每个用例至少应该有一个(C),它通常没有属性而只有方法,只是起协调和控制作用。 A. 接口类 B.实体类 C.控制类 D.界面类 69. 类有三种类型即(A)。 A. 边界类、实体类、控制类 B. 实体类、数据类、界面类 C. 控制类、实体类、数据类 D. 界面类、控制类、公共类 70. 下面那个选项不是正确的面向对象设计思想。(C) A.对接口进行设计 B.发现变化并且封装它 C.先继承后组合 D.先组合后继承 71. 定义类的属性类型时尽量使用已有的类型,太多的自定义类型会降低系统的(A)指标。 A.可维护性 B.安全性 C.开发效率 D.可移植性 72. 从本质上说,面向对象是“先”确定动作的( A.数据结构/主体 B.主体/数据结构 )“后”执行( D )。 C.动作/主体 D.主体/动作 73. 结构化语言是介于自然语言和形式语言之间的一种(D)。 A.半形式语言 B.计算机语言 C.低级语言 D.高级语言 74. 程序设计语言的技术特性不应包括(C)。 A、数据结构的描述性 B、抽象类型的描述性 C、数据库的易操作性 D、软件的可移植性 75. 程序的三种基本控制结构是(B)。 A.过程、子程序和分程序 C.递归、堆栈和队列 B.顺序、选择和重复 D.调用、返回和转移 76. 结构化程序设计主要强调的是(D)。 A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 77. 下列关于功能性注释不正确的说法是(B)。 A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B.注释用来说明程序段,需要在每一行都要加注释 C.可使用空行或缩进,以便很容易区分注释和程序 D.修改程序也应修改注释 78. 下列关于效率的说法不正确的是(D)。 A.效率是一个性能要求,其目标应该在需求分析时给出 B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法 C.效率主要指处理机时间和存储器容量两个方面 D.程序的效率与程序的简单性无关 79. 结构化维护与非结构化维护的主要区别在于(B )。 A.软件是否结构化 B.软件配置是否完整 C.程序的完整性 D.文档的完整性 80. 关于 JAVA 语言下列说法不正确的是(B)。 A.跨平台的 B.动态指针 C.解释型的 D.面向对象的 81. 使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。 A 程序内部逻辑 C.使用说明书 B.程序复杂结构 D.程序的功能 82. 确认测试主要涉及的文档是(A)。 A、需求规格说明书 B、概要设计说明书 C、详细设计说明书 D、源程序 83. 测试的关键问题是(D)。
A.如何组织对软件的评审 B.如何验证程序的正确性 C.如何采用综合策略 D.如何选择测试用例 84. 黑盒测试在设计测试用例时,主要研究(A)。 A.需求规格说明 C.项目开发计划 B.详细设计说明 D.概要设计说明与详细设计说明 85. 下面哪些测试属于黑盒测试(B)。 A、路径测试 B、等价类划分 C、条件判断 D、循环测试 86. 在下述哪一种测试中,测试人员必须接触到源程序(B)。 A、功能测试 B、结构测试 C、功能测试和结构测试 D、性能测试 87. 检查软件产品是否符合需求定义的过程称为(D)。 A、确认测试 B、集成测试 C、验收测试 D、验证测试 88. 软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。 A、 结构合理性 B、软件外部功能 C、程序正确性 D、程序内部逻辑 89. 软件维护中,因修改交互输入的顺序,没有正确的记录而引起的错误是(A)产生的副作用。 A、文档 B、数据 C、编码 D、设计 90. 以下属于软件维护阶段文档的是(C)。 A、软件需求说明 B、操作手册 C、软件问题报告 D、测试分析报告 91. 产生软件维护的副作用,是指(C)。 A、开发时的错误 C、因修改软件而造成的错误 D、运行时误操作 B、隐含的错误 92. 维护中,因误删除一个标识符而引起的错误是(C)副作用。 A、文档 B、数据 C、编码 D、设计 93. 可维护性的特性中,相互促进的是(A)。 A、可理解性和可测试性 B、效率和可移植性 C、效率和可修改性 D、效率和结构好 94. 软件维护困难的主要原因是(C) A、费用低 B、人员少 C、开发方法的缺陷 D、用户不配合 95. 软件维护费用高的主要原因是(C)。 A、人员少 B、人员多 C、生产率低 D、生产率高 96. 为了适应软硬件环境变化而修改软件的过程是(C)。 A、校正性维护 B、完善性维护 C、适应性维护 D、预防性维护 97. 可维护性的特性中,相互矛盾的是(B) A.可理解性与可测试性 B.效率与可修改性 C.可修改性和可理解性 D.可理解性与可读性 98. 各种不同的软件维护中,以(C)维护所占的维护量最小。 A、 纠错性维护 B、代码维护 C、预防性维护 D、文档维护 99. 在变更控制中,(B)可以用来确保由不同用户所执行的并发变更。 A.异步控制 B.同步控制 C.存取控制 D.基线控制 100. 变更控制是一项最重要的软件配置任务,其中“检出”和(A)处理实现了两个重要的变更控制 要素,即存取控制和同步控制。 A.登入 B.管理 C.填写变更要求 D.审查 101. 在整个软件维护阶段所花费的全部工作中,所占比例最大的是( ) A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护 102. 下面关于文档的叙述,错误的是( B ) A.文档是软件产品的一部分,没有文档的软件就不成为软件。 B.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节。 C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义。 D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量。
B. 继承 D. 消息 B. 可维护性 D. 可移植 B. 紧密 D. 相等 B. 喷泉模型 D. 增量模型 B. 边界值分析 D. 逻辑覆盖 B. 发现错误 D. 证明错误 B. 需求分析 D. 程序设计 B. 从数据流图导出初始结构图 D. 从模块结构导出程序结构 103. 在软件质量因素中,软件在异常条件下仍能运行的能力称为软件的( B )。 B. 健壮性 A. 安全性 C. 可用性 D. 可靠性 104. 在下列测试技术中,( D )不属于黑盒测试技术。 A. 等价划分 C. 错误推测 105. ( C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐 蔽的,外界只能通过有限的接口与对象发生联系。 A. 多态 C. 封装 106. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现( A )。 A. 从数据结构导出程序结构 C. 从模块结构导出数据结构 107. 软件测试时为了( B )而执行程序的过程。 A. 纠正错误 C. 避免错误 108. 在软件系统中,一个模块应具有什么样的功能,这是由( B )决定的。 A. 总体设计 C. 详细设计 109. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件 的( B )。 A. 可理解性 C. 可扩展性 110. 模块内聚度越高,说明模块内各成分彼此结合的程序越( B )。 A. 松散 C. 无法判断 111. 常用的面向对象的软件过程模型是( B )。 A. 瀑布模型 C. 原型模型 112. 面向对象的分析阶段建立的系统模型不包括( D )。 B. 动态模型 A. 对象模型 C. 功能模型 D. 数据模型 113. 瀑布模型的存在问题是( B )。 A. 用户容易参与开发 C. 用户与开发者易沟通 114. 以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 B. 增量模型 A. 喷泉模型 C. 瀑布模型 D. 螺旋模型 115. 类构件的重用方式有多态重用、继承重用和( A )。 B. 重载重用 A. 实例重用 C. 代码重用 D. 方法重用 116. 在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A. 语句覆盖 C. 条件组合覆盖 B. 缺乏灵活性 D. 适用可变需求 B. 路径覆盖 D. 判定覆盖
117. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )。 A.软件工程 C.软件危机 二、填空题 B.软件周期 D.软件产生 1. 软件模块独立性的两个定性度量标准是(耦合和内聚 )。 2. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个(由下而上)的过程。 3. (等价划分)是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测 试用例。 4. (数据流图)和数据字典共同构成了系统的逻辑模型。 5. 可行性研究主要集中在以下三个方面:经济可行性、(技术可行性)、法律可行性。 6. IPO 图是 输入、处理和输出 _的简称,它是美国 IBM 公司发展完善起来的一种图形工具。。 7. 软件生命周期一般可分为问题定义、(可行性研究)、需求分析、设计编码、测试、运行与维护等阶 段。 9. 一般来说,可以从一致性、完整性、现实性和(有效性)四个方面验证软件需求的正确性。 10. 复杂问题的对象模型通常由下述五个层次组成:主题层、类与对象层、结构层、属性层和(服务层)。 11. 软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可 使用性和效率。 12. 软件一般由程序、数据和(文档)组成。 13. 面向对象模型主要由对象模型、动态模型、(功能模型)。 14. 软件需求分析过程应该建立在数据模型、功能模型和(行为模型) 三种模型之上。 15. 需求分析的最终结果是(需求规格说明书)。 16. 常见的测试方法一般分为:白盒测试和(黑盒测试)。 17. 软件工程三要素包括方法、(工具)和过程,其中,过程是支持软件开发的各个环节的控制和管理。 18. 类构件的重用方式有实例重用、继承重用和(多态重用)三种。 19. 耦合和(内聚)是衡量模块独立性的两个定性的标准。 20. 软件测试的步骤按顺序分别是:(单元测试)、子系统测试、系统测试、验收测试和平行运行。 21. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“ 的“物理设计”与模块的“ 解:需求分析 概要设计 详细设计 22. 概要设计文档主要有 解:概要设计说明书 数据库设计说明书 用户手册 组装测试计划 23. 模块化指解决一个复杂问题时 24. 模块之间联系越紧密,其 24. 软件结构往往用 状 模块层次 25. 面向数据流的设计又称 件结构。解:结构化设计 数据流图 26. 数据流图一般可分为 27. 详细设计也称 设计 模块 28. 处理过程设计中最典型的方法是 两类。解:变换型 事务型 ,它是软件设计的第二阶段,主要确定每个 结构的图形来表示。软件结构图是软件系统的 方法,其基本要点是采用的程序设计方法是 ,它是以需求分析阶段产生的 为基础,按一定的步骤映射成软 则越差。解:耦合性 内聚性 的过程。解:自顶向下 模块 逐层把软件系统划分成若干 的具体执行过程。解:过程 ”与“ ”,而数据库 结构。解:树状或网 ”相对应。 、 、 和 。 就越强,模块的 和 、 。
分享到:
收藏