《软件工程》练习测试题库一、单项选择题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.结构化设计语言 D.结构化程序设计7.下列关于JSP方法不正确的说法是()方法主要用于规模不大的数据处理系统方法不明确的划分软件概要设计和详细设计的两个阶段方法适用于输入数据和输出数据之间有对应关系的问题求解方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[,],现从输入的角度考虑一组测试用例:,,,。
设计这组测试用例的方法是()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.下列模型属于成本估算方法的有()模型模型度量法 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. 正确性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. SDB. JacksonC. ParnasD. 以上皆非50.软件测试的目的是()。
A. 表明软件的正确性B. 评价软件质量C. 尽可能发现软件中错误D. 判定软件是否合格51.通常,()是在代码编写阶段可进行的测试,它是整个测试工作的基础。
A. 系统测试B. 安装测试C. 验收测试D. 单元测试52.逻辑覆盖标准主要用于()。
A. 黑盒测试方法B. 白盒测试方法C. 灰盒测试方法D. 软件验证方法53.逻辑覆盖中最强的覆盖标准是()。
A. 条件覆盖B. 条件组合覆盖C. 判定覆盖D. 语句覆盖54.软件维护工作越来越收到重视,它的花费常常要占软件生存周期全部花费的()%左右。
A. 10~20B. 20~40C. 60~80D. 90以上55.为了减少维护工作的困难,可以考虑采取的措施是()。
A. 设法开发出无错的软件B. 增加维护人员数量C. 切实加强维护管理,并在开发过程中就采取有利于未来维护的措施D. 限制修改的范围56.软件测试是软件质量保证的主要手段之一。
“高产”的测试是指()。
A. 用适量的测试用例,说明被测试程序正确无误B. 用适量的测试用例,说明被测试程序符合相应的要求C. 用少量的测试用例,发现被测试程序尽可能多的错误D. 用少量的测试用例,纠正被测试程序尽可能多的错误57.Jackson结构化程序设计方法主要适用于规模适中的()系统的开发。
A. 数据处理B. 文字处理C. 实时控制D. 科学计算58.单元测试在试验阶段进行,它所依据的模块功能描述和内部细节以及测试方案应在()阶段完成,目的是发现编程错误。
A. 需求分析B. 概要设计C. 详细设计D. 结构设计59.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A. 程序的内部逻辑B. 程序的复杂程度C. 使用说明书D. 程序功能60.软件的集成测试工作最好由()承担,以提高集成测试的效果。
A. 该软件的设计人员B. 该软件开发组的负责人C. 该软件的编程人员D. 不属于该软件开发组的软件设计人员二、名词解释1、集成测试2、CASE3、SA4、软件工程5、可互操作性6、法律可行性研究7、数据流图8、需求分析9、过程抽象10、模块独立性11、数据性块间联系12、判定表13、事务型数据流图14、耦合性15、面向数据设计16、系统响应时间17、判定-条件覆盖18、路径覆盖19、静态测试20、α测试三、判断题1、螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
2、数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
3、软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
4、软件模块之间的耦合性越弱越好。
5、过程描述语言可以用于描述软件的系统结构。
6、如果通过软件测试没有发现错误,则说明软件是正确的。