题号 题目内容 在软件生命周期中,能准确1 确定软件系统的体系结构概要设计 详细设计 的功能阶段是( ) 2 3 下面不是软件工程的3个要素的是( ) 下面不属于软件的组成的是( ) 在瀑布模型中,将软件分为4 若干个时期,软件项目的可行性研究一般归属于( ) 5 在瀑布模型中,下面( )不适应平不适应算法的不适应用户不适应程序是其突出的缺点。 软件工程过程通常包含46 种基本活动,下面不属于4台的变动 变动 软件规格软件开发 C 需求的变动 语言的变动 软件测试 软件演进 C 维护时期 运行时期 计划时期 开发时期 C 过程 程序 方法 记录 环境 文档 工具 数据 C B 需求分析 可行性分析 A 选项A 选项B 选项C 选项D 参考答案 说明 种活动之一的是( )。 下面不属于软件的特点的是( )。 文档是描述程序、数据和系软件是一软件产品不会软件产品的种软件产用坏,不存在磨生产主要是品 损、消耗问题 研制 7 软件产品非常便宜 D 8 统开发以及使用的各种图文资料。下面不是文档的作用的是( )。 软件开发工具是协助开发人员进行软件开发活动所记录 提供源程序 维护软件 软件产品介绍 B 9 使用的软件或环境。下面不维护工具 编码工具 是软件开发工具的是( )。 下列叙述中不属于软件生测试工具 需求分析工具 A 10 11 12 原型模型 瀑布模型 命周期模型的是( )。 软件设计中,用抽象和分解提高易读的目的是( )。 ( )。 软件生命周期中所花费用最多的阶段是( )。 性 和文档 降低复杂性 螺旋模型 快速组装模型 D 增加内聚性 降低耦合性 B A 软件由3部分组成,它们是程序、数据程序、数据和界数据、文档程序、界面面 和界面 和文档 13 详细设计 软件编码 概要设计 软件测试和维护 D 题号 题目内容 选项A 选项B 选项C 选项D 参考答案 开发软件时对提高开发人操作系统14 员工作效率至关重要的是的资源管( )。 开发软件所需高成本和产15 品的低质量之间有着尖锐的矛盾,这种现象称作( )。 软件开发的结构化生命周定义、开16 期方法将软件生命周期划发、运行维分成( )。 软件工程的理论和技术性17 研究的内容主要包括软件开发技术和( )。 18 软件工程的出现是由于( )。 在软件生命周期中,能准确地确定软件系统必须做什护 消除软件危机 程序设计方法学的影响 理功能 先进的软件开程序人员的计算机的并发工具和环境 数量 B 行处理能力 软件投机 软件危机 软件工程 软件产生 B 设计阶段、编程功能定义、详细设计、A 阶段、测试阶段 系统设计 编程调试 程序设计自实现软件可动化 重用 总体设计、需求分析、软件工程管理 B 软件产业化的软件危机的计算机的发需要 出现 展 C 19 么和必须具备哪些功能的概要设计 详细设计 阶段是( )。 开发大型软件时,产生困难大系统的的根本原因是( )。 复杂性 文档是软件开发人员、软件管理人员、维护人员、用户21 以及计算机之间的( ),接口 软件开发人员在各个阶段以文档作为前段工作成果的体现和后段工作的基础。 软件工程学的目的是以 较22 低的成本,研制( )质较高 量的软件。 软件从一个计算机系统或23 环境转换到另一个计算机和环境的容易程度称为( )。 软件使不同的系统约束条24 件和用户需求得到满足的可用性 容易程度称为( )。 兼容性 可用性 兼容性 较低 桥梁 可行性分析 需求分析 C 20 人员知识不足 客观世界千时间紧、任变万化 务重 A 科学 继续 B 可靠 优秀 A 可靠性 可移植性 D 可靠性 可移植性 B 题号 题目内容 选项A 软件开始选项B 选项C 选项D 从立项制定参考答案 25 软件生存周期是指( )使用到用软件开始使用阶段。 户要求修到被淘汰为止 改为止 软件工程学是应用科学理从开始编写计划,进行程序到不能需求分析到D 再使用为止 不能再使用为止 26 论和工程上的技术指导软件开发的学科,其目的是( )。 引入新技用较少的投资缩短研制周硬软件结合术提高空获得高质量的期扩大软件使系统面向B 间利用率 软件 软件可靠性是指软件在给定功能 软件可靠性软件可靠性是是指软件在指软件在给定正式投入运的时间间隔内,行后,按规按设计要求成格说明书的功运行的概率 规定成功运行的概率 应用 软件可靠性是指软件在给定时间间隔内,按规格说明书的规定成功运行的概率 B 27 下列四个软件可靠性定义的时间间中正确的是( )。 隔内,按用户要求成功运行的概率 选好一种程序设计语言 28 提高程序可读性的有力手段是( )。 以下( )不是结构化分析方法常用的工具。 软件可行性分析是着重确显式说明一切使用三种标给程序加注变量 准控制语句 释 程序流程图 判定树 C 29 数据流图 数据字典 C 30 定系统的目标和规模。对成经济可行本-效益进行发现应属于下性 列选项中的( )。 在数据流图中,用圆或者椭圆来表示( )。 有4个方面,分别为需求评审,需求分析,编写需求规下面不是软件需求规格说操作可行性 技术可行性 社会可行性 A 31 数据流 加工 数据存储 数据源点或终点 B 软件需求分析阶段的工作,32 需求获取 阶段性报告 总结 都不正确 A 格说明书,以及( )。 33 34 正确性 明书的特点的是( )。 需求分析阶段的任务是确软件开发定( )。 通常软件生命周期划分为计划、开发和运行3个时可行性研35 期,下列选项中( )工究和需求作应属于软件计划期的内分析 容。 36 ( )的目的就是用最小需求分析 概要设计 总体设计 方法 无歧义性 软件开发费用 完整性 不可修改性 D C 软件系统功软件开发工能 具 可行性研问题定义和总可行性研究究、需求分体设计 和问题定义 析和问题定义 C 可行性研究 D 题号 题目内容 的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。 选项A 选项B 选项C 选项D 参考答案 便于用户、分析员和37 件需求规格目标。 人员进行施过程 理解及交流 需求分析是发现、求精、建38 模的过程,最终产生( )。 需求规格说明书 使用顺序、选择和重复(循环)39 下面描述中,符合结构化程三种基本序设计风格的是( )。 控制结构表示程序的控制逻辑 数据流图用于抽象描述一个软件的逻辑模型,数据流40 图由一些特定的图符构成。控制流 下列图符名标识的图符不属于数据流图合法图符的是( )。 软件需求分析阶段的工作,41 可以分为四个方面:需求获阶段性报取、需求分析、编写需求规告 格说明书以及( )。 42 下列工具中属于需求分析常用工具的是( )。 在数据流图(DFD)中,带PAD 控制程序PFD N-S DFD D 需求评审 总结 都不正确 B 加工 数据存储 源和潭 A 模块只有一个注重提高程不使用goto入口,可以有多序的执行效语句 A 个出口 率 模块设计书 合同文档 详细设计说明书 A 作为软件测及维护的依维护 据 D 下列选项中( )不是软软件设计控制系统的实试和验收以便于软件的43 模块之间的调程序的组成的执行顺数据的流向 C 有名字的箭头表示( )。 用关系 成分 序 在软件生产过程中,需求信息的给出是( )。 下列叙述中,不属于结构化程序员 面向数据项目管理者 软件分析设计人员 面向数据结D 软件用户 D 44 45 分析方法的是( )。 流的结构面向数据结构构的结构化面向对象的化分析方的Jackson方法 数据系统开分析方法 法 发方法 题号 题目内容 在软件生命周期中,能准确选项A 选项B 选项C 选项D 参考答案 46 地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。 结构设计是一种应用最广泛的系统设计方法,是以概要设计 详细设计 可行性分析 需求分析 D 47 数据流 ( )为基础、自顶向下、逐步求精和模块化的过程。 概要设计的结果是提供一数据流图 数据库 数据结构 B 48 份( )。 需求分析是由分析员经了解用户的要求,认真细致地49 模块说明书 框图 程序 数据结构 A 调研、分析,最终应建立目模块说明软件规格说明项目开发计合同文档 B 书 划 标系统的逻辑模型并写出书 ( )。 1960年Dijkstra提倡的( )是一种有效的提高程序设计效率的方法,把程50 序的基本控制结构限于顺序、 选择和循环三种,同时避免使用GOTO语句,标准化程模块化程序设多道程序设结构化程序序设计 计 计 设计 D 这样使程序结构易于理解。 概要设计的任务是决定系51 统中各个模块的外部特外部特性 内部特性 性 ,即其( )。 详细设计的任务是决定每52 个模块的内部特性,即模块外部特性 内部特性 ( )。 结构化分析方法以数据流图、( )和加工说明等53 描述工具,即用直观的图和DFD图 简洁的语言来描述软件系统模型。 在可行性研究阶段,对系统所要求的功能、性能以及限54 制条件进行分析,确定是否能够构成一个满足要求的系统,这称为( )可行性。 55 可行性研究的目的是用最技术可行经济可行性、技技术可行费用可行C 经济 技术 法律 操作 B PAD图 IPO图 数据字典 D 算法和使用数据 功能和输入输出数据 D 算法和使用功能和输入数据 输出数据 C 题号 题目内容 选项A 选项B 选项C 选项D 参考答案 小的代价,在最短的时间内性、费用可术可行性、机器性、操作可性、机器可确定问题是否可能解决和行性、效益可行性 值得去解决,主要从( )可行性 三个方面进行。 数据字典是软件需求分析56 阶段的重要工具之一,它的数据定义 数据维护 基本功能是( )。 57 软件总体结构的内容应在( )文档中阐明。 软件需求规格说明书 概要设计规格详细设计规数据要求规说明书 格说明书 格说明书 A 数据通讯 数据库设计 A 行性、经济行性、操作可行性 可行性 58 59 需求分析说明书不能作为可行性研用户和开发人系统概要设软件验收测( )。 以下( )不是详细设计中常用的图形描述工具。 在结构图的有关术语中,用究的依据 员之间的合同 计的依据 数据流图 程序流图 盒图(N-S) 试的依据 问题分析图(PAD) 宽度 A A 60 于表示软件结构中控制的扇入 层数的是( )。 模块的独立程度是评价设61 扇出 深度 C 计好坏的重要标准。( )耦合性和内聚性和可靠耦合性和独可靠性和独是衡量软件的模块独立性内聚性 的两个定性度量标准。 接口设计和结构设计 性 立性 立性 A 62 软件设计包括( )两个阶段。 ( )是一个把软件需求转化为软件表示的过程,也就是把它加工为在程序细节上非常接近于源程序的软件表示(描述),它是软件工程的重要阶段。 软件总体设计阶段属于软概要设计和详数据设计和结构设计和细设计 概要设计 过程设计 B 63 软件设计 过程设计 系统分析 结构设计 A 64 65 需求分析 软件设计 件生命周期的( )阶段。 在详细设计阶段,经常采用的工具是( )。 PAD SA 编码 SC 软件维护 B DFD 定义需求并建立系统模D 型 植性 程序的注释可有可无 B C 66 在软件开发中,下面任务不数据结构给出系统模块定义模块算属于设计阶段的是( )。 设计 结构化程序设计主要强调程序的规的是( )。 模 对建立良好的程序设计风程序应简结构 程序的易读性 符号名的命名要符合语法 法 67 程序的执行程序的可移效率 充分考虑程序的执行效率 68 格,下面描述正确的是单、清晰、( )。 可读性好 A 题号 题目内容 程序流程图(PFD)中的箭选项A 选项B 选项C 选项D 参考答案 69 头代表的是( )。 下面不属于软件设计原则的是( )。 数据流 控制流 调用关系 组成关系 B 70 71 抽象 模块化 模块独立性 自底向上 模块类型划分 语句成分 信息隐蔽 C 模拟耦合度 B 信息隐蔽的概念与下述哪软件结构一种概念直接相关( )。 定义 程序设计语言的基本成分72 是数据成分、运算成分、控对象成分 变量成分 制成分和( )。 在结构化程序设计思想提出之前,在程序设计中曾强73 调程序的效率,现在,与程序的效率相比,人们更重视程序的( )。 为了避免流程图在描述程序逻辑时的灵活性,提出了74 用方框图来代替传统的程PAD图 序流程图,通常也把这种图称为( )。 在软件开发中,有利于发挥75 集体智慧的一种做法是设计评审 模块化 ( )。 程序的三种基本控制结构76 是顺序、条件和循环,它们的共同点是( )。 软件的( )设计又称为77 总体结构设计,其主要任务是建立软件系统的总体结构。 源程序的版面文档要求应78 有变量说明、适当注释和框图 ( )。 详细设计79 程序编写(实现)阶段完成说明书、模详细设计说明的文档有( )。 结构化设计方法是面向( )的设计方法。 以分为( )。 块开发宗书、用户手册 卷 80 81 过程 对象 概要 抽象 N-S图 安全性 一致性 传输成分 D 可理解性 合理性 C 结构图 数据流图 B 主程序员制 进度控制 A 只有一个入口和一个出D 口 不能嵌套只能用来写简已经用硬件使用 单的程序 实现 逻辑 规划 D 统一书写格式 修改记录 编程日期 B 模块开发宗卷、操作手册 数据流 用户手册、操作手册 数据结构 B A B 软件测试按照功能划分可黑盒测试白盒测试和黑集成测试和白盒测试和和单元测盒测试 单元测试 静态测试 题号 题目内容 选项A 试 选项B 选项C 选项D 参考答案 若有一个计算类型程序,它的输入量只有一个A,其范围是[-2.0,2.0]。现在输入的82 角度考虑设计一组测试该边界值分程序的测试用例为析法 -2.001,-2.0,2.0,2.001,设计这组测试用例的方法是( )。 83 下列选项中不属于单元测模块接口局部数据结构试的内容的是( )。 测试 在白盒测试法中的逻辑覆84 盖技术中,其中发现错误能力最弱的覆盖技术是( )。 在软件测试过程的4个步85 骤中,测试依据是需求规格单元测试 集成测试 说明的是( )。 软件测试用例是指为了测86 试软件而设计的一组数据,测试计划 测试规则 它应该包括输入的数据和( )两部分。 软件测试方法中,白盒测试87 法和黑盒测试法是常用的结构合理方法,其中白盒测试法主要性 用于测试( )。 程序测试是一项复杂的工88 作,一般测试者在进行测试测试用例 数据结构 中都需要设计( )。 89 黑盒测试法属于( )。 集成测试 系统测试 ( )实际上是确认在的90 外部环境中软件的逻辑正确性,它应该包括需求规格说明和程序等的确认。 91 下列测试方法中不属于白逻辑覆盖盒测试法的是( )。 测试法 循环测试法 基本路径测边界值分析试法 法 一个好的测测试的目的试用例是指是为了证明很可能找到程序是正确迄今为止尚的 未发现的错误的测试 C D 动态测试 静态测试 确认测试 系统测试 B 动态测试 静态测试 C 测试方法 测试研究 A 软件外部功能 程序正确性 程序内部逻辑 D 以往测试记预期输出结录 果 D 确认测试 系统测试 C 语句覆盖 判定覆盖 条件覆盖 数据流 A 测试 路径测试 数据测试 D 等价类划分法 逻辑覆盖法 错误猜测法 A 测试是为一个成功的测92 下列叙述中错误的是( )。 了寻找错试是揭示了迄误而运行今为止尚未发程序的过现的错误的测程 试 题号 93 题目内容 选项A 选项B 人工测试法 选项C 黑盒测试法 选项D 基本路径测试法 参考答案 B 下列选项中不属于动态测白盒测试试法的是( )。 软件测试过程是软件开发法 94 过程的逆过程,其最基础性集成测试 单元测试 的测试应是( )。 95 软件测试的目的是( )。 发现错误 96 与设计测试数据无关的文需求说明档是( )。 软件测试中设计测试实例97 (test case)主要由输入数测试规则 测试计划 据和( )两部分组成。 运行测试书 有效性测试 系统测试 B 演示程序的功改善软件的挖掘软件的能 设计说明书 性能 源程序 潜能 项目开发设计 A D 预期输出结以往测试记果 录分析 C 实例后未发现程序的错证明程序正改正程序的98 成功的测试是指( )。 B 发现错误误 确 错误 项 单独测试一个模块时,有时需要一个 驱动程序驱动被99 测试的模块。有时还要有一子(Sub) 仿真(Initation) 栈(Stack) 桩(Stub) D 个或几个( )模块模拟由被测试模块调用的模块。 在集成(联合)测试中,测100 试的主要目的是发现软件计划 需求分析 ( )阶段的错误。 已知程序用插入法排序(升序),现有已排序列1,2,101 3,4,5。现向序列中插入-2,观察插入结果是否在测试法。 102 下列所述的测试原则中,错误的是( )。 应设计非测试用例要给因维护修改开发小组应法输入的出测试的预期程序后需回与测试小组D 测试用例 结果 能 集成测试法 归测试 性能 回溯法 合并 纠正错误 D 演示程序的功改善软件的发现错误并黑盒 白盒 条件覆盖 错误推测 A 设计 编码 D 1之前,则采用的是( )103 软件调试的目的是( )。 发现错误 104 下列不属于软件调试技术强行排错的是( )。 法 对软件的原因排除法 B 软件开发期105 软件的维护指的是( )。 改进、适应维护正常运行 配置新软件 和完善 106 由于更新了操作系统而对修正性维软件进行的修改工作属于护 适应性维护 A 的一个阶段 完善性维护 预防性维护 B 题号 题目内容 ( )。 软件调试的方法中,( )选项A 选项B 选项C 选项D 参考答案 107 是从一般原理或前提出发,回溯法 经过排除和细化的过程,推导出结论的方法。 在软件维护中,为了加强、改善系统的功能和性能,以适应性维满足用户新的要求的维护护 称为( )。 强行排除法是一种常用的简单方法,下列选项中( )不属于强行排除法。 输出内存归纳法 二分查找法 演绎法 D 108 纠错性维护 完善性维护 预防性维护 C 109 储器的信进行回归测试 息 完善性维护 在程序中插利用自动调入打印语句 试工具 B 110 下列中不属于软件维护的纠错性维是( )。 护 检验性维护 预防性维护 C 选择题 1. 软件工程的概念是哪年提出的( ) A. 1988 B. 1968 C. 1948 D. 1928 2. 瀑布模型的关键不足在于( )
A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 3. 以下哪一项不是软件危机的表现形式( )
A. 开发的软件不满足用户需要 B. 开发的软件可维护性差 C. 开发的软件价格便宜 D. 开发的软件可靠性差 4. 软件可行性研究实质上是要进行一次( )需求分析、设计过程
A. 简化、压缩的 B. 详细的 C. 彻底的 D. 深入的 5. 结构化设计是一种面向( )的设计方法
A. 数据流 B. 模块 C. 数据结构 D. 程序 6. 与确认测试阶段有关的文档是( )
A. 需求规格说明书 B. 概要设计说明书 C. 详细设计说明书 D. 源程序 7. 软件开发的需求活动,其主要任务是( )
A. 给出软件解决方案 B. 给出系统模块结构
C. 定义模块算法 D. 定义需求并建立系统模型 8. 以下说法错误的是( )
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令 B. 文档也是软件产品的一部分,没有文档的软件就不成软件
C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量 D. 高质量文档对于发挥软件产品的效益有着重要的意义
9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( ) A. 成本估算 B. 项目计划 C. 工程管理 D. 工程网络图
10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以
外,还有( )
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. has a D. 一般特殊 16、软件维护产生的副作用,是指( )
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作
17、使用程序设计的控制结构导出测试用例的测试方法是( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 18、软件详细设计的主要任务是确定每个模块的( )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程 19、软件结构图的形态特征能反映程序重用率的是( )
A、深度 B、宽度 C、扇入 D、扇出 20、为了提高模块的独立性,模块内部最好是( )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 21、软件是一种( )
A、程序 B、数据 C、逻辑产品 D、物理产品 22、需求分析最终结果是产生( )
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 24、下列属于维护阶段的文档是( )
A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告 25、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )
A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 26、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( )
A、需求分析 B、程序设计 C、详细设计 D、软件维护 28、经过严密的软件测试后所提交给用户的软件产品中( )
A、软件不再包含任何错误 B、还可能包含少量软件错误 C、所提交给用户的可执行文件不会含有错误 D、文档中不会含有错误。 29、等价划分测试方法属于( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性 B.可靠性 C.正确性 D.完整性 31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )
A、集成测试 B、恢复测试 C、确认测试 D、单元测试 32、要显示描绘软件开发项目各作业的依赖关系,应选择( )
A. Gantt图 B.工程网络 C. COCOMO模型 D.数据流图 33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( )
A、3±1 B、7±2 C、15±1 D、18±2 34、结构化程序设计主要强调的是( )
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 35、在用户界面层次上对软件进行测试属于哪种测试方法( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 36、对象实现了数据和操作的结合, 使数据和操作( )于对象的统一体中
A、结合 B、隐藏 C、封装 D、抽象 37、( )是比较理想的可重用软构件
A.子程序库 B.源代码包含文件 C.对象 D.类 38、下列模型属于成本估算方法的有( ) A、COCOMO模型 B、McCall模型 C、McCabe度量法 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、is a 关系 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、软件容错 B、系统软件 C、测试软件 D、恢复测试 50.瀑布模型的关键不足在于
A、过于简单 B、不能适应需求的动态变更 C、过于灵活 D、各个阶段需要进行评审
51.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)
(1)继承和聚集 (2)继承和一般 (3)聚集和消息传递 (4)继承和方法调用 52.以下哪一项不是软件危机的表现形式(3)
(1)成本高 (2)生产率低 (3)技术发展快 (4)质量得不到保证 53.以下哪一项不是面向对象的特征(4)
(1)多态性 (2)继承性 (3)封装性 (4)过程调用 54.软件可行性研究一般不考虑(4)
(1)是否有足够的人员和相关的技术来支持系统开发 (2)是否有足够的工具和相关的技术来支持系统开发 (3)待开发软件是否有市场、经济上是否合算 (4)待开发的软件是否会有质量问题
55.软件维护的副作用主要有以下哪几种(3)
(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用
(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用
56.软件项目计划一般不包括以下哪项内容(4)
(1)培训计划 (2)人员安排 (3)进度安排 (4)软件开发标准的选择和制定 57.以下哪一项不属于面向对象的软件开发方法(3)
(1)coad方法 (2)booch方法 (3)jackson方法 (4)omt方法 58.以下哪种测试方法不属于白盒测试技术(2)
(1)基本路径测试 (2)边界值分析测试 (3)循环覆盖测试 (4)逻辑覆盖测试 59. “软件危机”是指( )
A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 60. DFD中的每个加工至少需要( )
A.一个输入流 B.一个输出流 C.一个输入或输出流 D.一个输入流和一个输出流 61. 为了提高模块的独立性,模块之间最好是( )
A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 62. 下面关于PDL语言不正确的说法是( )
A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么 C. PDL也称为伪码
D. PDL的外层语法应符合一般程序设计语言常用的语法规则
63. 详细设计与概要设计衔接的图形工具是( )
A. DFD图 B. 程序图 C. PAD图 D. SC图 64. 不适合作为数据处理与数据库应用的语言是( )
A. SQL B. Cobol C. 4GL D. Lisp 65. 下列关于功能性注释不正确的说法是( )
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释
66. 下列关于效率的说法不正确的是( )
A. 效率是一个性能要求,其目标应该在需求分析时给出
B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法 C. 效率主要指处理机时间和存储器容量两个方面 D. 程序的效率与程序的简单性无关 67. 测试的关键问题是( )
A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 68. 结构化维护与非结构化维护的主要区别在于( )
A. 软件是否结构化 B. 软件配置是否完整 C. 程序的完整性 D. 文档的完整性 69. 软件维护困难的主要原因是( )
A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 70. 可维护性的特性中,相互矛盾的是( )
A. 可理解性与可测试性 B. 效率与可修改性 C.可修改性和可理解性 D可理解性与可读性 71.快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的
A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 72. 从目前情况来看,增量模型存在的主要问题是( )
A. 用户很难适应这种系统开发方法 B. 该方法的成功率很低
C. 缺乏丰富而强有力的软件工具和开发环境
D. 缺乏对开发过程中的问题和错误具有应付变化的机制 73. 下列文档与维护人员有关的有( )
A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 E. 实现错误检测和错误恢复的程序
74. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作
A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 75. 表示对象相互行为的模型是( )模型。
A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 76. CASE工具的表示集成是指CASE工具提供相同的( )
A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统
77. 在软件开发中,( )是指对将要开发的系统的开发成本进行估算,然后与可能
取得的效益进行比较和权衡
A. 成本—效益分析 B. 可行性分析 C. 结构化分析 D. 软件需求分析 78. 软件开发过程来自用户方面的主要干扰是( )
A. 功能变化 B. 经费减少 C. 设备损坏 D. 人员变化 79. 软件复杂性度量的参数包括( )
A. 结构 B. 问题背景 C. 可重用性 D. 容错性
80. 在 McCall 软件质量度量模型中,( )属于面向软件产品操作。
A. 可维护性 B. 效率 C. 适应性 D. 可互操作性
81. 为了提高软件的可维护性或可靠性而对软件进行的修改称为( )
A. 纠错性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 82. 面向维护的技术涉及软件开发的( )阶段
A. 设计 B. 编码 C. 测试 D. 所有 83. 用白盒技术设计测试用例的方法包括( )
A. 边界值分析 B. 条件组合覆盖 C. 因果图 D. 错误推测 84. 软件测试的目的是( )
A. 为了表明程序没有错误 B. 为了说明程序能正确地执行 C. 为了发现程序中的错误 D. 为了评价程序的质量 85. 针对软件需求分析所进行的软件测试是指( )
A. 集成测试 B. 确认测试 C. 黑盒子测试 D. 白盒子测试
86. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )
A. 模块的功能 B. 语句的功能 C. 模块的接口 D. 开发历史 87. 结构化程序设计采用的三种基本控制结构是( )
A. 顺序、分支、选择 B. 选择、循环、重复 C. 顺序、选择、循环 D. 输入、变换、输出
88. 在软件设计中详细描述处理过程常用的三种工具是( )
A.SA , SD , SP B. 程序流程图, IPO , PAD C.SA , SC , SD D. 图形,表格,语言
89. 通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是( )
A. 通信、逻辑、顺序、时间 B. 通信、时间、顺序、逻辑 C. 顺序、通信、时间、逻辑 D. 顺序、通信、逻辑、时间 90. 在下列四种模块的耦合性中,信息隐蔽性能最好的是( )
A. 控制耦合 B. 内容耦合 C. 标记耦合 D. 数据耦合 91. 结构化方法是一种( )的软件开发方法
A. 面向用户 B. 面向数据结构 C. 面向对象 D. 面向数据流 92. 需求分析是回答系统必须( )的问题
A. 做什么 B. 怎么做 C. 何时做 D. 为谁做
93. 在软件生产的( ),使用的工具主要是机器语言和汇编语言
A. 程序系统时代 B. 软件工程时代 C.面向对象时代 D. 人工智能时代 94.软件工程管理的具体内容不包括对 _________ 管理
A .开发人员 B .组织机构 C .控制 D .设备
95 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作
A .正确性 B .可维护性 C .适应性 D .互操作性
96.在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _____模型
A .探索型原型 B .演化型原型 C .实验型原型 D .增量型原型 97 维护中因删除一个标识符而引起的错识是 _________ 副作用
A .文档 B .数据 C .编码 D .设计
98.软件维护的困难主要原因是( )
A .费用低 B .人员少 C .开发方法的缺陷 D .维护难 99 用白盒法技术设计测试用例的方法包括( )
A .错误推测 B .因果图 C .基本路径测试 D .边界值分析
100.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们
A .前者属于静态测试,后者属于动态测试 C .都属于静态测试 B .前者属于动态测试,后者属于静态测试 D .都属于动态测试 101.程序的三种基本控制结构的共同特点是( )
A .只能用来描述简单程序 B .不能嵌套使用
C .单入口,单出口 D .仅用于自动控制系统 102 JSP 方法是一种面向 _________ 的设计方法
A .控制结构 B .对象 C .数据流 D .数据结构
103 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合
104 软件设计的方法有多种, _________ 方法不属于面向数据流的设计方法
A .基于 Jackson 图的设计 B .基于 IDEF 0 图的设计 C .交换分析设计 D .事务分析设计
105为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享
106 数据流图( DFD )是 _________方法中用于表示系统的逻辑模型的一种图形工具 A SA B SD C SP D SC
107螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型
A .增量模型 B专家系统 C喷泉模型 D变换模型 108.需求规格说明书的作用不包括( )
A 软件验收的依据 C 软件可行性研究的依据 B 用户与开发人员对软件要做什么的共同理解 D 软件设计的依据 109.数据字典是用来定义 _________ 中的各个成份的具体含义的
A .流程图 B 功能结构图 C系统结构图 D数据流图
110 设年利率为 i ,现存入 p 元,不计复利, n 年后可得钱数为( )
A p ﹡ (1+i ﹡ n) B p ﹡ (i+1) n C p ﹡ (1+i) ﹡ n D p ﹡ (i+n)
111 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了
A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计 112 Putnam 成本估算模型是一个( )模型
A .静态单变量 B .动态单变量 C .静态多变量 D .动态多变量 113 在 McCall 软件质量度量模型中,( )属于面向软件产品修改
A .可靠性 B .可重用性 C .适应性 D .可移植性
114 ISO 的软件质量评价模型由 3 层组成,其中用于评价设计质量的准则是( )
A .SQIC B .SQMC C .SQRC D .SQDC 115 软件复杂性度量的参数包括( )
A .效率 B .规模 C .完整性 D .容错性
116 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中
A .结合 B .隐藏 C .封装 D .抽象 117 软件调试技术包括( )
A .边界值分析 B .演绎法 C .循环覆盖 D .集成测试 118 瀑布模型的存在问题是( )
A .用户容易参与开发 B .缺乏灵活性 C 用户与开发者易沟通 D 适用可变需求 119 软件测试方法中的静态测试方法之一为( )
A .计算机辅助静态分析 B .黑盒法 C .路径覆盖 D .边界值分析 120 软件生命周期中所花费用最多的阶段是( )
A .详细设计 B .软件编码 C .软件测试 D .软件维护 121 第一个体现结构化编程思想的程序设计语言是( )
A .FORTRAN 语言 B .Pascal 语言 C .C 语言 D .PL/1 语言 122 程序的三种基本控制结构是( )
A .过程、子程序和分程序 B .顺序、选择和重复 C .递归、堆栈和队列 D .调用、返回和转移 123 在详细设计阶段,经常采用的工具有( )
A .PAD B .SA C .SC D .DFD 124 详细设计的结果基本决定了最终程序的( )
A .代码的规模 B .运行速度 C .质量 D .可维护性 125 需求分析中开发人员要从用户那里了解( )
A .软件做什么 B .用户使用界面 C .输入的信息 D .软件的规模 126 结构化程序设计主要强调的是( )
A.程序的规模 B 程序的效率 C.程序设计语言的先进性 D 程序易读性 127 IDEF0图反映系统( )
A .怎么做 B .对谁做 C .何时做 D .做什么 128 经济可行性研究的范围包括( )
A .资源有效性 B .管理制度 C .效益分析 D .开发风险
129 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开
发的决策依据,因必须给出( )的回答
A .确定 B .行或不行 C .正确 D .无二义 130 需求分析阶段的任务是确定( )
A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 131.下列方法中不属于面向对象的开发方法有( )
A. Booch方法 B. Coad方法 C. OMT方法 D. VDM方法 132.系统流程图是一种传统工具,用于描绘( )
A. 逻辑模型 B. 程序系统 C. 体系结构 D. 物理系统
133.结构化分析方法是以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语
言来描述软件系统模型。
A. DFD图 B. PAD图 C. IPO图 D. DD 134.信息隐蔽概念与( )这一概念直接的相关
A. 模块的独立性 B. 模块类型的划分 C. 软件结构定义 D. 软件生命周期 135.在软件的概要设计中,不使用的图形工具是( )图
A. SC B. IPO C. PAD D. IDEF0 136.不属于详细设计的主要工具有( )
A. IPO图 B. PAD图 C. PDL D. SC 137.不属于序言性注释的有( )
A. 模块设计者 B. 修改日期 C. 程序的整体说明 D. 语句功能
138.单元测试阶段主要涉及( )的文档
A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计
139.在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法。
A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据
140.需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的
逻辑模型并写出( )的过程
A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档 141.数据耦合和控制耦合相比,则( )成立
A. 数据耦合的耦合性强 B. 控制耦合的耦合性强
C. 两者的耦合性相当 D. 两者的耦合性需要根据具体情况分析 142.鱼是一种水生动物。鱼与水生生物之间的关系是( )
A. 分类关系 B. 组装关系 C. 整体成员关系 D. has a
143.进度安排的好坏往往会影响整个项目的按期完成,下列属于软件进度的方法有( )
A. 程序结构图 B. 流程图 C. 工程网络图 D. E-R图
144.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( )
A. 容错软件 B. 系统软件 C. 测试软件 D. 操作系统 145 Putnam 成本估算模型是一个( )模型。
A .静态单变量 B .动态单变量 C .静态多变量 D .动态多变量 软件工程管理的具体内容不包括对 _________ 管理
A .开发人员 B .组织机构 C .经费控制 D .设备 146 用白盒法技术设计测试用例的方法包括( )
A .错误推测 B .因果图 C .基本路径测试 D .边界值分析
147 软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们
A .前者属于静态测试,后者属于动态测试 C .都属于静态测试 B .前者属于动态测试,后者属于静态测试 D .都属于动态测试 148 JSP 方法是一种面向 _________ 的设计方法
A .控制结构 B .对象 C .数据流 D .数据结构
149 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合
150为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享 151 螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型
A .增量模型 B .专家系统 C .喷泉模型 D .变换模型 152 需求规格说明书的作用不包括( )
A .软件验收的依据 B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据
153数据字典是用来定义 _________ 中的各个成份的具体含义的
A .流程图 B .功能结构图 C .系统结构图 D .数据流图 154.下列方法中不属于面向对象的开发方法有( )
A. Booch方法 B. Coad方法 C. OMT方法 D. SD方法 155.系统流程图是一种传统工具,用于描述系统( )模型
A. 逻辑 B. 程序 C. 体系结构 D. 物理
156.结构化分析方法是以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语
言来描述软件系统模型
A. DFD图 B. PAD图 C. IPO图 D. DD 157.单元测试阶段主要涉及( )的文档
A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计
158.在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法
A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据
159.需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的
逻辑模型并写出( )的过程
A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档
160.进度安排的好坏往往会影响整个项目的按期完成,下列属于软件进度的方法有( )
A. 程序结构图 B. 流程图 C. 工程网络图 D. E-R图 一、选择题
1.软件的主要特性是( B )。
(A)高性能 (B)高成本 (C)包括程序和文档 (D)可独立构成计算机系统 2.软件工程三要素是( A )。
(A)高技术人员、方法和工具 (B)方法、工具和过程 (C)方法、对象和类 (D)过程、模型、方法 3.包含风险分析的软件工程模型是(
(A)螺旋模型 (B)瀑布模型 (C)增量模型 (D)喷泉模型 4.软件工程的主要目标是( A )。
(A)软件需求 (B)软件设计 (C)风险分析 (D)软件实现 5.下列不属于面向对象开发方法的是( B ) (A)Booch (B)UML (C)Coad (D)OMT 6.软件危机的主要表现是( D )。 (A)软件成本太高 (B)软件产品太多
(C)软件开发人员明显不足 (D)软件生产率低下 7.软件开发方法的主要工作模型有( C )
(A)螺旋模型 (B)循环模型 (C)瀑布模型 (D)专家模型 8.软件工程的目标有( B )。
(A)易于维护 (B)低的开发成本 (C)高性能 (D)短的开发期 9.软件工程学的目的和意义是( D )。
(A)应用科学的方法和工程化的规范管理来指导软件开发 (B)克服软件危机 ’ .
(C)做好软件开发的培训工作 . (D)以较低的成本开发出高质量的软件 10.需求工程的主要目的是( C )
(A)系统开发的具体方案 (B) 进一步确定用户的需求 (C)解决系统是“做什么的问题” (D) 解决系统是“如何做的问题” 11. 需求分析的主要方法有( D )
(A)形式化分析方法 (B)PAD图描述 (C)结构化程序设计(SP)方法 (D)OOA法
12.面向对象的分析方法主要是建立三类模型,即( B )
(A)系统模型,ER模型,应用模型 (B)对象模型,动态模型,实现(应用)模型 (C)ER模型,对象模型,功能模型 (D)对象模型,动态模型,功能模型
13.SA法的主要描述手段有( B )。
(A)系统流程图和模块图 (B)DFD图、数据词典、加工说明 (C)软件结构图、加工说明 (D)功能结构图、加工说明 14.画分层DFD图的基本原则下面不对的是( B )。 (A)数据守恒原则 (B)分解的可靠性原则 (C)子、父图平衡的原则 (D)数据流封闭的原则 15.在E-R模型中,包含以下基本成分( D )
(A)数据、对象、实体 (B)控制、联系、对象 (C)实体、联接、属性 (D)实体、属性、联系
16.下面不属于用例驱动的需求方法的优点的是( B )。 (A)作为需求分析阶段用户与开发者之间交流信息的工具 (B)对系统的数据结构进行描述 (C)对目标系统的层次结构进行描述 (D)作为分析和设计的工具
17.数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成( B )。 (A)数据说明条目、控制流条目、加工条目、数据存储条目 (B)数据流条目、数据项条目、数据存储条目、加工条目 (C)数据源条目、数据流条目、数据处理条目、数据文件条目 (D)数据流条目、数据文件条目、数据池条目、加工条目
18.面向对象程序设计的基本机制( A )
(A)继承 (B)消息 (C)方法 (D)结构 19.下列属于面向对象的要素有( C )
(A)分类性 (B)抽象 (C)对象 (D)封装 20.下列属于不面向对象开发方法的有( B ) (A)Booch (B)CAD (C)Coad (D)OMT
21. 下列属于Coad方法中面向对象的分析模型的层次有( A ) (A)主题层 (B)对象层 (C)应用层 (D)接口层 22 一个类属性依其特征划分,其类型有( A )。
(A)描述型 (B)定义型 (C)派生型 (D)参考型 23.在进行面向对象分析时,所采用的模型有( A )。
(A)对象模型 (B)动态模型 (C)静态模型 (D)功能模型 24.状态是对象属性的值的一种抽象,它的性质有( A )。 (A)时间性 (B)持续性 (C)有序性 (D)有穷性
25.数据流图中的处理必须用对象中的操作来实现,常见的操作有( A )。 (A)查询 (B)动作 (C)活动 (D)访问 26.建立继承关系时所采用的方式有( A )。
(A)自顶向下 (B)从内到外 (C)自底向上 (D)从复杂到简单 27.对象是人们要研究的任何事物,主要的对象类型有( A )。 (A)有形实体 (B)作用 (C)事件 (D)性能说明
一、单项选择题 ( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 20 分 )
1. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做 ( )
A. 软件工程 B. 软件周期 C. 软件危机 D. 软件产生
2. 研究开发所需要的成本和资源是属于可行性研究中的 ( ) 研究的一方面。
A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 3.DFD 图不反映出系统 ( )
A. 系统做什么 B. 系统功能如何实现 C. 系统由谁来做 D. 系统实现的约束条件 4. 模块的内聚性最高的是 ( )
A. 逻辑内聚 B. 时间内聚 C. 偶然内聚 D. 功能内聚 5. 在 SD 方法中全面指导模块划分的最重要的原则是 ( )
A. 程序模块化 B. 模块高内聚 C. 模块低耦合 D. 模块独立性 6. 软件详细设计主要采用的方法是 ( )
A. 模块设计 B. 结构化设计 C.PDL 语言 D. 结构化程序设计 7. 下列关于 JSD 方法不正确的说法是 ( )
A.JSD方法主要用于规模不大的数据处理系统
B.JSD方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSD方法适用于输入数据和输出数据之间有对应关系的问题求解
D.JSD 方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段
8. 不适合作为科学工程计算的语言是 ( )
A. Pascal B. C C. Fortran D. Prolog 9. 黑盒测试在设计测试用例时,主要需要研究 ( )
A. 需求规格说明与概要设计说明 B. 详细设计说明 C. 项目开发计划 D. 概要设计说明与详细设计说明
10. 若有一个计算类型的程序,它的输入量只有一个 X ,其范围是[ -1.0 , 1.0 ],现从输入的角度考虑一组测试用例: -1.001 , -1.0 , 1.0 , 1.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. 时间估算法 一、单项选择题 ( 每小题 1 分,共 20 分 ) 1.C 2.B 3.B 4.D 5.D 6.D 7.D 8.D 9.A 10.C 11.C 12.D 13.B 14.D 15.C 16.D 17.B 18.C 19.D 20.A
1. 为了克服软件危机,人们提出了用 ( ) 的原理来设计软件,这就是软件工程诞生的基础。
A. 数学 B. 软件学 C. 运筹学 D. 工程学 2. 可行性研究的目标是 ( ) 。
A. 开发项目 B. 项目值得开发否 C. 规划项目 D. 维护项目
3. 分层 DFD 图是一种比较严格又易于理解的描绘方式,它的顶层图的作用在于 ( ) 。 A. 描绘了系统的实现细节
B. 表明了被开发系统的范围以及它和周围环境的数据交换关系 C. 描绘了系统的抽象
D. 描绘了软件实现的作者和绘制的时间 4. DFD主要用来描述 ( ) 。
A. 系统的信息及其联系 B. 系统做什么 C. 系统模拟的动态模型 D. 系统功能如何实现 5. 软件需求分析应确定的是用户对软件的 ( ) 。
A. 功能需求和非功能需求 B. 性能需求 C. 非功能需求 D. 功能需求 6. 划分模块时,一个模块的 ( ) 。
A. 作用范围应在其控制范围之外 B. 作用范围应在其控制范围之内 C. 作用范围与其控制范围互不包容 D. 作用范围与其控制范围不受限制
7. 结构化程序设计思想的核心是要求程序只由顺序、循环和 ( ) 三种结构组成。 A. 选择 B. 单入口 C. 单出口 D. 有规则 GOTO
8. 详细设计阶段,一种二维树性结构来描述算法的工具称为 ( ) 。 A. IPO 图 B. PAD 图 C. PDL D. 判定树
9. 为了使软件具有清晰结构和良好的风格,下面关于程序设计风格的叙述不可取的有 ( ) A. 尽量不要进行浮点数的相等比较 B. 应当有适量的注释 C. 尽可能对代码优化 D. 使用有意义的标识符 10. 验收测试是对软件进行 ( ) 测试。
A. 可靠性 B. 有效性 C. 可维护性 D. 可用性 11. 纠错是由 ( ) 来完成的。
A. 测试者 B. 程序员 C. 用户 D. 系统管理人员
12. ( ) 这种维护性活动数量较大,占整个维护活动的 50% 。
A. 校正性维护 B. 适应性维护 C. 预防性维护 D. 完善性维护
13. 对于一个大型系统,若对设计方案没有把握,可通过 ( ) 来证实设计方案的正确性。 A. 增量构造模型 B. 实验型原型 C. 探索型原型 D. 演化型原型 14. 状态是对象 ( ) 的抽象。
A. 属性值 B. 方法 C. 功能 D. 行为
15. 对软件复杂性进行度量时,采用代码行度量法,下列说法不正确的是 ( ) 。 A. 每行代码的出错率与源程序行数之间不存在简单的线性关系
B. 对于少于 100 行语句的小程序,源代码行数与出错率是线性相关的 C. 代码行度量法只是一简单的,估计的很粗糙的方法 D. 随着程序的增大,出错率以线性方式增长
16. 软件项目计划范围内容是对软件项目的综合描述,定义其所要做的工作以及性能限制。下列不属于软件项目计划范围内容的有 ( ) 。
A. 硬件资源 B. 成本估算 C. 系统接口 D. 进度安排
17. 在软件工程开发过程中,数据流图、结构图的创建由 ( ) 工作台提供支持。 A. 测试 B. 分析和设计 C. 程序设计 D. 过程设计 18. 动态模型的描述工具是 ( ) 。
A. 对象图 B. 结构图 C. 流程图 D. 状态图
19. 在确定对象的属性中,所有 ( ) 是候选的对象。 A. 名词 B. 动词 C. 词组 D. 修饰性名词词组 1.D 2.B 3.B 4.B 5.A 6.B 7.A
8.D 9.D 10.D 11.B 12.D 13.C 14 D 15.D 16.C 17.B 18.D 19.A
1.在下列工具与环境中( )属于较早期的CASE(计算机辅助软件工程)。 A.基于信息工程CASE B.人工智能CASE C.结构的基于图形CASE D.集成的CASE环境 2.Putnam成本估算模型是一个( )模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,( )属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性 4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( ) A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量的参数包括( )
A.效率 B.规模 C.完整性 D.容错性 6.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 7.软件调试技术包括( )
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型的存在问题是( )
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 9.软件测试方法中的静态测试方法之一为( ) A.计算机辅助静态分析 B.黑盒法
C.路径覆盖 D.边界值分析
10.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护 11.第一个体现结构化编程思想的程序设计语言是( )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言 12.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 13.在详细设计阶段,经常采用的工具有( )
A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的( )
A.代码的规模 B.运行速度 C.质量 D.可维护性 15.需求分析中开发人员要从用户那里了解( )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 16.结构化程序设计主要强调的是( )
A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 17.DFD图反映系统( )
A.怎么做 B.对谁做 C.何时做 D.做什么 18.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。
A.确定 B.行或不行 C.正确 D.无二义 20.需求分析阶段的任务是确定( )
A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能
21 .软件工程管理的具体内容不包括对 _________ 管理。( )
A .开发人员 B .组织机构 C .控制 D .设备
22 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作。( )
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 .只能用来描述简单程序 B .不能嵌套使用 C .单入口,单出口 D .仅用于自动控制系统 30 . JSD 方法是一种面向 _________ 的设计方法。( )
A .控制结构 B .对象 C .数据流 D .数据结构
31 .当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合
32 .为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则。( )
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享
33 .数据流图( DFD )是_______ 方法中用于表示系统的逻辑模型的一种图形工具。
A . SA B . SD C . SP D . SC 34 .螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型。( )
A .增量模型 B .专家系统 C .喷泉模型 D .变换模型 35 .需求规格说明书的作用不包括( )
A .软件验收的依据 B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据
36 .数据字典是用来定义 _________ 中的各个成份的具体含义的。( )
A .流程图 B .功能结构图 C .系统结构图 D .数据流图
37 .设年利率为 i ,现存入 p 元,不计复利, n 年后可得钱数为( )
A . p*(1+i﹡n) B . p*(i+1)n C . p*(1+i)* n D . p*(i+n)
38 .在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( )
A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计
1.C 2.D 3.C 4.D 5.B 6.C 7.B 8.B 9.A 10.D 11.B 12.B 13.A 14.C 15.A 16.D 17.D 18.C 19.B 20.D 21. B 22.C 23.B 24.C 25.D 26.C 27.D 28.C 29.C 30.D 31.A 32.A 33.A 34.A 35.C 36.D 37.A 38.A
1、软件生存周期模型不包括:( )
A.瀑布模型 B、对象模型 C、增量模型 D、喷泉模型 2、软件可行性研究实质上是要进行一次( )需求分析、设计过程。
A、简化、压缩的 B、详细的 C、彻底的 D、深入的 3、需求分析阶段最重要的技术文档之一是:( )
A、项目开发计划 B、设计说明书
C、需求规格说明书 D、可行性分析报告
4、在以下模块耦合性类型中,模块之间独立性最差的类型是:( )
A、无直接耦合 B、标记耦合 C、控制耦合 D、内容耦合 5、重用率高的模块在软件结构图中的特征是:( )。
A、扇出数大 B、扇入数大 C、内聚性高 D、扇出数小 6、软件详细设计的主要任务是对( )进行的详细设计。
A、算法和数据结构 B、外部接口 C、软件编码 D、功能 7、Jackson方法是一种面向( )的方法。
A、数据流 B、对象 C、数据结构 D、控制流 8、第一个体现结构化编程思想的程序设计语言是( )。
A、FORTRAN B、C C、Pascal D、Cobol 9、一个成功的测试可以( )。
A、 表明程序没有错误 B、发现所有错误
C、提高软件可靠性 D、发现尚未发现的错误 10、黑盒技术设计测试用例的方法之一为( )。
A、因果图 B、逻辑覆盖 C、循环覆盖 D、基本路径测试 11、在软件维护的内容中,占维护活动工作量比例最高的是( )。
A、校正性维护 B、适应性维护 C、完善性维护 D、预防性维护 12、当前时期软件维护的费用在总费用中的比例为( )。
A、35%~40% B、40%~60% C、60%~70% D、70%~80%或更高 13、软件维护的副作用,是指( )。
A、开发时的错误 B、隐含的错误
C、因修改软件而造成的错误 D、运行时误操作
15、在快速原型的开发过程中,用于及早向用户提交原型系统的原形模型是( )。
A、探索型原型 B、实验型原型 C、演化型原型 D、增量构造原型 一、单项选择题:(每小题1分,共20分)
1、B 2、A 3、C 4、D 5、B 6、A 7、C 8、C 9、D 10、A 11、C 12、D 13、C 14、C 15、C
1. 下列现象哪些不属于软件危机( )的现象 A.开发成本超过预算成本,风险大 B.软件调试困难 C.软件质量无法保证 D.传统手工作坊方式,效率低 2. 下列哪个不属于软件工程的内涵之一( )
A.应用完善的科学与工程原理 B.经济地开发软件
C.高薪聘请软件高手 D.开发既可靠又能有效运行的软件 3.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
4.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。
A.确定 B.行或不行 C.正确 D.无二义 5.下列模型属于成本估算方法的有( ) A.COCOMO模型 B.McCall模型 C.McCabe度量法 D.时间估算法
6.计算机辅助软件工程,简称( )。
A、SA B、SD C、SC D、CASE 7.瀑布模型的存在问题是( )
A.不能与同行、用户沟通 B.不能使设计过程易于控制 C.不能将开发过程困难“各个击破” D.不适应可变需求
8.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于( )。 A、维护时期 B、计划时期 C、运行时期 D、开发时期 9. 宿主平台是( )
A.操作系统 B.硬件系统
C.软件工程平台 D. 由操作系统和硬件系统构成的 10.软件计划的具体任务不包括( )
A. 确定软件的作用范围 B.解决软件开发的难点
C. 估算开发所需的资源 D.估算软件成本费用和安排进度 11.需求分析最终结果是产生()
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 12.DFD图不反映出系统( ) 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. .NET属于( )
A. 3GL B. 4GL
C. 独立于机器的面向算法的语言 D.结构化编程语言
19.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 20.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移
1.B 2.C 3.C 4.B 5.A 6.D 7.D 8.B 9.D 10.B 11.B 12.B 13.C 14.A 15.C 16.A 17.B 18.B 19.C 20.B
1. 下列哪个办法不属于解决软件危机的途径之一( )
A. 研制新一代智能计算机 B. 大力扶持软件企业
C. 采用软件工程的解决途径 D. 采用面向对象的软件设计方法 2. 下列哪个不属于软件工程的内涵之一( )
A. 应用完善的科学与工程原理 B. 经济地开发软件
C. 扶持培养软件高手的学院 D. 开发既可靠又能有效运行的软件
3. 研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 4.可行性研究要进行一次()需求分析。
A、深入的 B、详尽的
C、彻底的 D、简化的、压缩了的 5、下面哪一项不属于快速原型模型的优点。
A.可及早为用户提供有用的产品。
B.可保证在开发后期,全面发现错误给以纠正。
C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。
D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。 6.OOA是( )
A. 结构化分析 B.面向对象程序设计
C. 面向对象程序分析 D. 面向对象分析
7.下列哪个不属于瀑布模型与传统的程序设计的不同之处( )。
A.传统的程序设计开发人员只开发程序,不写文档.
B.传统的程序设计重点在问题求解和算法,并只有自己才能读懂. C.瀑布模型的各阶段要第三方介入审察 D.传统的程序设计规定各阶段必须写文档.
8.软件生命周期中软件需求分析阶段主要解决( )
A.软件系统”如何做”问题 B.将模块结构和算法过程进行”转换” 为程序 C.软件系统”做什么”问题 D.开发此软件系统”行不行”问题 9.下面哪个模式不属于软件工程的开发模式
A.基于瀑布模型的开发模式 B.基于原型模型的开发模式 C.基于人机对话的开发模式 D.基于关系数据库的开发模式 10.软件计划的具体任务不包括( )
B. 确定软件的作用范围 B.设计完善的软件结构
C. 估算开发所需的资源 D.估算软件成本费用和安排进度 11.DFD图反映系统( )
A.怎么做 B.能行吗 C.何时做 D.做什么 12.概要设计最终结果是产生()
A、项目开发计划 B、需求规格说明书
C、软件结构设计说明书 D、可行性分析报告 13.SA方法使用的描述手段不包括( )
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. PASCAL语言属于( )
A.专用语言 B.人工智能语言 C.结构化语言 D.基础语言
19. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-3.0,2.0],现从输入的角度考虑一组测试用例:-3.001,-30,2.0,2.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 20、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试( )。 A.结构合理性 B.软件外部功能 C.程序正确性 D.程序内部逻辑
1.B 2.C 3.B 4.D 5.B 6.D
7.D 8.C 9.C 10.B 11.D 12.C
13.B 14.B 15.D 16.D 17.C 18.C 19.C 20.D
1.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)
A继承和聚集 B继承和一般 C聚集和消息传递 D继承和方法调用 2.以下哪一项不是软件危机的表现形式(3)
A 成本高 B生产率低 C技术发展快 D质量得不到保证 3.以下哪一项不是面向对象的特征(4)
A多态性 B继承性 C封装性 D过程调用 4.软件可行性研究一般不考虑(4)
A是否有足够的人员和相关的技术来支持系统开发 B是否有足够的工具和相关的技术来支持系统开发 C待开发软件是否有市场、经济上是否合算 D待开发的软件是否会有质量问题
5.软件维护的副作用主要有以下哪几种(3)
A编码副作用、数据副作用、测试副作用 B编码副作用、数据副作用、调试副作用 C编码副作用、数据副作用、文档副作用 D编码副作用、文档副作用、测试副作用 6.软件项目计划一般不包括以下哪项内容(4)
A培训计划 B人员安排 C进度安排 D软件开发标准的选择和制定 7.以下哪种测试方法不属于白盒测试技术(2)
A基本路径测试 B边界值分析测试 C循环覆盖测试 D逻辑覆盖测试
8.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( ) A.软件工程 B.软件周期 C.软件危机 D.软件产生
9.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 10.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 11.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 12.软件详细设计主要采用的方法是( ) A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 13.不适合作为科学工程计算的语言是( ) A. Pascal B. C C. Fortran D. Prolog 14.黑盒测试在设计测试用例时,主要需要研究( ) A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 15.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 16.下列属于维护阶段的文档是( ) A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 17 .快速原型模型的主要特点之一是( ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件
18 .因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护
19.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性 B.可靠性 C.正确性 D.完整性
20.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( ) A.SQIC B.SQMC C.SQRC D.SQDC
答案:
1.A 2.C 3.D 4.D 5.C 6.D 7.B 8.C 9.B 10.D 11.D 12.D 13.D 14.A 15.C 16.C 17.D 18.B 19.B 20.B
1.对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 2.瀑布模型的存在问题是( )
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求 3.软件测试方法中的静态测试方法之一为( ) A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析 4.软件生命周期中所花费用最多的阶段是( )
A.详细设计 B.软件编码 C.软件测试 D.软件维护 5.第一个体现结构化编程思想的程序设计语言是( )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言 6.程序的三种基本控制结构是( )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 7.在详细设计阶段,经常采用的工具有( )
A.PAD B.SA C.SC D.DFD 8.需求分析中开发人员要从用户那里了解( )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 9.结构化程序设计主要强调的是( )
A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 D. 程序易读性 10.经济可行性研究的范围包括( )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
11.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开 发的决策依据,因必须给出( )的回答。
A.确定 B.行或不行 C.正确 D.无二义 12.需求分析阶段的任务是确定( )
A. 软件开发方法 B. 软件开发工具 C. 软件开发费 D. 软件系统的功能
13.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)
A继承和聚集 B继承和一般 C聚集和消息传递 D继承和方法调用 14.以下哪一项不是软件危机的表现形式(3)
A 成本高 B生产率低 C技术发展快 D质量得不到保证 15.以下哪一项不是面向对象的特征(4)
A多态性 B继承性 C封装性 D过程调用 16.软件可行性研究一般不考虑(4)
A是否有足够的人员和相关的技术来支持系统开发 B是否有足够的工具和相关的技术来支持系统开发 C待开发软件是否有市场、经济上是否合算 D待开发的软件是否会有质量问题 17.模块的内聚性最高的是( ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 18.在SD方法中全面指导模块划分的最重要的原则是( ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 19.软件详细设计主要采用的方法是( ) A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计
20.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法
答案:
1.C 2.B 3.A 4.D 5.B 6.B 7.D 8.A 9.D 10.C
11.B 12.D 13.A 14.C 15.D 16.D
17.D 18.D 19.D 20.C 判断题:
1.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板。
2.过程描述语言可以用于描述软件的系统结构。
3.如果通过软件测试没有发现错误,则说明软件是正确的。 4.快速原型模型可以有效地适应用户需求的动态变化。
5.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
6.集成测试主要由用户来完成。
7.确认测试计划应该在可行性研究阶段制定
8.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。 9.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
10.总体设计的基本目的就是回答:\"概括地说,系统应该如何实现?\"这个问题。
1.N 2.N 3. N 4.Y 5.Y 6.N 7. N 8. N 9. Y 10.Y
判断题:
1.软件开发小组的组成人员的素质应该好,而人数则不宜过多。
2.可行性研究阶段要进行一次大大压缩简化了的系统分析和设计的过程。 3.文档只起备忘录的作用,可以在软件开发完成后再整理生成。
4.数据流图表示了软件系统对数据的算法处理过程,即系统的物理模型。
5.总体设计的基本目的就是回答:\"概括地说,系统应该如何实现?\"这个问题。
6.没有Do-case、Do-until形结构,就不能实现某些结构化程序,从而降低了程序的运行效率。
7.用面向对象方法分析、设计、实现软件,仍属线性的瀑布开发模型。 8.文档是影响软件可维护性的决定因素。
9.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
10.软件模块之间的耦合性越弱越好。
1.Y 2.Y 3.N 4.N 5.Y 6.Y 7.N 8.Y 9.N 10.Y
判断题
1.软件就是程序,编写软件就是编写程序。 ( )
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。( ) 3.结构化方法的工作模型是使用螺旋模型进行开发。 ( ) 4.结构化方法和OO方法都是一种面向过程的软件开发方法。( )
5.原型化开发方法包括生成原型和实现原型两个步骤。( )
6.面向对象的开发方法包括面向对象的分析、面向对象的和面向对象的程序设计。( )
7.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。( ) 8.软件工具的作用是为了延长软件产品的寿命( )。
9·软件工程过程应该是以软件设计为中心,关键是编写程序。( )
10.RCP法与RSP法的主要区别是,前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。( )
1 N 2. N 3.N 4.N 5.N 6.Y 7.N 8.N 9.N 10.Y
判断题
1.在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。 ( ) 2.SA法是面向数据流,建立在数据封闭原则上的需求分析方法。 ( ) 3.需求管理主要是对需求变化的管理,即如何有效控制和适应需求的变化。 ( ) 4.在面向对象的需求分析方法中,建立动态模型是最主要的任务。 ( ) 5.加工小说明是对系统流程图中的加工进行说明。 ( )
6.判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。 ( ) 7.需求分析的主要方法有SD法、OOA法及HIPO法等。 ( )
8.分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。 ( )
9.信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是 E-R图。 ( )
10.用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完 整性、现实性和有效性。 ( )
1.N 2.Y 3.Y 4.N 5.N 6.N 7.N 8.N 9.N 10.N
判断题 1.面向对象的的方法以类作为最基本的元素,它是分析问题和解决问题的核心。 ( ) 2.类是指具有相同或相似性质对象的抽象,对象是抽象的类,类的具体化就是对象。( ) 3.继承性是父类和子类之间共享数据结构和消息的机制,这是类之间的一种关系。( ) 4.多态性增强了软件的灵活性和重用性,允许用更为明确、易懂的方式去建立通用软件,多态性和继承性相结合使软件具有更广泛的重用性和可扩充性。 ( )
5.面向对象分析,就是抽取和整理用户需求并建立问题域精确模型的过程。 ( ) 6.面向对象的设计的主要目标是提高生产效率,提高质量和可维护性。 ( ) 7.对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述的,表现了对象的相互关系。 ( ) 8.面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解、分析和反映。 通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。 ( )
9.类的设计过程包括:确定类,确定关联类,确定属性,识别继承关系。 ( ) 10.复用也叫重用或再用,面向对象技术中的“类\",是比较理想的可重用软构件。有 三种重用方式:实例重用、继承重用、多态重用。 ( )
11.主题是一种关于模型的抽象机制,它是面向对象模型的概貌,也是关于某个模型要同时考虑和理解的内容,主题起一种控制作用。 ( )
12.面向对象的分析由对象、结构、继承性和基于消息的通信构成。 ( )
13.支持继承性是面向对象程序设计语言和传统程序设计语言在语言机制方面的根本 区别。 ( )
14.面向对象的分析过程主要包括三项内容:理解、表达和验证。 ( )
1.N 2..N 3..Y 4.Y 5.Y 6.N 7.Y 8.Y 9.N 10.Y 11.Y 12.Y 13.Y 14.N .
整理的软件工程题目
单项选择题
1.计算机系统就是()。
A.主机,显示器,硬盘,软驱,打印机等。 B.CPU,存储器,控制器,I/O接口及设备。 C.计算机硬件系统和软件系统。 D.计算机及其应用系统。
2.产生软件危机的原因主要与两个方面的问题有关()。
A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。
C.软件产品本身的特点与其他工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。
D.软件很难理解,硬件也很复杂。
3.软件开发瀑布模型中的软件定义时期哥哥阶段依次是()。
A.可行性研究,问题定义,需求分析。
B.问题定义,可行性研究,需求分析。
C.可行性研究,需求分析,问题定义。 D.以上顺序都不对。
4.软件维护的四类维护活动是()。
A.改正性维护,适应性维护,完善性维护和预防性维护。 B.适应性维护,完善性维护,抢救性维护和辅助性维护。 C.改正性维护,适应性维护,完善性维护和辅助性维护。 D.适应性维护,完善性维护,抢救性维护和预防性维护。 5.可行性研究主要从以下几个方面进行研究 ()。
A.技术可行性,经济可 行性,操作可行性。 B.技术可行性,经济可行性,系统可行性。 C.经济可行性,系统可行性,操作可行性。 D.经济可行性,系统可行性,时间可行性。 6. 系统逻辑模型主要由以下内容:
A.数据流图,数据字典,简要的算法描述。 B.程序流程图,Jackson图,IPO图。 C.数据流图,数据字典,ER图。 D.Jackson图,ER图,IPO图。
7. 耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:
A.内容耦合,控制耦合,数据耦合,公共环境耦合。 B.内容耦合,控制耦合,公共环境耦合,数据耦合。 C.内容耦合,公共环境耦合,控制耦合,数据耦合。 D.控制耦合,内容耦合,数据耦合,公共环境耦合。
8.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:
A.模块的作用域应在模块的控制域之内。 B.模块的控制域应在模块的作用域之内。 C.模块的控制域与模块的作用域互相独立。 D以上说法都不对。
9. 面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( )到计算机世界的方法。
A.对应
B.映射
C.反映
D.反射
10. 盒图也称为()。这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A.流程图
B.框图
C.判定表
D.N-S图
11. 面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为
问题解的()结构。
A.程序
B.数据
C.逻辑
D.物理
12. 人机界面的风格大致经过了()代的演变。
A.三
B.四
C.五
D.六
13. 以下不属于白盒测试技术的是(D).
A.逻辑覆盖
B.基本路径测试 C.循环覆盖测试 D.等价类划分
14. 为改正软件系统中潜藏的错误而进行的维护活动称为()。
A.纠错性维护 B.适应性维护 15. 总体设计阶段确定了
A.系统的具体实现方案
B.系统的逻辑模型 C.改善性维护
D.预防性维护
C.程序每个模块的处理过程 D.系统的数据要求 16. 一般来说问题定义阶段结束后的下一个阶段是()
A.编码
B.需求分析
C.可行性研究
D.总体设计
17. 需求分析的任务是()
A.确定系统怎样完成工作 C.研究系统的软件结构 18.系统流程图是用来()
A.描绘程序结构的
B.描绘系统的逻辑模型 D.描绘物理系统的
B.确定系统必须完成哪些工作
D.确定软件开发费用
C.表示信息层次结构的图形工具 19. ER模型中的基本成分不包含()
A.实体
B.联系
C.属性 D.处理
20. 可行性研究实质上是进行了一次()
A.大大压缩简化了的系统分析和设计过程 B.详尽的系统分
C.彻底的系统设计过程 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.逻辑内聚 B.时间内聚 C.功能内聚 D.通信内聚 30. 软件结构图中,模块框之间若有直线连接,表示它们之间存在( )
A.调用关系 B.组成关系 C.链接关系 D.顺序执行关系 31. 软件是一种( )
A.程序 B.数据 C.逻辑产品 D、物理产品 32. 需求分析最终结果是产生( )
A.项目开发计划 B.需求规格说明书 C.设计说明书 D.可行性分析报告 33. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为( )
A、教正性维护 C、完善性维护
B、适应性维护 D、预防性维护
34. 快速原型模型的主要特点之一是( )
A.开发完毕才见到产品
B.及早提供全部完整的软件产品 D.及早提供工作软件
C.开发完毕后才见到工作软件
35. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )
A.条件覆盖法
B.等价分类法 C.边界值分析法
D.错误推测法
36. 软件详细设计可以采用的方法是( )
A.模块设计
B.结构化设计
C.PDL语言 D、结构化程序设计
37.研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。
A.技术可行性
B.经济可行性
C.社会可行性
D.法律可行性
38. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称( ) 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.可理解性 B.可维护性 C.可扩展性 D.可移植性 46. 在七种耦合中,最低耦合是( )。
A.内容耦合 B.公共耦合 C.数据耦合 D.非直接耦合 47. JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以实现( )。
A.从数据结构导出程序结构 B.从数据流图导出初始结构图 C.从模块结构导出数据结构 D.从模块结构导出程序结构 48. ( )是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A.软件过程
B.软件测试
C.软件生命周期
D.软件工程
49. 在各种不同的软件需求中,( )描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。 A.业务需求 B.功能需求 C.非功能需求 D.用户需求
50.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于()系统。 A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持 51.单元测试的测试用例主要根据()的结果来设计。
A.需求分析 B.源程序 C.概要设计 D.详细设计 52. 在软件开发的各种资源中,()是最重要的资源。
A.开发工具 B.方法 C.硬件环境 D.人员
53.软件的复杂性是(),它引起通信困难、开发费用超支、开发时间超时等问题。 A.固有的 B.人为的 C.可消除的 D.不可降低的 54.()意味着一个操作在不同的类中可以有不同的实现方式。
A.多态性 B.多继承 C.类的可复用 D.信息隐藏
55.()是软件生命周期的一系列相关软件工程活动的集合,它由软件规格说明、软件设计和开发、软件确认、软件改进等活动组成。
A.软件过程 B.软件工具 C.质量保证 D.软件工程 56.()是以追求更高的效益和效率为目标的持续性活动。
A.质量策划 B.质量控制 C.质量保证 D.质量改进
57.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚步中予以说明,()是从各个角度对系统的约束和限制,反映了应用软件系统质量和特性的额外要求。
A.业务需求 B.功能要求 C.非功能需求 D.用户需求 58.()意味着一个操作在不同类中可以有不同的实现方式。 A.多态性 B多继承 C.类的复用 D.封装 59.软件配置项是软件配置管理的对象,即软件工程过程中产生的()。
A.接口 B.软件环境 C.信息项 D.版本
60.软件测试计划开始于需求分析阶段,完成于()阶段。
A需求分析 B.软件设计 C.软件实现 D.软件测试
61. 在软件生存周期的瀑布模型中一般包括计划、( )、设计、编码、测试、维护等阶段。 A.可行性分析 B.需求采集 C.需求分析 D.问题定义 62.软件工程的计本要是包括方法、工具和()。
A.过程 B.软件系统 C.硬件环境 D.人员 63.软件需求分析阶段的测试手段一般采用()。
A.总结 B.阶段性报告 C.需求分析评审 D.不测试
64. ( )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A.多态性 B.继承 C.封装 D.消息 65. 软件测试是为了( )而执行程序的过程。 A.纠正错误 B.发现错误 C.避免错误 D.证明正确 66. 面向对象分析是对系统进行( )的一种方法。 A.需求建模 B.程序设计 C.设计评审 D.测试验收 67. 在结构化分析方法中,( )表达系统内部数据运动的图形化技术。
A.数据字典 B.实体关系图 C.数据流图 D.状态转换图 68.通常发现系统需求说明书中的错误的测试步骤是()
A.模块测试 B.子系统测试 C.验收测试 D.平行运行 69.两个模块彼此传递的信息中有控制信息,这种耦合称为()。
A.数据耦合 B.公共环境耦合 C.内容耦合 D.控制耦合 70.逻辑地构造程序的方法的最终目标是得出()
A.对程序处理过程的详细描述 B.源程序代码
C.对系统的逻辑模型的描述 D.系统的物理实现方案 71.实现单入口单出口程序的三种基本控制结构是()
A.顺序、选择和循环 B.过程、子过程和分程序 C.调用、返回和转移 D.递归、堆栈和队列 72.白盒测试主要用于测试()。 A.程序内部逻辑 B.程序的正确性 C.程序的外部功能 D.结构合理性 73.判定表比判定树() A.更直观、简洁 B.更直观
C.更简洁但不够直观 D.直观和简洁性相同 74.维护活动必须应用于() A.软件文档 B.整个软件配置 C.可执行代码 D.数据 75.TURBO PASCAL是()软件。 A.系统软件 B.人工只能 C.事务软件 D.应用软件。 76.计算机辅助软件工程的简称是()。 A.SA B.SD C.SC D.CASE 77. 在进行软件测试时,首先应当进行以下哪项测试,然后再进行组装测试,最后再进行有效性测试( )
A.单元测试
B.系统测试
C.集成测试
D.确认测试
78. 下列属于静态测试方法的是( )
A.黑盒法 B.路径覆盖 C.白盒法 D.人工检测
79. 用结构化语言来描述加工逻辑的外层结构时,以下不属于基本结构的是( )
A.顺序结构
B.选择结构 C.嵌套结构
D.重复结构
80. “软件危机”是指( ) A. 计算机病毒的出现
B. 利用计算机进行经济犯罪活动
D. 人们过分迷恋计算机系统
C. 软件开发和维护中出现的一系列问题 81. DFD中的每个加工至少需要( )
A. 一个输入流 B. 一个输出流C. 一个输入或输出流 D. 一个输入流和一个输出流 82. 为了提高模块的独立性,模块之间最好是( ) A.控制耦合
B.公共耦合
D.数据耦合
C.内容耦合
选择题
1. 软件工程的概念是哪年提出的( )
A. 1988 B. 1968 C. 1948 D. 1928 2. 瀑布模型的关键不足在于( )
A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 3. 以下哪一项不是软件危机的表现形式( )
A. 开发的软件不满足用户需要 B. 开发的软件可维护性差 C. 开发的软件价格便宜 D. 开发的软件可靠性差 4. 软件可行性研究实质上是要进行一次( )需求分析、设计过程
A. 简化、压缩的 B. 详细的 C. 彻底的 D. 深入的 5. 结构化设计是一种面向( )的设计方法
A. 数据流 B. 模块 C. 数据结构 D. 程序 6. 与确认测试阶段有关的文档是( )
A. 需求规格说明书 B. 概要设计说明书 C. 详细设计说明书 D. 源程序 7. 软件开发的需求活动,其主要任务是( )
A. 给出软件解决方案 B. 给出系统模块结构
C. 定义模块算法 D. 定义需求并建立系统模型 8. 以下说法错误的是( )
A. 文档仅仅描述和规定了软件的使用范围及相关的操作命令 B. 文档也是软件产品的一部分,没有文档的软件就不成软件
C. 软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量 D. 高质量文档对于发挥软件产品的效益有着重要的意义
9. 一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )
A. 成本估算 B. 项目计划 C. 工程管理 D. 工程网络图
10. 在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以
外,还有( )
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. has a D. 一般特殊 16、软件维护产生的副作用,是指( )
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作
17、使用程序设计的控制结构导出测试用例的测试方法是( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 18、软件详细设计的主要任务是确定每个模块的( )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程 19、软件结构图的形态特征能反映程序重用率的是( )
A、深度 B、宽度 C、扇入 D、扇出 20、为了提高模块的独立性,模块内部最好是( )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 21、软件是一种( )
A、程序 B、数据 C、逻辑产品 D、物理产品 22、需求分析最终结果是产生( )
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告 23、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A、纠正性维护 B、适应性维护 C、完善性维护 D、预防性维护 24、下列属于维护阶段的文档是( )
A、软件规格说明 B、用户操作手册 C、软件问题报告 D、软件测试分析报告 25、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( )
A、条件覆盖法 B、等价分类法 C、边界值分析法 D、错误推测法 26、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性 27、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作( )
A、需求分析 B、程序设计 C、详细设计 D、软件维护 28、经过严密的软件测试后所提交给用户的软件产品中( )
A、软件不再包含任何错误 B、还可能包含少量软件错误 C、所提交给用户的可执行文件不会含有错误 D、文档中不会含有错误。 29、等价划分测试方法属于( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 30、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( ) A.可用性 B.可靠性 C.正确性 D.完整性 31、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( )
A、集成测试 B、恢复测试 C、确认测试 D、单元测试 32、要显示描绘软件开发项目各作业的依赖关系,应选择( )
A. Gantt图 B.工程网络 C. COCOMO模型 D.数据流图 33、从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。( )
A、3±1 B、7±2 C、15±1 D、18±2 34、结构化程序设计主要强调的是( )
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性 35、在用户界面层次上对软件进行测试属于哪种测试方法( )
A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 36、对象实现了数据和操作的结合, 使数据和操作( )于对象的统一体中
A、结合 B、隐藏 C、封装 D、抽象 37、( )是比较理想的可重用软构件
A.子程序库 B.源代码包含文件 C.对象 D.类 38、下列模型属于成本估算方法的有( ) A、COCOMO模型 B、McCall模型 C、McCabe度量法 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、is a 关系 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、软件容错 B、系统软件 C、测试软件 D、恢复测试 50.瀑布模型的关键不足在于
A、过于简单 B、不能适应需求的动态变更 C、过于灵活 D、各个阶段需要进行评审
51.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)
(1)继承和聚集 (2)继承和一般 (3)聚集和消息传递 (4)继承和方法调用 52.以下哪一项不是软件危机的表现形式(3)
(1)成本高 (2)生产率低 (3)技术发展快 (4)质量得不到保证 53.以下哪一项不是面向对象的特征(4)
(1)多态性 (2)继承性 (3)封装性 (4)过程调用 54.软件可行性研究一般不考虑(4)
(1)是否有足够的人员和相关的技术来支持系统开发 (2)是否有足够的工具和相关的技术来支持系统开发 (3)待开发软件是否有市场、经济上是否合算 (4)待开发的软件是否会有质量问题
55.软件维护的副作用主要有以下哪几种(3)
(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用
(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用
56.软件项目计划一般不包括以下哪项内容(4)
(1)培训计划 (2)人员安排 (3)进度安排 (4)软件开发标准的选择和制定 57.以下哪一项不属于面向对象的软件开发方法(3)
(1)coad方法 (2)booch方法 (3)jackson方法 (4)omt方法 58.以下哪种测试方法不属于白盒测试技术(2)
(1)基本路径测试 (2)边界值分析测试 (3)循环覆盖测试 (4)逻辑覆盖测试 59. “软件危机”是指( )
A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 60. DFD中的每个加工至少需要( )
A.一个输入流 B.一个输出流 C.一个输入或输出流 D.一个输入流和一个输出流 61. 为了提高模块的独立性,模块之间最好是( )
A. 控制耦合 B. 公共耦合 C. 内容耦合 D. 数据耦合 62. 下面关于PDL语言不正确的说法是( )
A. PDL是描述处理过程怎么做 B. PDL是只描述加工做什么
C. PDL也称为伪码
D. PDL的外层语法应符合一般程序设计语言常用的语法规则 63. 详细设计与概要设计衔接的图形工具是( )
A. DFD图 B. 程序图 C. PAD图 D. SC图 64. 不适合作为数据处理与数据库应用的语言是( )
A. SQL B. Cobol C. 4GL D. Lisp 65. 下列关于功能性注释不正确的说法是( )
A. 功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态 B. 注释用来说明程序段,需要在每一行都要加注释 C. 可使用空行或缩进,以便很容易区分注释和程序 D. 修改程序也应修改注释
66. 下列关于效率的说法不正确的是( )
A. 效率是一个性能要求,其目标应该在需求分析时给出
B. 提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法 C. 效率主要指处理机时间和存储器容量两个方面 D. 程序的效率与程序的简单性无关 67. 测试的关键问题是( )
A. 如何组织对软件的评审 B. 如何验证程序的正确性 C. 如何采用综合策略 D. 如何选择测试用例 68. 结构化维护与非结构化维护的主要区别在于( )
A. 软件是否结构化 B. 软件配置是否完整 C. 程序的完整性 D. 文档的完整性 69. 软件维护困难的主要原因是( )
A. 费用低 B. 人员少 C. 开发方法的缺陷 D. 得不到用户支持 70. 可维护性的特性中,相互矛盾的是( )
A. 可理解性与可测试性 B. 效率与可修改性 C.可修改性和可理解性 D可理解性与可读性 71.快速原型是利用原型辅助软件开发的一种新思想,它是在研究( )的方法和技术中产生的
A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 72. 从目前情况来看,增量模型存在的主要问题是( )
A. 用户很难适应这种系统开发方法 B. 该方法的成功率很低
C. 缺乏丰富而强有力的软件工具和开发环境
D. 缺乏对开发过程中的问题和错误具有应付变化的机制 73. 下列文档与维护人员有关的有( )
A. 软件需求说明书 B. 项目开发计划 C. 概要设计说明书 D. 操作手册 E. 实现错误检测和错误恢复的程序
74. ( )是为了确保每个开发过程的质量,防止把软件差错传递到下一个过程而进行的工作
A. 质量检测 B. 软件容错 C. 软件维护 D. 系统容错 75. 表示对象相互行为的模型是( )模型。
A. 动态模型 B. 功能模型 C. 对象模型 D. 静态模型 76. CASE工具的表示集成是指CASE工具提供相同的( )
A. 编程环境 B. 用户界面 C. 过程模型 D. 硬件/操作系统
77. 在软件开发中,( )是指对将要开发的系统的开发成本进行估算,然后与可能
取得的效益进行比较和权衡
A. 成本—效益分析 B. 可行性分析 C. 结构化分析 D. 软件需求分析 78. 软件开发过程来自用户方面的主要干扰是( )
A. 功能变化 B. 经费减少 C. 设备损坏 D. 人员变化 79. 软件复杂性度量的参数包括( )
A. 结构 B. 问题背景 C. 可重用性 D. 容错性
80. 在 McCall 软件质量度量模型中,( )属于面向软件产品操作。
A. 可维护性 B. 效率 C. 适应性 D. 可互操作性
81. 为了提高软件的可维护性或可靠性而对软件进行的修改称为( )
A. 纠错性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 82. 面向维护的技术涉及软件开发的( )阶段
A. 设计 B. 编码 C. 测试 D. 所有 83. 用白盒技术设计测试用例的方法包括( )
A. 边界值分析 B. 条件组合覆盖 C. 因果图 D. 错误推测 84. 软件测试的目的是( )
A. 为了表明程序没有错误 B. 为了说明程序能正确地执行 C. 为了发现程序中的错误 D. 为了评价程序的质量 85. 针对软件需求分析所进行的软件测试是指( )
A. 集成测试 B. 确认测试 C. 黑盒子测试 D. 白盒子测试
86. 源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )
A. 模块的功能 B. 语句的功能 C. 模块的接口 D. 开发历史 87. 结构化程序设计采用的三种基本控制结构是( )
A. 顺序、分支、选择 B. 选择、循环、重复 C. 顺序、选择、循环 D. 输入、变换、输出
88. 在软件设计中详细描述处理过程常用的三种工具是( )
A.SA , SD , SP B. 程序流程图, IPO , PAD C.SA , SC , SD D. 图形,表格,语言
89. 通信内聚、逻辑内聚、顺序内聚和时间内聚的内聚性从高到低顺序是( )
A. 通信、逻辑、顺序、时间 B. 通信、时间、顺序、逻辑 C. 顺序、通信、时间、逻辑 D. 顺序、通信、逻辑、时间 90. 在下列四种模块的耦合性中,信息隐蔽性能最好的是( )
A. 控制耦合 B. 内容耦合 C. 标记耦合 D. 数据耦合 91. 结构化方法是一种( )的软件开发方法
A. 面向用户 B. 面向数据结构 C. 面向对象 D. 面向数据流 92. 需求分析是回答系统必须( )的问题
A. 做什么 B. 怎么做 C. 何时做 D. 为谁做
93. 在软件生产的( ),使用的工具主要是机器语言和汇编语言
A. 程序系统时代 B. 软件工程时代 C.面向对象时代 D. 人工智能时代 94.软件工程管理的具体内容不包括对 _________ 管理
A .开发人员 B .组织机构 C .控制 D .设备
95 .在 McCall 软件质量度量模型中, _________ 属于面向软件产品操作
A .正确性 B .可维护性 C .适应性 D .互操作性
96.在快速原型模型的开发过程中,用原型过程来代替全部开发阶段所用模型是 _____模型
A .探索型原型 B .演化型原型 C .实验型原型 D .增量型原型
97 维护中因删除一个标识符而引起的错识是 _________ 副作用
A .文档 B .数据 C .编码 D .设计 98.软件维护的困难主要原因是( )
A .费用低 B .人员少 C .开发方法的缺陷 D .维护难 99 用白盒法技术设计测试用例的方法包括( )
A .错误推测 B .因果图 C .基本路径测试 D .边界值分析
100.软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们
A .前者属于静态测试,后者属于动态测试 C .都属于静态测试 B .前者属于动态测试,后者属于静态测试 D .都属于动态测试 101.程序的三种基本控制结构的共同特点是( )
A .只能用来描述简单程序 B .不能嵌套使用
C .单入口,单出口 D .仅用于自动控制系统 102 JSP 方法是一种面向 _________ 的设计方法
A .控制结构 B .对象 C .数据流 D .数据结构
103 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合
104 软件设计的方法有多种, _________ 方法不属于面向数据流的设计方法
A .基于 Jackson 图的设计 B .基于 IDEF 0 图的设计 C .交换分析设计 D .事务分析设计
105为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享
106 数据流图( DFD )是 _________方法中用于表示系统的逻辑模型的一种图形工具 A SA B SD C SP D SC
107螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型
A .增量模型 B专家系统 C喷泉模型 D变换模型 108.需求规格说明书的作用不包括( )
A 软件验收的依据 C 软件可行性研究的依据 B 用户与开发人员对软件要做什么的共同理解 D 软件设计的依据 109.数据字典是用来定义 _________ 中的各个成份的具体含义的
A .流程图 B 功能结构图 C系统结构图 D数据流图
110 设年利率为 i ,现存入 p 元,不计复利, n 年后可得钱数为( )
A p ﹡ (1+i ﹡ n) B p ﹡ (i+1) n C p ﹡ (1+i) ﹡ n D p ﹡ (i+n)
111 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了
A .软件危机 B .软件工程 C .程序设计革命 D .结构化程序设计 112 Putnam 成本估算模型是一个( )模型
A .静态单变量 B .动态单变量 C .静态多变量 D .动态多变量 113 在 McCall 软件质量度量模型中,( )属于面向软件产品修改
A .可靠性 B .可重用性 C .适应性 D .可移植性
114 ISO 的软件质量评价模型由 3 层组成,其中用于评价设计质量的准则是( )
A .SQIC B .SQMC C .SQRC D .SQDC 115 软件复杂性度量的参数包括( )
A .效率 B .规模 C .完整性 D .容错性
116 对象实现了数据和操作的结合,使数据和操作( )于对象的统一体中
A .结合 B .隐藏 C .封装 D .抽象 117 软件调试技术包括( )
A .边界值分析 B .演绎法 C .循环覆盖 D .集成测试 118 瀑布模型的存在问题是( )
A .用户容易参与开发 B .缺乏灵活性 C 用户与开发者易沟通 D 适用可变需求 119 软件测试方法中的静态测试方法之一为( )
A .计算机辅助静态分析 B .黑盒法 C .路径覆盖 D .边界值分析 120 软件生命周期中所花费用最多的阶段是( )
A .详细设计 B .软件编码 C .软件测试 D .软件维护 121 第一个体现结构化编程思想的程序设计语言是( )
A .FORTRAN 语言 B .Pascal 语言 C .C 语言 D .PL/1 语言 122 程序的三种基本控制结构是( )
A .过程、子程序和分程序 B .顺序、选择和重复 C .递归、堆栈和队列 D .调用、返回和转移 123 在详细设计阶段,经常采用的工具有( )
A .PAD B .SA C .SC D .DFD 124 详细设计的结果基本决定了最终程序的( )
A .代码的规模 B .运行速度 C .质量 D .可维护性 125 需求分析中开发人员要从用户那里了解( )
A .软件做什么 B .用户使用界面 C .输入的信息 D .软件的规模 126 结构化程序设计主要强调的是( )
A.程序的规模 B 程序的效率 C.程序设计语言的先进性 D 程序易读性 127 IDEF0图反映系统( )
A .怎么做 B .对谁做 C .何时做 D .做什么 128 经济可行性研究的范围包括( )
A .资源有效性 B .管理制度 C .效益分析 D .开发风险
129 可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开
发的决策依据,因必须给出( )的回答
A .确定 B .行或不行 C .正确 D .无二义 130 需求分析阶段的任务是确定( )
A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能 131.下列方法中不属于面向对象的开发方法有( )
A. Booch方法 B. Coad方法 C. OMT方法 D. VDM方法 132.系统流程图是一种传统工具,用于描绘( )
A. 逻辑模型 B. 程序系统 C. 体系结构 D. 物理系统
133.结构化分析方法是以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语
言来描述软件系统模型。
A. DFD图 B. PAD图 C. IPO图 D. DD 134.信息隐蔽概念与( )这一概念直接的相关
A. 模块的独立性 B. 模块类型的划分 C. 软件结构定义 D. 软件生命周期 135.在软件的概要设计中,不使用的图形工具是( )图 A. SC B. IPO C. PAD D. IDEF0 136.不属于详细设计的主要工具有( )
A. IPO图 B. PAD图 C. PDL D. SC
137.不属于序言性注释的有( )
A. 模块设计者 B. 修改日期 C. 程序的整体说明 D. 语句功能 138.单元测试阶段主要涉及( )的文档
A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计
139.在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法。
A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据
140.需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的
逻辑模型并写出( )的过程
A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档 141.数据耦合和控制耦合相比,则( )成立
A. 数据耦合的耦合性强 B. 控制耦合的耦合性强
C. 两者的耦合性相当 D. 两者的耦合性需要根据具体情况分析 142.鱼是一种水生动物。鱼与水生生物之间的关系是( )
A. 分类关系 B. 组装关系 C. 整体成员关系 D. has a
143.进度安排的好坏往往会影响整个项目的按期完成,下列属于软件进度的方法有( )
A. 程序结构图 B. 流程图 C. 工程网络图 D. E-R图
144.系统因错误而发生错误时,仍然能在一定程度上完成预期的功能,则把该软件称为( )
A. 容错软件 B. 系统软件 C. 测试软件 D. 操作系统 145 Putnam 成本估算模型是一个( )模型。
A .静态单变量 B .动态单变量 C .静态多变量 D .动态多变量 软件工程管理的具体内容不包括对 _________ 管理
A .开发人员 B .组织机构 C .经费控制 D .设备 146 用白盒法技术设计测试用例的方法包括( )
A .错误推测 B .因果图 C .基本路径测试 D .边界值分析
147 软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们
A .前者属于静态测试,后者属于动态测试 C .都属于静态测试 B .前者属于动态测试,后者属于静态测试 D .都属于动态测试 148 JSP 方法是一种面向 _________ 的设计方法
A .控制结构 B .对象 C .数据流 D .数据结构
149 当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为( )
A .数据耦合 B .公共耦合 C .标记耦合 D .内容耦合
150为高质量地开发软件项目,在软件结构设计时,必须遵循 _________ 原则
A .信息隐蔽 B .质量控制 C .程序优化 D .数据共享 151 螺旋模型是一种将瀑布模型和 _________ 结合起来的软件开发模型
A .增量模型 B .专家系统 C .喷泉模型 D .变换模型 152 需求规格说明书的作用不包括( )
A .软件验收的依据 B .用户与开发人员对软件要做什么的共同理解 C .软件可行性研究的依据 D .软件设计的依据
153数据字典是用来定义 _________ 中的各个成份的具体含义的
A .流程图 B .功能结构图 C .系统结构图 D .数据流图 154.下列方法中不属于面向对象的开发方法有( )
A. Booch方法 B. Coad方法 C. OMT方法 D. SD方法 155.系统流程图是一种传统工具,用于描述系统( )模型
A. 逻辑 B. 程序 C. 体系结构 D. 物理
156.结构化分析方法是以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语
言来描述软件系统模型
A. DFD图 B. PAD图 C. IPO图 D. DD 157.单元测试阶段主要涉及( )的文档
A. 需求设计 B. 编码和详细设计 C. 详细设计 D. 概要设计
158.在软件测试中,白盒测试方法是通过分析程序的( )来设计测试用例的方法
A. 应用范围 B. 内部逻辑 C. 功能 D. 输入数据
159.需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的
逻辑模型并写出( )的过程
A. 模块说明书 B. 软件规格说明 C. 项目开发计划 D. 合同文档
160.进度安排的好坏往往会影响整个项目的按期完成,下列属于软件进度的方法有( )
A. 程序结构图 B. 流程图 C. 工程网络图 D. E-R图
软件工程——选择题(一)
1、在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
A)概要设计 B)详细设计 C)可行性分析 D)需求分析 2、下面不属于软件工程的3个要素的是
A)工具 B)过程 C)方法 D)环境 3、检查软件产品是否合需求定义的过程称为
A)确认测试 B)集成测试 C)验证测试 D)验收测试
4、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流合法图符的是
A)控制流 B)加工 C)数据存储 D)源和潭 5、下面不属于软件设计原则的是0
A)抽象 B)模块化 C)自底向上 D)住息隐蔽
6、程序流图(PFD)中箭头代表的是
A)数据流 B)控制流 C)调用关系 D)组成关系 8、在结构化方法中,软件功能分解属于下列软件开发中的阶段是 A)详细设计 B)需求分析 C)总体设计 D)编程调试 9、软件调试的目的是
A)发现错误 B)改正错误 C)改善软件的性能 D)编程调试
10、软件需求分析阶段的工作,可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及
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.兼容性 2、使用程序设计的控制结构导出测试用例的测试方法是( ) A、黑盒测试 B、白盒测试 C、边界测试 D、系统测试 3、软件结构图的形态特征能反映程序重用率的是( ) A、深度 B、宽度 C、扇入 D、扇出
4、软件结构图中,模块框之间若有直线连接,表示它们之间存在( ) A、调用关系 B、组成关系 C、链接关系 D、顺序执行关系
5、需求分析最终结果是产生( )
A、项目开发计划 B、需求规格说明书 C、设计说明书 D、可行性分析报告
6、快速原型模型的主要特点之一是( ) A、开发完毕才见到产品
B、及早提供全部完整的软件产品
C、开发完毕后才见到工作软件 D、及早提供工作软件
7、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( ) A、条件覆盖法
B、等价分类法 C、边界值分析法 D、错误推测法
8、软件详细设计主要采用的方法是( )
A、模块设计 计
B、结构化设计 C、PDL语言 D、结构化程序设
10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()
A、需求分析 B、概要设计 C、详细设计 D、软件维护 14、模块设计中,最不希望的内聚是( )
A、功能内聚 B、通信内聚 C、过程内聚 D、巧合内聚 16、程序流程图(框图)中的箭头代表( )。
A.数据流 B.控制流 C.调用关系 D.组成关系 17、一个只有顺序结构的程序,其环形复杂度是( )。 A.0 B.1 C.3 D.不确定的
19、结构化程序设计主要强调的是( )
A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D、程序易读性
20、对象实现了数据和操作的结合, 使数据和操作( )于对象的统一体中。 A、结合 B、隐藏 C、封装 D、抽象 21、软件概要设计结束后得到( )
A、初始化的软件结构图 B、优化后的软件结构图 C、模块的接口图和详细算法 D、程序编码
23、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作( ) A、正确性 B、移植性 C、可靠性 D、完整性 24、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以( )的编制是很重要的。
A、需求说明 B、概要说明 C、软件文档 D、测试计划 1、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是( ) A、程序模块化 B、模块高内聚 C、模块低耦合 D、模块独立性 2、软件维护产生的副作用,是指( )
A、开发时的错误 B、隐含的错误 C、因修改软件而造成的错误 D、运行时误操作
3、软件详细设计的主要任务是确定每个模块的( )
A、算法和使用的数据结构 B、外部接口 C、功能 D、编程 4、为了提高模块的独立性,模块内部最好是( )
A、逻辑内聚 B、时间内聚 C、功能内聚 D、通信内聚 6、因计算机硬件和软件环境的变化而作出的修改软件的过程称为( ) A、纠正性维护 维护
7、只有单重继承的类层次结构是( )层次结构。 A、网状型
B、星型 C、树型
D、环型
8、下列属于维护阶段的文档是( ) A、软件规格说明 析报告
10、研究开发所需要的成本和资源是属于可行性研究中的( )研究的一方面。 A. 技术可行性 性
14、在详细设计阶段,经常采用的工具有( ) A、PAD B、SA C、SC D、DFD
15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于( ) A、集成测试 B、恢复测试 C、验收测试 D、单元测试
软件工程习题——选择题(二)
17、( )是比较理想的可重用软构件。
A.子程序库 B.源代码包含文件 C.对象 D.类 18、需求分析阶段的任务是确定( )
A、软件开发方法 B、软件开发工具 C、软件开发费 D、软件系统的功能
19、下列文档与维护人员有关的有( ) A、软件需求说明书 作手册
20、程序的三种基本控制结构是( )
A、过程、子程序和分程序 B、顺序、选择和重复 C、递归、堆栈和队列 D、调用、返回和转移 21、软件生存周期中时间最长的是( )阶段。
A、总体设计 B、需求分析 C、软件测试 D、软件维护
B、项目开发计划 C、概要设计说明书 D、操B. 经济可行性 C. 社会可行性
D. 法律可行
B、用户操作手册 C、软件问题报告 D、软件测试分
B、适应性维护 C、完善性维护
D、预防性
23、软件部件的内部实现与外部可访问性的分离,是指软件的( )。 A、继承性 B、共享性 C、封装性 D、抽象性
24、单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现( )的错误。
A、接口错误 B、编码错误 C、性能、质量不合要求 D、功能错误 25、软件工程管理对软件项目的开发管理,即对整个软件( )的一切活动的管理。
A、软件项目 B、生存期 C、软件开发计划 D、软件开发 1、软件工程的出现主要是由于 ( )
A.程序方法学的影响 B 其他工程学科的影响 C.计算机的发展 D 软件危机的出现 2、软件是一种( )
A.程序 B 数据 C 逻辑产品 D 物理产品 3、下列属于维护阶段的文档是( )
A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告
4.具有风险分析的软件生存周期模型是( ) A.瀑布模型 B 螺旋模型 C 增量模型 D 喷泉模型
5.软件需求分析的主要任务是准确定义所开发的软件系统是 ( ) A.如何做 B 怎么做 C 做什么 D 对谁做 7.结构化分析的方法是一种 ( )
A.系统分析方法 B 面向数据结构的分析方法 C.面向
对象的分析方法 D 面向数据流的分析方法
9.N-S图通常作为( )阶段的工具
A.需求分析 B 软件设计 C 软件编码 D 软件测试 10.结构化程序设计的一种基本方法是 ( )
A.筛选法 B 迭代法 C 逐步求精法 D 递归法
1.为了提高测试的效率,应该____。
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据库 C.在完成编码后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
2.与设计测试数据无关的文档是____。
A.需求说明书 B。数据说明书 C。源程序 D。项目开发设计 3.结构化设计是一种应用最广泛的系统设计方法,是以____为基础,自顶向下,求精和模块化的过程。
A.数据流 B。数据流图 C。数据库 D。数据结构 4.概要设计的结果是提供一份____。
A.模块说明书 B。框图 C 程序 D 数据结构
5.需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立目标系统的逻辑模型并写出____。
A.模块说明书 B。 软件规格说明书 C。项目开发计划 D。合同文档
PAD(Problem Analysis Diagram)图是一种____工具。
A.系统描述 B。详细设计 C。测试 D。编程辅助 6.分析员是____。
A.用户中系统的直接使用者B.用户和软件人员的中间人 C.软件的编程人员 D。用户和软件人员的领导
7.软件测试中设计测试实例(test case)主要由输入数据和____两部分组成。
A.测试规则
B.测试计划
D.以往测试记录分析
C.预期输出结果
8.成功的测试是指______。
A.运行测试实例后未发现错误项 B.发现程序的错误 C.证明程序正确 A.概要
B.抽象
D.改正程序的错误
D.规划
9.软件的____设计又称为总体设计,其主要任务是建立软件系统的总体结构。
C.逻辑
10.结构化分析方法以数据流图、____和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。 A.DFD图 A.框图
B.PAD图
C.IPO图
D.数据字典
D.编程日期
11.源程序的版面文档要求应有变量说明、适当注释和____。
B.统一书写格式 C.修改记录
软件工程——选择题(三)
12.在软件工程中,高质量的文档标准是完整性、一致性和____。 A.统一性
B.安全性
C.无二义性
D.组合性
13.软件工程中,只根据程序的功能说明而不关心程序内部的逻辑结构的测试方法,称为____测试。 A.白盒法
B.灰盒法
C.黑盒法
D.综合法
14.在软件的设计阶段应提供的文档是____。 A.软件需求规格说明书
B.概要设计规格说明书和详细设计规格说明书 C.数据字典及流程图
D.源程序以及源程序的说明书
15.软件工程学是应用科学理论和工程上的技术指导软件开发的学科,其目的是____。
A.引入新技术提高空间利用率
B.用较少的投资获得高质量的软D.硬软件结合使系统面向应用
件
C.缩短研制周期扩大软件功能 16.适应性维护的含义是____所进行的维护。
A.为使软件在改变了的环境下仍能使用
B.为改正在开发时期产生、测试阶段没有发现、运行时出现的错误 C.为改善系统性能、扩充功能 D.为软件的正常执行
17.划分软件生存周期的阶段时所应遵循的基本原则是_____。
A、各阶段的任务尽可能相关性 B、各阶段的任务尽可能相对独立 C、各阶段的任务在时间上连续 D、各阶段的任务在时间上相对
独立
18.用黑盒法设计测试用例时采用的方法包括______。
A、判定覆盖法 B、条件覆盖法 C 、因果图法 D、路径分析法
19.设一模块内部的处理动作为:成分A的输出是成分B的输入,则该模块的聚合性称为______。
A、顺序内聚 B、功能内聚 C、过程内聚 D、通信内聚 20.某个模块的作用域是指______。
A、被该模块调用的所用模块 B、调用该模块的所有模块
C、与该模块相关联的所有模块 D、受该模块内的判定所影响的所有模块
一、选择题(每题2分,共40分)
1.软件项目的可行性研究要进行一次( C )需求分析。
A.详细的 B.全面的 C.简化的、压缩的 D.彻底的 2、系统流程图用于可行性分析中的( A )的描述。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 3、程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一个出口
4、维护中,因误删除一个标识符而引起的错误是( C )副作用。 A.文档 B.数据 C.编码 D.设计 5、( D )是以提高软件质量为目的的技术活动。
A.技术创新 B.测试 C.技术创造 D.技术评审
6、面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和
实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;( C );对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解 B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整 7、原型化方法是用户和设计者之间执行的一种交互构成,适用于( A )系统。 A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 8、为了提高测试的效率,应该( D )。
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数
据
9、使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能 10、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生
11、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特
性称为( B )。
A.可用性 B.可靠性 C.正确性 D.完整性 12、瀑布模型的关键不足在于( B )
A.过于简单 B.不能适应需求的动态变更 C.过于灵活 D.各个阶段需要进行评审 13、软件维护的副作用主要有以下哪几种( C )
A.编码副作用、数据副作用、测试副作用 B.编码副作用、数据副作用、调试副作用
C. 编码副作用、数据副作用、文档副作用 D.编码副作用、文档副作用、测试副作用
14、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( B)。
A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法
15、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的
主要保证是( C)。
A、 硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、 开发人员的素质
16、软件开发模型是指软件开发的全部过程、活动和任务的结构框架。主要的开发模型有
瀑布模型、演化模型、螺旋模型、喷泉模型和智能模型。螺旋模型将瀑布模型和演化模型相结合,并增加了(1),它建立在(2)的基础上,沿着螺线自内向外每旋转一圈,就得到(2)的一个新版本。喷泉模型描述了(3)的开发模型,它体现了这种开发方法创建软件的过程所固有的(4)和(5)的特征。
B(1) A、 系统工程 B、 风险分析 C、 设计评审 D、 进度控制 D(2) A、 模块划分 B、 子程序分解 C、 设计; D、 原型
A(3) A、 面向对象 B、 面向数据流 C、 面向数据结构 D、 面向事件驱动 D(4) A、 归纳 B、推理 C、 迭代 D、 递归
A(5) A、 开发各阶段之间无“间隙” B、 开发各阶段分界明显 C、 部分开发阶段分界明显 D、 开发过程不分段
一、选择题:(每题1分,共20分)(将答案写在题号前的()中) 1. 软件是( C )。
A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 2. 软件需求规格说明的内容不应包括( B )。
A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 3. 程序的三种基本控制结构是( B )。
A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移
4. 面向对象的分析方法主要是建立三类模型,即( D )。
A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 5. 在E-R模型中,包含以下基本成分( C )。
A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 6. 各种软件维护的类型中最重要的是( A )。
A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护 7.软件测试的目标是( B )。
A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同
8.软件生命周期中所花费用最多的阶段是( D )
A.详细设计 B.软件编码 C.软件测试 D.软件维护
9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的
角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( C )
A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 10、详细设计的基本任务是确定每个模块的( D )设计
A.功能 B.调用关系 C.输入输出数据 D.算法
11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时
间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:( A )
A.模块化的根据 B.逐步求精的根据 C.抽象的根据 D.信息隐藏和局部化的根据 12.下面几种白箱测试技术,哪种是最强的覆盖准则 ( D ) A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖 13.面向数据流的设计方法把( A )映射成软件结构。 A.数据流 B.系统结构 C.控制结构 D.信息流 14.内聚程度最低的是( A )内聚
A.偶然 B.过程 C.顺序 D.时间 15.确定测试计划是在( A )阶段制定的.
A.总体设计 B.详细设计 C.编码 D.测试 16.需求分析的产品是( D )
A.数据流程图案 B.数据字典 C.判定表 D.需求规格说明书
17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( C ) A.数据库设计 B.数据通信 C.数据定义 D.数据维护
18.( D )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型 B.喷泉模型 C.原型模型 D.螺旋模型 19.模块的内聚性最高的是( D )
A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 20.提高测试的有效性非常重要,成功的测试是指( D )
A.证明了被测试程序正确无误 B. 说明了被测试程序符合相应的要求 C.未发现被测程序的错误 D.发现了至今为止尚未发现的错误
一、单项选择题 每小题1分,共20分。
1.在下列工具与环境中( C )属于较早期的CASE。 A.基于信息工程CASE B.人工智能CASE
C.结构的基于图形CASE D.集成的CASE环境 2.Putnam成本估算模型是一个( D )模型。
A.静态单变量 B.动态单变量 C.静态多变量 D.动态多变量 3.在McCall软件质量度量模型中,( C )属于面向软件产品修改。
A.可靠性 B.可重用性 C.适应性 D.可移植性 4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D ) A.SQIC B.SQMC C.SQRC D.SQDC 5.软件复杂性度量的参数包括( B )
A.效率 B.规模 C.完整性 D.容错性 6.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。 A.结合 B.隐藏 C.封装 D.抽象 7.软件调试技术包括( B )
A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试 8.瀑布模型的存在问题是( B )
A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求
9.软件测试方法中的静态测试方法之一为( A ) A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
10.软件生命周期中所花费用最多的阶段是( D )
A.详细设计 B.软件编码 C.软件测试 D.软件维护 11.第一个体现结构化编程思想的程序设计语言是( B )
A.FORTRAN语言 B.Pascal语言 C.C语言 D.PL/1语言 12.程序的三种基本控制结构是( B )
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 13.在详细设计阶段,经常采用的工具有( A )
A.PAD B.SA C.SC D.DFD 14.详细设计的结果基本决定了最终程序的( C )
A.代码的规模 B.运行速度 C.质量 D.可维护性 15.需求分析中开发人员要从用户那里了解( A )
A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模 16.结构化程序设计主要强调的是( D )
A. 程序的规模 B. 程序的效率 C. 程序设计语言的先进性 D. 程序易读性 17.IDEF。图反映系统( D )
A.怎么做 B.对谁做 C.何时做 D.做什么 18.经济可行性研究的范围包括( C )
A.资源有效性 B.管理制度 C.效益分析 D.开发风险
19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开
发的决策依据,因必须给出( B )的回答。
A.确定 B.行或不行 C.正确 D.无二义 20.需求分析阶段的任务是确定( D )
A. 软件开发方法 B. 软件开发工具 C. 软件开发费 D. 软件系统的功能
一,单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在
题后的横线上。
1.可行性研究要进行一次_____需求分析。 参考答案为:C A.详细的 B.全面的 C.简化的、压缩的 D.彻底的
[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是
否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。 2.系统流程图用于可行性分析中的_____的描述。 参考答案为:A A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统
[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究
了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。
3.系统流程图是描述_____的工具。 参考答案为:C A.逻辑系统 B.程序系统 C.体系结构 D.物理系统
[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备
等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。 4._______工具在软件详细设计过程中不采用。 参考答案为:D A.判定表 B.IPO图 C.PDL D.DFD图
[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程
图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。
5.程序的三种基本控制结构是 参考答案为:B
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和
转移
[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种
方法,递归则是一种算法,都算不上是控制结构。
6.程序的三种基本控制结构的共同特点是 参考答案为:D
A.不能嵌套使用 B.只能用来写简单程序 C.已经用硬件实现 D.只有一个入口和一
个出口
[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和
循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。
7.产生软件维护的副作用,是指 参考答案为:C
A.开发时的错误 B.隐含的错误 C.因修改软件而造成的错误 D.运行时误操作 [解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副
作用、数据副作用、文档副作用三种。只有答案C是正确的表述。
8.维护中,因误删除一个标识符而引起的错误是_________副作用。 参考答案为:C A.文档 B.数据 C.编码 D.设计
[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修
改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。
9.可维护性的特性中相互促进的是 参考答案为:A
A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性 D.效率和结构好 [解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改
性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。
10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。 参考答案为:B A.一般具体 B.整体部分 C.分类关系 D.主从关系
[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前
者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述
现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。
11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。 参考答案
为:B
A.异步控制 B.同步控制 C.存取控制 D.基线控制
[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”
处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。
12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要
的变更控制要素,即存取控制和同步控制。 参考答案为:A A.登入 B.管理 C.填写变更要求 D.审查
[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。 13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开
错误技术无法做到完美无缺和绝无错误,这就需要 参考答案为:D A.消除错误 B.检测错误 C.避开错 D.容错
[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的
过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。
14._____是以提高软件质量为目的的技术活动。 参考答案为:D A.技术创新 B.测试 C.技术创造 D.技术评审
[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境
的接口、变更带来的影响等方面进行的评审活动。
15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计
和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。 参考答案为:C
A.开发过程基于功能分析和功能分解 B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整
[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分
类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。 16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 参考答
案为:D
A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析
[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精
确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。 17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。参考答案为:A A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时
[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,
部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。 18.原型化方法是一种_______型的设计过程。 参考答案为:A A.自外向内 B.自顶向下 C.自内向外 D.自底向上
[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型
的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或
建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。
19.为了提高测试的效率,应该 参考答案为:D
A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划 D.选择发现错误可能性大的数据作为测试数据 [解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。
20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。 参考答案为:A
A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能
[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。
一、单项选择题
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C ) A.软件工程 B.软件周期 C.软件危机 D.软件产生
2.研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。 A.技术可行性 B.经济可行性 C.社会可行性 D.法律可行性 3.IDEF0图不反映出系统( B ) A.系统做什么 B.系统功能如何实现 C.系统由谁来做 D.系统实现的约束条件 4.模块的内聚性最高的是( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚 5.在SD方法中全面指导模块划分的最重要的原则是( D ) A.程序模块化 B.模块高内聚 C.模块低耦合 D.模块独立性 6.软件详细设计主要采用的方法是( D ) A.模块设计 B.结构化设计 C.PDL语言 D.结构化程序设计 7.下列关于JSP方法不正确的说法是( D ) A.JSP方法主要用于规模不大的数据处理系统
B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解
D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只
适用于详细设计阶段
8.不适合作为科学工程计算的语言是( D )
A. Pascal B. C C. Fortran D. Prolog 9.黑盒测试在设计测试用例时,主要需要研究( A ) A.需求规格说明与概要设计说明 B.详细设计说明 C.项目开发计划 D.概要设计说明与详细设计说明 10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C ) A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 11.下列属于维护阶段的文档是( C ) A.软件规格说明 B.用户操作手册 C.软件问题报告 D.软件测试分析报告 12.快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品 B.及早提供全部完整的软件产品 C.开发完毕后才见到工作软件 D.及早提供工作软件
13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B ) A.教正性维护 B.适应性维护 C.完善性维护 D.预防性维护 14.类库这种机制是( D )级别的信息共享。 A.同一类 B.不同类 C.同一应用 D.不同应用 15.只有单重继承的类层次结构是( C )层次结构。 A.网状型 B.星型 C.树型 D.环型
16.在屏蔽硬件错误的冗错技术中,冗余附加技术有( D ) A.三模冗余 B.信息冗余 C.冗余备份程序的存储及调用 D.关键程序和数据的冗余存储和调用
17.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B ) A.可用性 B.可靠性 C.正确性 D.完整性 18.下列文档与维护人员有关的有( C ) A.软件需求说明书 B.项目开发计划 C.概要设计说明书 D.操作手册
19.采用Gantt图表示软件项目进度安排,下列说法中正确的是( D ) A.能够反映多个任务之间的复杂关系
B.能够直观表示任务之间相互依赖制约关系 C.能够表示哪些任务是关键任务
D.能够表示子任务之间的并行和串行关系 20.下列模型属于成本估算方法的有( A ) A.COCOMO模型 B.McCall模型 C.McCabe度量法 D.时间估算法
一 单项选择
1. 软件是一种逻辑产品,它的开发主要是(A )。
A研制 B拷贝 C再生产 D复制
2. 软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。
A需求分析 B 结构设计 C程序编制 D软件维护
3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。 A喷泉模型 B 增量模型 C瀑布模型 D螺旋模型 4. 在软件生存周期中,( B )阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计 B 可行性分析和项目开发计划 C概要设计 D软件测试 5. 软件产品与物质产品有很大区别,软件产品是一种(C )产品
A有形 B 消耗 C逻辑 D文档
6. ( C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。
A 原型模型 B 螺旋模型 C 基于知识的智能模型 D 喷泉模型 7. ( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。
A概要设计 B 详细设计 C 编码 D 测试
8. 下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是( A )。
A 原型模型 B 瀑布模型 C 基于知识的智能模型 D 变换模型
9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。
A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型
10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。
A 原型模型 B 瀑布模型 C 喷泉模型 D 螺旋模型
11. 软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为( C )。
A可修改性 B可靠性 C可适应性 D 可重用性 12. 软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。 A可移植性 B可重用性 C 容错性 D 可适应性 13. 软件特性中,( A )是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性 B可靠性 C可适应性 D 可重用性
14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。
A可理解性 B 可维护性 C可适应性 D 可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是( C ). A可理解性 B可修改性 C可移植性 D 可重用性
16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。 A有效性 B可适应性 C正确性 D 可靠性
17.软件特性中,允许对软件进行修改而不增加其复杂性指的是( A )。 A可修改性 B可适应性 C可维护性 D 可移植性
18. 软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是( B )。 A可理解性 B可互操作性 C可维护性 D 可追踪性
19. 软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是( C )。
A 可理解性 B 可互操作性 C可追踪性 D 可维护性 20. 软件的可修改性支持软件的( D )。
A 有效性 B 可互操作性 C可追踪性 D 可维护性 21. 软件的可移植性支持软件的( A )。
A 可适应性 B 可互操作性 C可追踪性 D 有效性 22.软件的可理解性支持软件的( B )。
A 有效性 B 可移植性 C可追踪性 D 可靠性
23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的( C )。 A 有效性 B 可互操作性 C可靠性 D 可追踪性 24.下列选项中,属于需求分析阶段的任务的是( D )。
A 组装测试计划 B 单元测试计划 C软件总体设计 D 验收测试计划 25.下列选项中,属于概要设计阶段的任务的是( A )。
A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 26.下列选项中,属于详细设计阶段的任务的是( B )。
A 组装测试计划 B 单元测试计划 C初步用户手册 D 验收测试计划 27.下列选项中,属于实现阶段的任务的是( C )。
A 组装测试计划 B 绘制程序流程图 C 单元测试 D 验收测试计划 28.下列选项中,在验收测试结束时,必须提交给用户的是( D )。
A 项目开发总结报告 B 验收测试计划 C 需求规格说明书 D 最终用户手册
一 单项选择
1.软件项目管理必须( A )介入。
A)从项目的开头 B)在可行性研究之后 C)在需求分析之后 D)在编码之后 2. 下列选项中,属于成本管理的主要任务的是( B )。 A)人员的分工 B)估算软件项目的成本 C)对控制软件质量要素 D)对软件阶段产品进行评审 3.下列选项中,不属于质量管理的主要任务的是( C )。
A)制定软件质量保证计划 B)按照质量评价体系控制软件质量要素 C)增加软件产品的功能 D)对最终软件产品进行确认 4.下列选项中,属于软件配置管理的任务的是( D )。
A)人员的分工 B)估算软件项目的成本
C)对软件阶段产品进行评审 D)对程序、数据、文档的各种版本进行管理 5.( A )是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。
A)测量 B)度量 C)估算 D)指标 6.( B )是对系统、部件或过程的某一特性所具有的程度进行的量化测量。 A)测量 B)度量 C)估算 D)指标 7.( C )是对软件产品、过程、资源等使用历史资料或经验公式等进行预测。 A)测量 B)度量 C)估算 D)指标 8.( D )是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。 A)测量 B)度量 C)估算 D)指标
9.下列选项中属于产品的内部属性的是( A )。
A)模块耦合度 B)软件可靠性 C)软件有效性 D)软件可维护性 10.下列选项中属于过程的外部属性的是( B )。
A)工作量 B)成本 C)事件 D)计划及进度 11.下列选项中属于资源的外部属性的是( C )。 A)经验 B)人员 C)生产率 D)工具 12. 基于代码行的面向规模的度量方法适合于( D )。
A)过程式程序设计语言和事前度量 B)第四代语言和事前度量
C)第四代语言和事后度量 D)过程式程序设计语言和事后度量 13. 下列说法中,不正确的是( A )。
A)功能点度量方法与程序设计语言有关 B)功能点度量方法适合于过程式语言 C)功能点度量方法适合于非过程式语言 D)功能点度量方法适合于软件项目估算 14.下列说法中,不正确的是( B )。 A)软件项目工作量分布曲线不是线性的 B)到开发后期临时增加人力可加快进度
C)适当推迟交货时间可大幅度降低开发工作量
D)在软件生存周期的不同阶段各类人员的参与情况是不同的。
15.在软件质量要素中,程序满足需求规格说明及用户目标的程度指的是( C )。 A)完整性 B)可用性 C)正确性 D)灵活性
16.在软件质量要素中,改变一个操作的顺序所需的工作量的多少指的是( D )。 A)完整性 B)可用性 C)正确性 D)灵活性
17.在软件质量要素中,对未授权人员访问程序或数据加以控制的程度指的是( A )。 A)完整性 B)可用性 C)正确性 D)灵活性
18.在软件质量要素中,学习使用软件(即操作软件、准备输入数据、解释输出结果等)的难易程度指的是( B )。
A)完整性 B)可用性 C)正确性 D)灵活性
19. 在软件质量要素的评价准则中,程序源代码的紧凑程度指的是( C )。 A)简单性 B)准确性 C)简明性 D)执行效率 20.在软件质量要素的评价准则中,软件运行的效率指的是( D )。 A)简单性 B)准确性 C)简明性 D)执行效率 21.在软件质量要素的评价准则中,程序易于理解的程度指的是( A )。 A)简单性 B)准确性 C)简明性 D)执行效率 22.在软件质量要素的评价准则中,计算和控制的精确程度指的是( B )。 A)简单性 B)准确性 C)简明性 D)执行效率
23.在软件质量要素的评价准则中,在各种异常情况下软件能继续提供操作的能力指的是( A )。
A)容错性 B)检测性 C)安全性 D)可操作性
24.在软件质量要素的评价准则中,程序监视自身运行并标识错误的程度指的是( B )。 A)容错性 B)检测性 C)安全性 D)可操作性
25.在软件质量要素的评价准则中,控制或保护程序和数据不被破坏、非法访问等机制的能力指的是( C )。
A)容错性 B)检测性 C)安全性 D)可操作性 26.在软件质量要素的评价准则中,操作该软件的难易程度指的是( D )。 A)容错性 B)检测性 C)安全性 D)可操作性
27.下列选项中,不能进行并行工作的是( A )。
A)需求复审 B)过程设计 C)单元测试 D)编码
28.在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为40-20-40分布原则,其中20%的工作量指的是( B )。
A)需求分析工作量 B)编码工作量 C)详细设计工作量 D)测试工作量
一 单项选择
1. 下列选项中,不属于可行性研究的任务的是( A )。
A)概要设计 B)经济可行性研究 C)技术可行性研究 D)开发方案的选择 2.下列选项中,( C )不属于基于计算机的系统的系统要素。 A)人 B)数据库 C)车间 D)硬件
3.在软件工程中,不属于软件定义部分的任务是( B )。
A)软件验收测试计划 B)组装测试计划 C)需求分析 D)软件项目计划 4.在软件工程中,( C )不属于软件开发部分的任务。
A)软件总体设计 B)单元测试计划 C)软件经销 D)组装测试计划
一、选择题
1. 需求分析最终结果是产生( C )
A. 项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书 2. 需求分析中,开发人员要从用户那里解决的最重要的问题是( A ) A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构 3. DFD中的每个加工至少有( B )
A.一个输入流或一个输出流 B.一个输入流和一个输出流 C.一个输入流 D.一个输出流 4. 数据字典总,一般不出现的条目是( D )
A数据流 B 数据存储 C.加工 D.源点与终点
5. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( B ) A. 细节 B.输入与输出 C.软件的作用D.绘制的时间 6.需求规格说明书的内容不应包括对( B )的描述。
A. 主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能 7.需求规格说明书的作用不应包括( D )
A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 8.SA方法用DFD 描述( D )
A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能
9.一个局部数据存储当它作为( D )时,就把他画出来。 A.某些加工的数据接口 B.某个加工的特定输入
C.某个加工的特定输出 D.某些加工的数据接口或某个加工的特定输入输出 10.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流( A )
A. 必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等 11.需求分析阶段不适用于描述加工逻辑的工具是( D ) A. 结构化语言 B.判定表 C.判定树 D.流程图
12.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 13.SA方法的基本思想是( C )
A.自底向上逐步抽象 B.自底向上逐步分解 C.自顶向下逐步分解 D.自顶向上抽象 14.初步用户手册在( B )阶段编写
A. 可行性研究 B.需求分析 C.软件概要设计 D.软件详细设计
15.系统中模块的__D__不仅意味着作用于系统的小变动将导致行为上的小变化,也意味着规格说明的小变动将影响到一小部分模块。
A. 可分解性 B. 保护性 C. 可理解性 D. 连续性
16.下面关于面向对象方法中消息的叙述,不正确的是___B___。
A..键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同 17.面向对象技术中,对象是类的实例。对象有三种成份:____A____、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息
18.可行性研究要进行一次__C___需求分析。
A.详细的 B.全面的 C.简化的、压缩的 D.彻底的 19.系统流程图用于可行性分析中的__A___的描述。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 20.系统流程图是描述__C___的工具。
A.逻辑系统 B.程序系统 C.体系结构 D.物理系统 21____D___工具在软件详细设计过程中不采用。
A.判定表 B.IPO图 C.PDL D.DFD图 22.程序的三种基本控制结构是 B
A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移 23.程序的三种基本控制结构的共同特点是 D A.不能嵌套使用 B.只能用来写简单程序
C.已经用硬件实现 D.只有一个入口和一个出口
24.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫 (D) A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析
25.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。 (A)
A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时
26.原型化方法是一种_______型的设计过程。 (A)
A.自外向内 B.自顶向下 C.自内向外 D.自底向上 27.选择结构的复杂性比顺序结构的复杂性要(B)。 A、 小 B、大 C、相等 D、无法比较 28.在数据流图中,○(椭圆)代表(C)。 A、 源点 B、终点 C、加工 D、模块
29模块内聚度越高,说明模块内各成分彼此结合的程度越(B)。 A、 松散 B、紧密 C、无法判断 D、相等 30、软件设计阶段的输出主要是(D)。
A、 程序 B、模块 C、伪代码 D、设计规格说明书
31、软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)。 A、编码阶段 B、软件开发全过程 C、软件定义阶段 D、软件设计阶段 32、在七种偶合中,最低偶合是(D)。
A、 内容偶合 B、公共偶合 C、数据偶合 D、非直接偶合
33、结构化分析方法SA、结构化设计方法SD,和JACKSON方法,是在软件开发过程中常用的方法,人们使用SA方法时可以得到(D),使用SD方法时可以得到(D)。 A、程序流程图 B、具体的语言程序 C、模块结构图及模块的功能说明书 D、分层数据流图
34.进行需求分析可使用多种工具,但( C )是不适用的。
A.数据流图 B.判定表 C.PAD图 D.数据字典 35.需求分析阶段研究的对象是软件项目的( C )。 A.用户要求 B.合理要求 C.模糊要求
37.数据字典的任务是对于数据流图中出现的所有被命名的数据元素,在数据字典中作 为一个词条加以定义,使得每一个图形元素的名字都有一个确切的( D )。 A.对象 B.解释 c.符号 D.描述 38.在数据流图中,有名字及方向的成分是( C )。
A.控制流 B.信息流 c.数据流 D.信号流
39.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 ( A ) A.数据流图 B.数据词典
C.结构化英语 D.判定树与判定表
40.在结构化分析方法中,用以表达系统内数据的运动情况的工具有 ( B ) A.数据流图 B.数据词典 C.结构化英语 D.判定树与判定表 41.结构化分析方法(SA)是一种面向( C )的需求分析方法。 A一对象 B.数据结构 C.数据流 D.控制流 42.描述结构化系统分析方法的工具不包括( B )
A.数据流图 B.组织结构图 C.数据词典 D.结构化语言 43.决策树( C )
A.能用来代替程序流程图 B.是程序流程图的辅助手段 C.是描述基本加工的逻辑功能的有效工具 D.A和B
44.软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、 制定规格说明以及( C )。
A.总结 B.实践性报告 C. 需求分析评审 D. 以上答案都不正确 45.以下说法错误的是( D )。
A.结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列 B.结构化语言外层中的选择结构使用IF-THEN--ELSE-ENDIF等关键字
C.结构化语言的内层可以采用祈使语句的自然语言短语
D. 结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字
46.结构化分析方法使用的描述工具( B )定义了数据流图中每一个图形元素。 A.数据流图 B.数据字典 c.判定表 D.判定树 47.下列说法正确的是( D )。
A.对于顺序执行和循环执行的动作,用判定表和判定树
B.对于存在多个条件复杂组合的判断问题,用结构化语言描述 C.判定表较判定树直观易读,判定树进行逻辑验证较严格
D.可将判定表和判定树两者结合起来,先用判定表作底稿,在此基础上产生判定树 48.需求规格说明书的作用不应包括( D )。
A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 c.软件验收的依据 D.软件可行性研究的依据
49.软件需求规格说明书的内容不应包括对( B )的描述。 A. 主要功能 B.算法的详细过程
C.用户界面及运行环境 D.软件的性能
50.在结构化分析方法(SA)中,与数据流图配合使用的是( C )。 A.网络图 B.实体联系图 C.数据字典 D.程序流程图 51.通过( B )可以完成数据流图的细化。
A.结构分解 B.功能分解 C.数据分解 D.系统分解
52.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系统的( B )。 A.细节 B.输人与输出 c.软件的作者 D.绘制的时间 53.数据存储和数据流都是( D )仅仅所处的状态不同。 A.分析结果 B.事件 C.动作 D.数据 54.数据字典中,一般不包括下列选项中的( D )条目。
A.数据流 B.数据存储 C.加工 D.源点与终点
55.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( A )。 A.要让软件做什么 B.要给该软件提供哪些信息
c.要求软件工作效率怎样 D.要让软件具有何种结构 56.需求分析最终结果是产生( C )。
A.项目开发计划 B.可行性分析报告
C.需求规格说明书 D.设计说明书 57.SA方法用DFD描述( D )。
A.系统的控制流程 B.系统的数据结构 C.系统的基本加工 D.系统的功能 58.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型 B. 获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型 C.获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型 D.获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型 59.需求分析阶段不适于描述加工逻辑的工具是( D )。 A.结构化语言 C.判定树 B.判定表 D.流程图 60.结构化分析方法(SA)最为常见的图形工具是( C )。
A.程序流程图 B.实体联系图 C.数据流图 D.结构图 61.sA方法的基本思想是( C )。
A. 自底向上逐步抽象 B. 自底向上逐步分解
C. 自顶向下逐步分解 D. 自顶向下逐步抽象 62.下面错误的说法是( C )。
A. 每个数据流必须用名词或名词短语命名 B.每个加工必须有名字,通常是动词短语 c.每个数据存储必须用名词或名词短语
D.每个数据源点或终点必须有名字 63.下面错误的说法是( B )。
A.判定表能够把在什么条件下系统应做什么动作准确无误地表示出来 B.判定表能够描述循环的处理特性
C.结构化语言同样能够描述循环的处理特性
D.判定树是判定表的变形,一般情况下它比判定表更直观,且易于理解和使用 64.软件需求说明书是软件需求分析阶段的重要文件,下述( D )是其应包含的内容。 ①数据描述 ②功能描述 ③模块描述 ④性能描述 A.② B.③④ c.①②③ D.①②④
65.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一套分层的( B )图。
A流程 B数据流 C软件结构 D事务转换
66.软件需求分析方法中,结构化分析是一种常用的方法。结构化分析产生的系统说明书是包括一本(B)。
A结构说明 B用户需求 C数据字典 D数据流程
67.常用的需求分析方法有面向数据流的结构化分析方法,( A ),面向对象的分析方 法等。
A.面向数据结构的分析方法 B.面向时序问题的分析方法 C.面向事务的分析方法 68.结构化分析方法使用的描述工具( A )描述系统由哪几部分组成,各部分之间有什么联系等等。
A.数据流图 B.数据字典 C.判定表 D.判定树 69.结构化分析方法(sA)是一种面向( C )需求分析方法。 A.对象 B.数据结构 C.数据流 D.结构图 70.需求分析中,对算法的简单描述记录在( B )中。
A.层次图 B.数据字典 C.数据流图 D.IPO图 71.数据流图和( B )共同构成系统的逻辑模型。
A.IPO图 B.PDL图 C.数据字典 D.层次图 72.在下面的叙述中,( C )不是软件需求分析的任务。 A. 问题分解 B.可靠性与安全性要求 c.结构化程序设计 D.确定逻辑模型 73.原型化方法是一类动态定义需求的方法,下列叙述中,( )不具有原型化方法的特征。 A.提供严格定义的文档 B.加强用户参与和决策 C.简化项目管理 D.加快需求的确定 74.需求分析是( A )。
A. 软件开发工作的基础 B.软件生存周期的开始
C. 由系统分析员单独完成的 D. 由用户自己单独完成的
75.软件原型化开发方法有其基本步骤,下述( B )是实施原型化的最基本的步骤。 ①获得基本需求②开发工作模型③严格细部说明④模型验证 A.全部都是 B.①②和④ c.④ D.①和②
76.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
A需求不确定性高的 B需求确定的 C管理信息 D动态改变 77. 原型化方法从用户界面的开发人手,首先形成( )。
A用户界面使用手册 B用户界面需求分析说明书 C系统界面原型 D完善的用户界面 78原型化方法是一种( A )型的设计过程。 A自外向内 B自顶向下 C自内向外 D自底向上
79.数据流图是用于软件需求分析的工具,下列元素( C )是其基本元素。 ①数据流 ②加工 ③数据存储 ④外部实体 A.①②和③ B.①和③ c.全部 D.①③和④
80.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( A )。
A.控制流 B.数据流 C.程序流 D.指令流
81.软件开发常使用的两种基本方法是结构化和原型化方法,在实际应用中,它们之间的关系常表现为( B )。
A.互相排斥 B.互相补充 C.独立使用 D.交替使用
82. 软件工程的结构化生命周期方法(sA)是将软件开发的全过程划分为互相独立而又互
相依存的阶段,软件的逻辑模型是形成于( C )。
A开发阶段 B计划阶段 C分析阶段 D设计阶段
83. 作为软件开发结构化方法的工具,数据流图描述数据在软件流动和被处理变换的过
程,它是以图示的方法来表示( C )。
A软件模型 B软件功能 C软件结构 D软件加工
84. 数据流图的正确性是保证软件逻辑模型正确性的基础,以下( C )项内容与它的正
确性、相关性最弱。
A数据守恒 B均匀分解 C文件操作 D图形层次 85. 数据字典最基本的功能是( C )。
A数据库设计 B数据通讯 C数据定义 D数据维护
86. 软件的结构化设计(sD)方法中,一般分为总体设计和详细设计两阶段,其中总体设
计主要是建立( A )。
A软件结构 B软件流程 C软件模型 D软件模块
87.结构化生命周期方法具有各种特征,下列各种叙述中,( C )不是结构化方法的特征。 A.严格定义需求 B.划分开发阶段 C.提供运行模型 D.制定规范文档 88.SA方法是一种( A )。
A. 自顶向下逐层分解的分析方法 B.自底向上逐层分解的分析方法 C.面向对象的分析方法 D.以上都不是 89. 结构化程序流程图中一般包括三种基本结构,下述结构中( D )不属于其基本结构。 A.顺序结构 B.条件结构 C.选择结构 D.嵌套结构
90.结构化分析方法以数据流图、( D )和加工说明等描述工具,即用直观的图和简洁 语言来描述软件系统模型。
A.DFD图 B.PAD图 C.IPO图 D.数据字典
91.结构化分析(SA)是软件开发需求分析阶段所使用的方法,( B )不是SA所使用的工具。 A.DFD图 B.PAD图 c.结构化英语 D.判定表
92.Jackson设计方法是由英国的M.Jackson所提出的。它是一种面向( C )的软件设 计方法。
A.对象 B.数据流 C.数据结构 D.控制结构
93.软件设计中,Jackson方法是一种面向数据结构的设计方法,它将数据结构表示为 三种基本结构,分别为( B )。
A.分支结构、选择结构和控制结构 B.顺序结构、选择结构和循环结构 c.顺序结构、分支结构和嵌套结构 D.顺序结构、选择结构和重复结构
94.软件工程方法是在实践中不断发展的方法,而早期的软件工程方法是指( B )。 A.原型化方法 B.结构化方法 C.面向对象方法 D.功能分解方法 95. 在结构化方法中,软件功能分解应属于软件开发中的( B )阶段。 A详细设计 B需求分析 C总体设计 D编程调试
96. 数据流程图(DFD)是用于描述结构化方法中( B )阶段的工具。 A可行性分析 B需求分析 C详细设计 D程序编码
97. 数据字典(DD)是定义( A )系统描述工具中的数据的工具。 A数据流程图 B系统流程图 C程序流程图 D软件结构图 98. 判定树和判定表是用于描述结构化分析方法中( B )环节的工具。 A功能说明 B数据加工 C流程描述 D结构说明 99.软件需求分析一般应确定的是用户对软件的( D )。 A.功能需求 B.非功能需求
c.性能需求 D.功能需求和非功能需求
100.数据字典是对数据定义信息的集合,它所定义的对象都包含于( A )。 A.数据流图 B.程序框图 c.软件结构 D.方框图
(三)单项选择题
1. 最高程度也是最差的耦合是( B )。
A. 公共耦合 B. 内容耦合 C. 控制耦合 D. 数据耦合 2. 概要设计阶段产生的文档不包括( D )。
A. 概要设计说明书 B. 数据库设计说明书 C. 用户手册 D. 开发进度月报
3. 一个模块把数值作为参数传送给另一个模块,这种耦合方式称为( A )。 A. 数据耦合 B. 公共耦合 C. 控制耦合 D. 标记耦合
4. 一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为( C A. 时间内聚 B. 功能内聚 C. 通信内聚 D. 顺序内聚 5. 结构化设计是一种面向( A )的设计方法。 A. 数据流 B. 模块 C. 数据结构 D. 程序 6. 结构化设计又称为( B )。
A. 概要设计 B. 面向数据流设计 C. 面向对象设计 D. 详细设计 7. 反映模块内部特性的是( D )。 A. 接口 B. 状态 C. 功能 D. 逻辑
)。 8. 画软件结构图时应注意调用关系只能( A )。 A. 从上到下 B. 从下到上 C. 从左到右 D. 从右到左 9. 变换型DFD是一个( D )结构。
A. 循环 B. 选择 C. 分层 D. 顺序 (三)单项选择题
1. 在详细设计阶段,经常采用的工具包括( C )。 A. SC图 B. DFD图
C. 判定表 D. 形式化方法 2. 结构化程序设计的一种基本方法是( D )。 A. 筛选法 B. 递归法 C. 迭代法 D. 逐步求法
3. 与详细设计相对应的是数据库的( C )设计。 A. 概念 B. 逻辑 C. 物理 D. 功能 4. 详细设计的基本任务中包括( B )。
A. 数据流设计 B. 人机对话设计 C. 数据库的逻辑设计 D. 软件结构设计 5. 下面说法不正确的是( C )。
A. 流程图不易表示数据结构 B. 流程图容易造成非结构化的程序结构 C. 流程图支持逐步求精 D. 流程图描述的是程序的逻辑结构 6. 下面说法不正确的是( B )。
A. 盒图支持逐步求精 B.盒图容易造成非结构化的程序结构 C. 盒图描述的是算法 D.盒图容易表达模块的层次结构 7. Jackson方法以( B )为中心。
A. 控制 B. 数据结构 C. 活动事件 D. 数据流 8. Jackson方法是面向( A )的设计方法。 A. 数据结构 B. 数据流 C. 控制 D. 对象
选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误 C)证明软件正确 D)找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划 D)选择发现错误可能性最大的数据作为测试用例 5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书 C)设计说明书 D)源程序
6.测试的关键问题是( B )。
A)如何组织软件评审 B)如何选择测试用例 C)如何验证程序的正确性 D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则 C)预期输出结果 D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误 B)发现了程序错误 C)证明程序正确性 D)改正了程序错误 9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法 C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。 A)系统功能 B)局部数据结构 C)重要的执行路径 D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析 B)概要设计 C)详细设计 D)编码 13.不属于白盒测试的技术是( D )。
A)路径覆盖 B)判定覆盖 C)循环覆盖 D)边界值分析
14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试 B)自底向上渐增式测试 C)非渐增式测试 D)系统测试 15.确认测试以( A )文档作为测试的基础。
A)需求规格说明书 B)设计说明书 C)源程序 D)开发计划
16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A)程序内部逻辑 B)程序的复杂度 C)使用说明书 D)程序的功能 17.程序的三种基本结构是( B )。
A)过程子、程序、分程序 B)顺序、选择、循环 C)递归、堆栈、队列 D)调用、返回、转移 18.结构化程序设计的一种基本方法是( D )
A)筛选法 B)递归法 C)归纳法 D)逐步求精法 19.软件调试的目的是( A )
A)找出错误所在并改正之 B)排除存在错误的可能性 C)对错误性质进行分类 D)统计出错的次数 20.程序三种基本结构的共同特点是( D )
A)不能嵌套使用 B)只能用来写简单程序 C)已经用硬件实现 D)只有一个入口和一个出口 21.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确 B)测试的目标是为了证明程序没有错
误
C)成功的测试是发现了迄今尚未发现的错误的测试 D)成功的测试是没有发现错误的测试 22.覆盖准则最强的是( D )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖 23.发现错误能力最弱的是( A )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖
24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。 A)条件覆盖 B)判定覆盖 C)条件组合覆盖 D)路径覆盖
25.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析 C)错误推测 D)因果图 26.与确认测试阶段有关的文档是( A )。
A)需求规格说明书 B)概要设计说明书 C)详细设计说明书 D)源程序 27.超出软件工程范围的测试是( D )。
A)单元测试 B)集成测试 C)确认测试 D)系统测试 28.软件测试不需要了解软件设计的( D )。 A)功能 B)内部结构 C)处理过程 D)条件
29.( B )方法需要考察模块间的接口和各模块之间的联系。 A)单元测试 B)集成测试 C)确认测试 D)系统测试 30.调试应该由( B )完成。
A)与源程序无关的程序员 B)编制该源程序的程序员 C)不了解软件设计的机构 D)设计该软件的机构
31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发
生错误时,我们可以返回到最近和最恰当的( C )上。 A)配置项 B)程序 C)基线 D)过程
32.版本管理是对系统不同版本进行的( A )过程
A)标识与跟踪 B)标识变更 C)发布变更 D)控制变更
33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( D )。 A)异步控制 B)同步控制 C)存取控制 D)基线控制 34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制
和( B )。
A)异步控制 B)同步控制 C)基线控制 D)存取控制
35. 按照软件配置管理的原始指导思想,受控制的对象应是( C )。 A)软件元素 B)软件配置项 C)软件项目 D)软件过程
36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( B )。 A)接口 B)软件环境 C)信息项 D)版本
37.在变更控制中,可用来确保由不同用户所执行的并发控制是( B )。 A)异步控制 B)同步控制 C)存取控制 D)基线控制 38.以下说法错误的是( A )。 A)软件配置管理简称SCI
B)软件配置项是配置管理的基本单位 C)软件配置实际上是一动态的概念
D)软件工程过程中某一阶段的变更均要引起软件配置的变更 39.在设计人机界面时,应主要考虑的因素有(D)。
系统响应时间 B)错误处理 C)用户求助机制 D)以上都是 40.人机界面的风格大致经过了( D )代的演变
A)一 B)二 C)三 D) 四
二、选择题
1.结构化程序设计主要强调的是( B)
A.程序的执行效率 B程序的易读性 C程序的规模 D程序可移植性 2.下列选项中,不属于程序设计语言心理特性的表现形式的是(C)。 A简洁性 B歧义性 C可移植性 D局部性和顺序性 3.下列选项中与选择程序设计语言无关的因素是( A)。
A程序设计风格 B软件执行的环境 C软件开发的方法 D项目的应用领域
4.项目应用领域是选择程序设计语言的关键因素,下列不属于项目应用领域类型的选项是(D)。
A系统软件 B数据处理和数据库应用 C人工智能 D.UNIX操作系统 5.不适合做科学工程计算的语言是( D)。
A.FORTRAN语言 B.C语言 C.Pascal语言 D.Lisp语言
6.源程序中的序言性注释应置于每个模块的其始部分,该注释内容不应有(B)。 A模块的用途 B语句的功能 C数据描述 D模块的功能 7.下列适用于开发人工智能领域的语言是( C )
A Ada语言 B C 语言 C Prolog语言 D Cobol语言 8.程序设计语言的工程特性其中之一表现在( B ) A开发工具的可利用性 B简洁性
C数据结构的描述性 D数据库的可操作性
9.下列不合适作为数据处理与数据应用的语言是( A )
A Cobol语言 B SQL语言 C 4GL D Ada语言 10.提高程序效率的根本途径并非在于( D )
A选择良好的设计方法 B选择良好的数据结构 C选择良好的算法 D 对程序语句做调整
二、选择题
1. 某个应用软件原来是在DOS环境下运行的,现在要把它移植到Windows环境下来运行,这种修改软件的过程称为( B)
A校正性维护 B适应性维护 C完善性维护 D预防性维护 2. 产生软件维护的副作用是指( D)
A开发软件时的错误 B运行时的错误
C隐含的错误 D因修改软件而造成的错误 3.软件维护是指( C)
A维护软件的正常运行 B软件的配置更新
C对软件的改进,适应和完善 D软件开发期的一个阶段
一、选择题
1.软件测试的目的是( B )。
A)试验性运行软件 B)发现软件错误 C)证明软件正确 D)找出软件中全部错误 2.软件测试中白盒法是通过分析程序的( B )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 3.黑盒法是根据程序的( C )来设计测试用例的。 A)应用范围 B)内部逻辑 C)功能 D)输入数据 4.为了提高软件测试的效率,应该( D )。
A)随机地选取测试数据 B)取一切可能的输入数据作为测试数据
C)在完成编码以后制定软件的测试计划 D)选择发现错误可能性最大的数据作为测试用例 5.与设计测试用例无关的文档是( A )。
A)项目开发计划 B)需求规格说明书 C)设计说明书 D)源程序 6.测试的关键问题是( B )。
A)如何组织软件评审 B)如何选择测试用例 C)如何验证程序的正确性 D)如何采用综合策略 7.软件测试用例主要由输入数据和( C )两部分组成。
A)测试计划 B)测试规则 C)预期输出结果 D)以往测试记录分析 8.成功的测试是指运行测试用例后( B )。
A)未发现程序错误 B)发现了程序错误 C)证明程序正确性 D)改正了程序错误 9.下列几种逻辑覆盖标准中,查错能力最强的是( D )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)条件组合覆盖 10.在黑盒测试中,着重检查输入条件组合的方法是( D )。
A)等价类划分法 B)边界值分析法 C)错误推测法 D)因果图法
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( A )。 A)系统功能 B)局部数据结构 C)重要的执行路径 D)错误处理 12.软件测试过程中的集成测试主要是为了发现( B )阶段的错误。 A)需求分析 B)概要设计 C)详细设计 D)编码 13.不属于白盒测试的技术是( D )。
A)路径覆盖 B)判定覆盖 C)循环覆盖 D)边界值分析 14.集成测试时,能较早发现高层模块接口错误的测试方法为( A )。
A)自顶向下渐增式测试 B)自底向上渐增式测试 C)非渐增式测试 D)系统测试 15.确认测试以( A )文档作为测试的基础。
A)需求规格说明书 B)设计说明书 C)源程序 D)开发计划
16.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。 A)程序内部逻辑 B)程序的复杂度 C)使用说明书 D)程序的功能 17.程序的三种基本结构是( B )。
A)过程子、程序、分程序 B)顺序、选择、循环 C)递归、堆栈、队列 D)调用、返回、转移 18.结构化程序设计的一种基本方法是( D )
A)筛选法 B)递归法 C)归纳法 D)逐步求精法 19.软件调试的目的是( A )
A)找出错误所在并改正之 B)排除存在错误的可能性 C)对错误性质进行分类 D)统计出错的次数 20.程序三种基本结构的共同特点是( D )
A)不能嵌套使用 B)只能用来写简单程序 C)已经用硬件实现 D)只有一个入口和一个出口 21.下面说法正确的是( C )。
A)经过测试没有发现错误说明程序正确 B)测试的目标是为了证明程序没有错误
C)成功的测试是发现了迄今尚未发现的错误的测试 D)成功的测试是没有发现错误的测试 22.覆盖准则最强的是( D )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖 23.发现错误能力最弱的是( A )。
A)语句覆盖 B)判定覆盖 C)条件覆盖 D)路径覆盖
24.实际的逻辑覆盖测试中,一般以( C )为主设计测试用例。 A)条件覆盖 B)判定覆盖 C)条件组合覆盖 D)路径覆盖
25.下面( D )方法能够有效地检测输入条件的各种组合可能引起的错误。 A)等价类划分 B)边界值分析 C)错误推测 D)因果图 26.与确认测试阶段有关的文档是( A )。
A)需求规格说明书 B)概要设计说明书 C)详细设计说明书 D)源程序 27.超出软件工程范围的测试是( D )。
A)单元测试 B)集成测试 C)确认测试 D)系统测试 28.软件测试不需要了解软件设计的( D )。 A)功能 B)内部结构 C)处理过程 D)条件
29.( B )方法需要考察模块间的接口和各模块之间的联系。 A)单元测试 B)集成测试 C)确认测试 D)系统测试 30.调试应该由( B )完成。
A)与源程序无关的程序员 B)编制该源程序的程序员 C)不了解软件设计的机构 D)设计该软件的机构
31.基线是软件生存期中各开发阶段的一个特定点,它可作为一个检查点,当采用的基线发生错误时,我们可以返回到最近和最恰当的( C )上。 A)配置项 B)程序 C)基线 D)过程 32.版本管理是对系统不同版本进行的( A )过程
A)标识与跟踪 B)标识变更 C)发布变更 D)控制变更
33.在变更控制中,管理各个用户存取和修改一个特定软件配置对象的权限是( D )。 A)异步控制 B)同步控制 C)存取控制 D)基线控制 34. 在配置管理中,“登入”和“检出”处理实现了两个重要的变更控制要素,即同步控制和( B )。
A)异步控制 B)同步控制
C)基线控制 D)存取控制
35. 按照软件配置管理的原始指导思想,受控制的对象应是( C )。 A)软件元素 B)软件配置项 C)软件项目 D)软件过程
36. 软件配置项是软件配置管理的对象,指的是软件工程过程中所产生的( B )。 A)接口 B)软件环境 C)信息项 D)版本
37.在变更控制中,可用来确保由不同用户所执行的并发控制是( B )。 A)异步控制 B)同步控制 C)存取控制 D)基线控制 38.以下说法错误的是( A )。 A)软件配置管理简称SCI(SCM) B)软件配置项是配置管理的基本单位 C)软件配置实际上是一动态的概念
D)软件工程过程中某一阶段的变更均要引起软件配置的变更 39.在设计人机界面时,应主要考虑的因素有(D)。
A) 系统响应时间 B)错误处理 C)用户求助机制 D)以上都是 40.人机界面的风格大致经过了( D )代的演变
A)一 B)二 C)三 D) 四 二、填空题
1.软件测试的目的是尽可能多地发现软件中存在的 错误 ,将测试 测试结果 作为纠错的依据。
2.测试阶段的基本任务是根据软件开发各阶段的 文档资料 和程序的 内部结构 ,精心设计一组 测试用例 ,利用这些实例执行 程序 ,找出软件中潜在的各种 错误 和 缺陷 。
3.测试用例由 输入数据 和预期的 输出数据 两部分组成。
4.软件测试方法一般分为两大类: 动态测试 方法和 静态测试 方法。
5.动态测试通过 运行程序 发现错误。根据 测试用例 的设计方法不同,动态测试又分为 黑盒测试 与 白盒测试 两类。
6.静态测试采用 人工检测 和 计算机辅助静态分析 的手段对程序进行检测。 7.人工审查程序偏重于 编码质量 的检验,而软件审查除了审查 编码 还要对各阶段 软件产品 进行检验。
8.计算机辅助静态分析利用 静态分析 工具对测试程序进行 特性 分析。 9.黑盒法只在软件的 接口 处进行测试,依据 需求规格 说明书,检查程序是否满足 功能 要求。 10.白盒法必须考虑程序的 内部结构 和 处理过程 ,以检查 处理过程 的细节为基础,对程序中尽可能多的逻辑路径进行 测试 。
11.白盒测试是 结构 测试,被测对象是 源程序 ,以程序的 内部逻辑 为基础设计测试用例。
12.逻辑覆盖是对程序内部有 判定 存在的逻辑结构设计测试用例,根据程序内部的逻辑覆盖程度又可分为 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖6种覆盖技术。
13.实际的逻辑覆盖测试中,一般以 条件组合 覆盖为主设计测试用例,然后再补充部分用例,以达到 路径 覆盖测试标准。
14.循环覆盖是对程序内部有 循环 存在的逻辑结构设计测试用例,它通过限制 循环次数 来测试。
15.基本路径测试是在程序 控制流程图 基础上,通过分析控制构造的 环路 复杂性,导出 基本路径 集合,从而设计测试用例。
16.黑盒测试是 功能 测试,用黑盒技术设计测试用例有4种方法:等价类划分 边界值分析 错误推测 因果图。
17.等价类划分从程序的 功能 说明,找出一个输入条件(通常是 一句话 或 一个短语 ),然后将每个输入条件划分成两个或多个 等价类 。
18.边界值分析是将测试 边界 情况作为重点目标,选取正好等于、刚刚大于或刚刚小于边界值 的测试数据。如果输入或输出域是一个有序集合,则应选取集合的 第一个 元素和 最后一个 元素作为测试用例。 19.在测试程序时,根据经验或直觉推测程序中可能存在的各种错误,称为 错误推测法 。 20.因果图的基本原理是通过画 因果 图,把用自然语言描述的 功能说明 转换为 判定表 ,最后为判定表每一列设计一个测试用例。
21.测试的综合策略是在测试中,联合使用各种 测试 方法。通常先用 黑盒 法设计基本的测试用例,再用 白盒 法补充一些必要的测试用例。
22.软件测试过程中需要3类信息:软件配置 、 测试配置 和 测试工具 。 23.软件测试一般经过4个测试:单元测试 集成测试 确认测试 系统测试 。
24.单元测试 指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误,它涉及 编码 和 详细设计 的文档。 25.单元测试主要测试模块的5个基本特征:模块接口 局部数据结构 重要的执行路径 错误处理 边界条件。
26.在单元测试中,需要为被测模块设计 驱动 模块和 桩 模块。 驱动模块 用来模拟被测模块的上级调用模块, 桩模块 用来代替被测模块所调用的模块。
27.集成测试指在 单元 测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。也称 组装 测试或 联合 测试。
28.集成测试的方法有两种: 非渐增式测试 渐增式测试 。
29.渐增式测试有两种不同的组装模块的方法: 自顶向下结合 自底向上结合 。
30.自顶向下渐增式测试不需要编写 驱动 模块,只需要编写 桩 模块,其步骤是从 模块开始,沿着被测程序的 顶层 的控制路径逐步向下测试,它有两种组合策略: 软件结构图 和深度优先策略 宽度优先策略 。
31.自底向上渐增式测试不需要编写 桩 模块,只需要编写 驱动 模块。 32.确认测试指检查软件的功能 与 性能 是否与 需求规格 说明书中确定的指标相符合,又称 有效性 测试。 33.确认测试在模拟环境下运用 黑盒 测试方法,由专门测试人员 和 用户 参加的测试。
34.确认测试开始前需要制定 测试 计划,结束后要写出 测试分析 报告。其测试用例要选用实际运用 的数据。
35.软件配置审查的任务是检查软件的所有文档资料的 完整性 和 正确性 。
36.调试也称 纠错 ,是在成功的测试之后才开始进行,其目的是确定错误的 原因 和 位置 ,并改正错误。
37.调试技术包括 简单调试 归纳法调试 演绎法调试 回溯法调试
38.回溯法调试是从程序产生错误的地方 出发,而归纳法调试是从 测试结果发现的线索 入手。
39.被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为 静态 测试。
40.用等价类划分法设计一个测试用例时,使其覆盖 尽可能多的 尚未被覆盖的合理等价类。
41.用等价类划分法设计一个测试用例时,使其覆盖 一个 不合理等价类。 42.在单元测试时,需要为被测模块设计 驱动模块与桩模块 。 43.在集成测试时有两种测试方法,它们是 渐增式和非渐增式 。 44.软件测试是为了 发现错误 而执行程序的过程。 45.运行被测程序的方法称为 动态 测试。
46.动态测试中,主要测试软件功能的方法称为 黑盒 法。
47.选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准称为 判定覆盖 。
48.要覆盖含循环结构的所有路径是不可能的,一般通过限制 循环次数 来测试。 49.用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取值范围,则可确定一个合理的等在和 两个不合理的等价类 。
50.凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是 错误推测法 。
51.集成测试中的具体方法是 渐增式和非渐增式测试方法 。 52.确认测试阶段的两项工作是 进行确认测试和软件配置审查 。
53.在单元测试中,测试一个模块时,需要设计 驱动模块和桩模块 。 54.软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是: 标识变更 控制变更 确保变更正确地实现 报告有关变更
55.SCM是一组管理整个软件生存期各阶段中 变更 的活动。
56.基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为项目的一个 检查点 。 三、名词解释
1.软件测试:软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2.静态测试:指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
3.动态测试:指通过运行程序发现错误
4.黑盒测试:指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
5.白盒测试:把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
6.语句覆盖:设计足够的测试用例,使被测程序中每个语句至少执行一次
7.判定覆盖:指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖
8.条件覆盖:指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。
9.判定/条件覆盖:设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。
10.条件组合覆盖:指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
11.路径覆盖:设计足够的测试用例,覆盖被测程序中所有可能的路径 12.测试用例:指为寻找程序中的错误而精心设计的一组测试数据
13.驱动模块:指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。 14.桩模块 15.单元测试 16.集成测试 17.确认测试 18.渐增式测试 19.非渐增式测试 20.调试
21.人的因素的含义 22.基线
23.软件配置管理 24.软件配置项 四、简答题
1.为什么说软件测试是软件开发中不可缺少的重要一环,但不是软件质量保证的安全网? 2.软件测试的目的是什么?为什么把软件测试的目的定义为只是发现错误? 3.软件测试应当遵循什么原则?为什么要遵循这些原则?
4.软件测试的步骤是什么?这些测试与软件开发各阶段之间的关系? 5.软件测试的过程是什么?
6.单元测试、集成测试和确认测试各自主要目标是什么?它们之间有什么不同?相互有什么关系?
7.什么是黑盒测试与白盒测试?它们都适应哪些测试? 8.简述软件测试与软件调试的区别。 9.软件配置管理的任务。 10.试述第三代界面的优点。 11.试述人机界面的设计过程。 五、综合题
1.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。 2.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费模块,按照路径覆盖法设计测试用例。 3.下面是某程序的流程图: (1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
六、选择题
1.B 2.B 3.C 4.D 5.A 6.B 7.C 8.B 9.D 10.D 11.A 12.B 13.D 14.A 15.A 16.A 17.B 18.D 19.A 20.D
21.C 22.D 23.A 24.C 25.D 26.A 27.D 28.D 29.B 30.B 31.C 32.A 33.D 34.B 35.C 36.B 37.B 38.A 39.D 40.D 七、填空题
1. 错误 测试结果
2. 文档资料 内部结构 测试用例 程序 错误 缺陷 3. 输入数据 输出数据 4. 动态测试 静态测试
5. 运行程序 测试用例 黑盒测试 白盒测试 6. 人工检测 计算机辅助静态分析 7. 编码质量 编码 软件产品 8. 静态分析 特性
9. 接口 需求规格 功能
10. 内部结构 处理过程 处理过程 测试 11. 结构 源程序 内部逻辑
12. 判定 语句覆盖 判定覆盖 条件覆盖 判定/条件覆盖 条件组合覆盖 路径覆盖 13. 条件组合 路径 14. 循环 循环次数
15. 控制流程图 环路 基本路径
16. 功能 等价类划分 边界值分析 错误推测 因果图 17. 功能 一句话 一个短语 等价类 18. 边界 边界值 第一个 最后一个 19. 错误推测法
20. 因果 功能说明 判定表 判定表 21. 测试 黑盒 白盒
22. 软件配置 测试配置 测试工具
23. 单元测试 集成测试 确认测试 系统测试 24. 单元测试 编码 详细设计
25. 模块 模块接口 局部数据结构 重要的执行路径 错误处理 边界条件 26. 驱动 桩 驱动模块 桩模块 27. 单元 组装 联合
28. 非渐增式测试 渐增式测试 29. 自顶向下结合 自底向上结合
30. 驱动 桩 顶层 软件结构图 深度优先策略 宽度优先策略 31. 桩 驱动
32. 功能 性能 需求规格 有效性 33. 黑盒 专门测试人员 用户 34. 测试 测试分析 实际运用 35. 完整性 正确性 36. 纠错 原因 位置
37. 简单调试 归纳法调试 演绎法调试 回溯法调试 38. 程序产生错误的地方 测试结果发现的线索 39.静态
40.尽可能多的 41.一个
42.驱动模块与桩模块 43.渐增式和非渐增式 44.发现错误 45.动态测试 46.黑盒法 47.判定覆盖 48.循环次数
49.两个不合理的等价类 50.错误推测法
51.渐增式和非渐增式测试方法 52.进行确认测试和软件配置审查 53.驱动模块和桩模块
54.标识变更 控制变更 确保变更正确地实现 报告有关变更 55.变更 56.检查点 八、名词解释
1. 软件测试指为了发现软件中的错误而执行软件的过程。它的目标是尽可能多地发现软件中存在的错误,将测试结果作为纠错的依据。
2. 静态测试指被测试的程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。
3. 动态测试指通过运行程序发现错误。
4. 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
5. 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
6. 语句覆盖指设计足够的测试用例,使被测程序中每个语句至少执行一次。
7. 判定覆盖指设计足够的测试用例,使被测程序中每个判定表达式至少获得一次“真”值或“假”值,从而使程序的每个分支至少都通过一次,因此判定覆盖又称分支覆盖。 8. 条件覆盖指设计足够测试用例,使判定表达式中每个条件的各种可能的值至少出现一次。 9. 判定/条件覆盖指设计足够的测试用例,使得判定表达式中每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。 10. 条件组合覆盖指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。
11. 路径覆盖指设计足够的测试用例,覆盖被测程序中所有可能的路径。 12. 测试用例指为寻找程序中的错误而精心设计的一组测试数据。
13. 驱动模块指用来模拟被测模块的上级调用模块,其功能比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
14. 桩模块指用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息。 15. 单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
16. 集成测试指在单元测试基础上,将所有模块按照设计要求组装成一个完整的系统进行的
测试。也称组装测试或联合测试。
17. 确认测试指检查软件的功能与性能是否与需求规格说明书中确定的指标相符合,又称有效性测试。
18. 渐增式测试指逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。
19. 非渐增式测试指首先对每个模块分别进行单元测试,然后把所有的模块按设计要求组装在一起进行测试。
20. 调试指确定错误的原因和位置,并改正错误的过程,也称纠错。
21. 1)人对感知过程的认识,包括视觉、阅读时的认知心理、记忆、归纳与演绎推理等; 2)用户已有的技能和行为方式;
3)用户所要求的完成的整个任务以及用户对人机交互部分的特殊要求。
22. 已经通过正式复审和批准的某规约或产品,它因此可以作为进一步开发的基础,并且只能遵循正式的变化控制过程得到改变。
23. 软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更、控制变更、确保变更正确地实现、报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。
24. 软件配置项是软件工程中产生的信息项,它是配置管理的基本单位,对已成为基线的SCI,虽然可以修改,但必须按照一个特殊的正确的过程进行评估,确认每一处的修改。 九、简答题
1. ① 软件测试是软件开发中不可缺少的重要一环,原因是:
· 测试的工作量约占整个项目开发工作量的40%左右,几乎一半。如果是关系到人的生命安全的软件,测试的工作量还要成倍增加。
· 软件测试代表了需求分析、设计、编码的最终复审。 ② 软件测试不是软件质量保证的安全网,因为软件测试只能发现错误,不能保证没有错误。 2. 软件测试的目的有:
① 软件测试是为了发现错误而执行程序的过程。
② 一个好的测试用例能够发现至今尚未发现的错误。 ③ 一个成功的测试是发现了至今尚未发现的错误。
软件测试的目标定义为只是发现错误,原因是软件测试可以有两个目标,一个是预防错误,另一个是发现错误。由于软件开发是人的创造性劳动,人的活动不可能完美无缺,错误可能发生在任何一个阶段,因此预防错误这一目标几乎是不可实现的,所以软件测试的目标定义为只是发现错误。
3. 软件测试应当遵循原则如下:
① 用例由输入数据和预期的输出数据两部分组成,因为这样便于对照检查,做到有的放矢。 ② 用例不仅选用合理的输入数据,还要选择不合理的输入数据。因为当以特殊方式使用程序时,会突然发现程序中有许多错误,故使用预期的不合理的输入数据进行程序测试,比用合理的输入数据收获要大,从而能更多地发现错误,提高程序可靠性。
③ 除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事,因为如果程序做了它不应该做的事,即使程序能做它应该做的事,程序也是错误的。 ④ 应制定测试计划并严格执行,因为这样可以排除随意性。
⑤ 长期保留测试用例,因为测试用例的设计耗费很大的工作量,而修改后的程序可能有新的错误,需要进行回归测试,故必须将测试用例作为文档保存,使测试具有可重复性,同时测试用例是将来系统维护测试与确认的依据,保存测试用例也为以后的维护提供方便。 ⑥ 对发现错误较多的程序段,应进行更深入的测试,因为发现错误较多的程序段,其质量
较差,同时在修改错误过程中又容易引入新的错误。
⑦ 程序员避免测试自己设计的程序,因为测试目的是找错。从心理学角度讲,程序员大多对自己的程序存有偏见,总认为没有错误或错误不大,另外程序员对需求规格说明的理解而引入的错误则更难发现,应该由别人或另外的机构来测试会更客观、更有效。 4. ① 软件测试的步骤如图7-3所示。
图7-3 软件测试的步骤
② 这些测试与软件开发各阶段之间的关系如图7-2所示。因为系统测试已经超出了软件工程的范围,所以图7-2中的系统测试不包括在内。
5. 软件测试是一个规则的过程,包括测试设计、测试执行以及测试结果比较等。
① 测试设计:根据软件开发各阶段的文档资料和程序的内部结构,利用各种设计测试用例技术精心设计测试用例。
② 测试执行:利用这些测试用例执行程序,得到测试结果。
③ 测试结果比较:将预期的结果与实际测试结果进行比较,如果二者不符合,对于出现的错误进行纠错,并修改相应文档。修改后的程序还要进行再次测试,直到满意为止。如果测试发现不了错误,可能由于测试配置考虑不周到,应考虑重新制定测试方案,设计测试用例。 6. 单元测试、集成测试和确认测试各自主要目标是:
① 单元测试的主要目标是检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
② 集成测试的主要目标是检查与设计相关的软件体系结构的有关问题。
③ 确认测试的主要目标是检查已实现的软件是否满足需求规格说明书中确定的各种需求。 单元测试、集成测试和确认测试之间的不同如下:
① 测试内容不同:单元测试集中于单个模块的功能和结构检验,其测试内容主要包括模块接口、局部数据结构、重要的执行路径、错误处理和边界测试;集成测试集中于模块组合的功能和软件结构检验,其测试内容主要包括模块组装中可能出现的问题,即数据穿过接口可能丢失、一个模块可能破坏另一个模块的内容、子功能组装可能不等于主功能、全程数据结构问题、误差累积问题;确认测试集中于论证软件需求的可追溯性,主要包括测试软件功能和性能是否与软件需求一致、测试软件配置的所有程序与文档是否正确完整而且一致。 ② 测试的方法不同:单元测试总是使用白盒测试法,为被测模块设计驱动模块和桩模块;集成测试使用渐增式测试和非渐增式测试,渐增式测试又有分为自顶向下结合法和自底向上结合法;确认测试总是使用黑盒测试法。
③ 发现的错误不同:单元测试发现的错误主要是在编码阶段产生的错误,集成测试发现的错误主要是在设计阶段产生的错误,确认测试发现的错误主要是在需求分析阶段产生的错误。
④ 涉及的文档不同:单元测试涉及编码和详细设计文档,集成测试涉及详细设计文档和概要设计文档,确认测试涉及软件需求规格说明书和用户手册。
三者相互关系是:单元测试、集成测试和确认测试是顺序实现的。首先单元测试对各个模块进行测试,然后集成测试以单元测试为基础,将所有已测模块按照设计要求组装成一个完整的系统,对模块组合的功能和软件结构检验进行测试,最后确认测试是以集成测试为基础,测试集成的软件是否满足需求规格说明书中确定的各种需求。 7. ① 黑盒测试指把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求,又称为功能测试或数据驱动测试。
② 白盒测试指把测试对象看成一个打开的盒子,测试人员需了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
③ 白盒测试适应的测试有单元测试、逻辑覆盖(按逻辑覆盖程度不同,有语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。)、循环覆盖(限制循环次数,有单循环和嵌套循环)和基本路径测试。
④ 黑盒测试适应的测试有:确认测试、等价类划分、边界值分析、错误推测和因果图。 8. 软件测试与软件调试在目的、技术和方法等方面存在很大的区别,主要表现在: ① 测试从一个侧面证明程序员的失败,而调试是为了证明程序员的正确。
② 测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的只是程序是否通过测试。调试一般以不可知的内部条件开始,除统计性调试外,结果是不可预见的。 ③ 测试是有计划的,并要进行测试设计,而调试是不受时间约束的。
④ 测试是一个发现错误、改正错误、重新测试的过程,而调试是一个推理过程。
⑤ 测试的执行是有规程的,而调试的执行往往要求程序员进行必要的推理及知觉的飞跃。 ⑥ 测试经常由独立的测试组在不了解软件设计的前提下完成,而调试必须由了解详细设计的程序员完成。
⑦大多数测试的执行和设计可由工具支持,而调试时,程序员能利用的工具主要是调试器。 十、综合题
1.① 划分等价类下表。
等价类划分表 输入条件 合理等价类 长度 第一个字符 (1)小于40个字符 (2)等于40个字符 (3)英文字母 不合理等价类 (5)大于40个字符 (6)非英文字母 (7)空格 (8)标点符号 (9)运算符号 (10)其他可显示字符 其他字母 (4)英文字母、数字或下划线的任意组合 ② 设计测试用例下表。
测试用例表
测试数据 (1) s_name12 测试范围 等价类(1),(3),(4) 期望结果 有效 有效 无效 (2) 等价类a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr (2),(3),(4) (3) 等价类(5) a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff (4) 234name (5) ab gh (6) ab!2f (7) fg+ghh (8) H@gh 2.① 被测模块的程序流程图如图所示。
等价类(6) 等价类(7) 等价类(8) 等价类(9) 等价类(10) 无效 无效 无效 无效 无效
被测模块的程序流程图
② 按照路径覆盖法设计测试用例如下:
是会员,累计消费900元, 覆盖路径127 是会员,累计消费2000元, 覆盖路径128 不是会员,累计消费80元, 覆盖路径134 不是会员,累计消费300元, 覆盖路径135 3.(a) 环路复杂性=判断数+1=6+1=7(个)
(b) 路径1: 0 —①— 13 — 19
路径2: 0 —②—③— 14 — 19 路径3: 0 —②—④—⑤— 15 — 19 路径4: 0 —②—④—⑥—⑦— 16 — 19 路径5: 0 —②—④—⑥—⑧—⑨— 17 — 19 路径6: 0 —②—④—⑥—⑧—⑩— 18 — 19 路径7: 0 —②—④—⑥—⑧—⑩— 12 — 19 4.(1) 划分等价类见表1。
表1 等价类划分表
输入条件 长度 第一个字符 其他字母 合理等价类 (1) 小于40个字符 (2) 等于40个字符 (3) 英文字母 (4) 英文字母、数字或下划线的任意组合 不合理等价类 (5) 大于40个字符 (6) 非英文字母 (7) 空格 (8) 标点符号 (9) 运算符号 (10) 其他可显示字符 (2) 设计测试用例见表2。
表2 测试用例表 测试数据 测试范围 期望结果 (1)s_name12 (2)a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_tr (3)a1b2c3d4e5f6g7h8i9j1k2l3m4n5o6p7q8r9s_trff (4)234name (5)ab gh (6)ab!2f (7)fg+ghh (8)H@gh 等价类(1),(3),(4) 有效 等价类(2),(3),(4) 有效 等价类(5) 等价类(6) 等价类(7) 等价类(8) 等价类(9) 等价类(10) 无效 无效 无效 无效 无效 无效 5.等价划分法
① 划分等价类并编号,如下表所示。
十六进制整型常量输入条件的等价类表 输入数据 十六进制整数 合理等价类 1. 0x或0X开头1~2位数字串 2. 以-0x打头的1~2位数字串 不合理等价类 3. 非0x或非-打头的串 4. 含有非数字且(a,b,c,d,e,f)以外字符 5. 多于5个字符 6. -后跟非0的多位串 7. -0后跟数字串 8. -后多于3个数字 10. 小于-7f 11. 大于7f 十六进制数范围 测试数据 0×23 -0×15 9. 在-7f~7f之间 ② 为合理等价类设计测试用例,表中有三个合理等价类,两个例子。
期望结果 显示有效输入 显示有效输入 覆盖范围 1,9 2,9 ③ 为每个不合理等价类至少设计一个测试用例。 测试数据 2 G12 123311 -1012 -011 -0134 -0x777 0x87 期望结果 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 显示无效输入 覆盖范围 3 4 5 6 7 8 10 11 6.(1) 被测模块的程序流程图如下图所示。
(2) 按照路径覆盖法设计测试用例如下: 是会员,累计消费900元,覆盖路径127 是会员,累计消费2000元,覆盖路径128 不是会员,累计消费80元,覆盖路径134 不是会员,累计消费300元,覆盖路径135 2.
4.变量的命名规则一般规定如下:变量名的长度不多于40个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。请用等价分类法设计测试用例。
5.根据下列条件使用等价划分法设计测试用例。
某8位微机,其十六进制常数定义为:以0x或0X开头的数是十六进制整数,其值的范围是-7f~7f(表示十六进制的大小写字母不加区别),如0X13,0X6A,-0X3c。
6.某商场在“五一”期间,顾客购物时收费有4种情况:普通顾客一次购物累计少于100元,按A类标准收费(不打折),一次购物累计多于或等于100元,按B类标准收费(打9折);会员顾客一次购物累计少于1000元,按C类标准收费(打8折),一次购物累计等于或多于1000元,按D类标准收费(打7折)。测试对象是按以上要求计算顾客收费的模块,按照路径覆盖法设计测试用例。
因篇幅问题不能全部显示,请点此查看更多更全内容