《软件工程》练习测试题库
一、单项选择题
1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(     
  A.软件工程                                    B.软件周期
  C.软件危机                                    D.软件产生
2. 研究开发所需要的成本和资源是属于可行性研究中的(      )研究的一方面。
  A.技术可行性                                B.经济可行性
  C.社会可行性                                D.法律可行性
3. IDEF0图不反映出系统(     
  A.系统做什么                                B.系统功能如何实现
  C.系统由谁来做                                D.系统实现的约束条件
4. 模块的内聚性最高的是(     
  A.逻辑内聚                                    B.时间内聚
  C.偶然内聚                                    D.功能内聚
5. SD方法中全面指导模块划分的最重要的原则是(     
  A.程序模块化                                B.模块高内聚
  C.模块低耦合                                D.模块独立性
6. 软件详细设计主要采用的方法是(     
  A.模块设计                                    B.结构化设计
  C.PDL语言                                    D.结构化程序设计
7. 下列关于JSP方法不正确的说法是(     
  A.JSP方法主要用于规模不大的数据处理系统
  B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段
  C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解
  D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段
8. 不适合作为科学工程计算的语言是(     
  A. Pascal                                    B. C
  C. Fortran                                    D. Prolog
9. 黑盒测试在设计测试用例时,主要需要研究(     
  A.需求规格说明与概要设计说明                B.详细设计说明
  C.项目开发计划                                D.概要设计说明与详细设计说明
10. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.01.0],现从输入
的角度考虑一组测试用例:-1.001-1.01.01.001。设计这组测试用例的方法是(     
  A.条件覆盖法                                B.等价分类法
  C.边界值分析法                                D.错误推测法
11. 下列属于维护阶段的文档是(     
  A.软件规格说明                                B.用户操作手册
  C.软件问题报告                                D.软件测试分析报告
12. 快速原型模型的主要特点之一是(     
  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.可用性                                B.可靠性
  C.正确性                                D.完整性
18. 下列文档与维护人员有关的有(     
  A.软件需求说明书                        B.项目开发计划
  C.概要设计说明书                        D.操作手册
19. 采用Gantt图表示软件项目进度安排,下列说法中正确的是(     
  A.能够反映多个任务之间的复杂关系
  B.能够直观表示任务之间相互依赖制约关系
  C.能够表示哪些任务是关键任务
  D.能够表示子任务之间的并行和串行关系
20. 下列模型属于成本估算方法的有(     
  A.COCOMO模型                    B.McCall模型
  C.McCabe度量法                    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. 是否有足够的人员和相关的技术来支持系统开发
B. 是否有足够的工具和相关的技术来支持系统开发
C. 待开发软件是否有市场、经济上是否合算
D. 待开发的软件是否会有质量问题
27. 软件维护的副作用主要有以下哪几种(     
  A. 编码副作用、数据副作用、测试副作用
B. 编码副作用、数据副作用、测试副作用
  C. 编码副作用、数据副作用、文档副作用
D. 编码副作用、文档副作用、测试副作用
28. 软件项目计划一般不包括以下哪项内容(     
  A. 培训计划                B. 人员安排
  C. 进度安排                D. 软件开发标准的选择和制定
29. 以下哪一项不属于面向对象的软件开发方法(     
  A. coad方法                B. booch方法
  C. jackson方法                D. omt方法
30. 以下哪种测试方法不属于白盒测试技术(     
  A. 基本路径测试                B. 边界值分析测试
  C. 循环覆盖测试                D. 逻辑覆盖测试
31. 软件生命周期中所花费用最多的阶段是(     
  A. 详细设计                B. 软件编码
  C. 软件测试                D. 软件维护
32. 在软件开发过程中,DFD是面向(      )分析方法的描述工具。
  A. 数据结构                B. 数据流
  C. 对象                    D. 构件(component
33. 在画分层DFD时,应注意保持(      )之间的平衡。
  A. 父图与子图                        B. 同一父图的所有子图
  C. 不同父图的所有子图                D. 同一子图的所有直接父图
34. DFD中从系统的输入流到系统的输出流的一连串连续变换形成一种信息流,这种信息流可分为(      )两大类。
  A. 控制流和变换流                B. 变换流和事务流
  C. 事务流和事件流                D. 事件流和控制流
35. 通常影响软件易维护性的因素有易理解性、易修改性和(      )。
  A. 易使用性                        B. 易恢复性
  C. 易替换性                        D. 易测试性
36. 在软件的开发过程中往往采取各种措施来提高软件的易维护性。如(      )有助于提高软
件的易修改性。
  A. 高效的算法                    B. 信息隐蔽原则
  C. 增强健壮性                    D. 身份认证
37. 在软件质量特性中,(      )是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的一组属性。
  A. jsp可以用什么软件写正确性                        B. 准确性
  C. 可靠性                        D. 易使用性
38. 在软件质量特性中,(      )是指防止对程序及数据的非授权访问的能力。
  A. 安全性                        B. 适应性
  C. 灵活性                        D. 容错性
39. 软件设计中划分模块的一个准则是(      )。
  A. 低内聚低耦合                    B. 低内聚高耦合
  C. 高内聚低耦合                    D. 高内聚高耦合
40. 一个模块内部的内聚种类中(      )内聚的内聚度最高。
  A. 偶然                        B. 逻辑
  C. 功能                        D. 过程
41. OMT是一种对象建模技术,它定义了三种模型,它们分别是(      )。
  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. 强度测试
  C. 系统测试                            D. 回归测试
49. 在软件工程的设计阶段中,(      )法只提供了重要的设计准则,没有规定出具体的工作步骤。
  A. SD                                    B. Jackson
  C. Parnas                                D. 以上皆非
50. 软件测试的目的是(      )。
  A. 表明软件的正确性                    B. 评价软件质量
  C. 尽可能发现软件中错误            D. 判定软件是否合格
51. 通常,(      )是在代码编写阶段可进行的测试,它是整个测试工作的基础。
  A. 系统测试                            B. 安装测试
  C. 验收测试                            D. 单元测试
52. 逻辑覆盖标准主要用于(      )。
  A. 黑盒测试方法                            B. 白盒测试方法
  C. 灰盒测试方法                            D. 软件验证方法
53. 逻辑覆盖中最强的覆盖标准是(      )。
  A. 条件覆盖                                B. 条件组合覆盖
  C. 判定覆盖                                D. 语句覆盖
54. 软件维护工作越来越收到重视,它的花费常常要占软件生存周期全部花费的(      )%左右。
  A. 1020                                B. 2040
  C. 6080                                D. 90以上
55. 为了减少维护工作的困难,可以考虑采取的措施是(      )。
  A. 设法开发出无错的软件
B. 增加维护人员数量
C. 切实加强维护管理,并在开发过程中就采取有利于未来维护的措施