资源描述
2022年专升本软件工程学题库及答案
第1章 软件工程概述
一、选择题
(1) 在软件开发模型中,提出最早、应用最广泛的模型是(瀑布)。
(2) 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法一般是指 ( 结构化方法 )。
(3) 结构化生命周期方法具有各种特征,下列各种叙述哪一个不是结构化方法的特征?( C )
A.严格定义需求 B.划分开发阶段
C.提供运行模型 D.制定规范文档
(4) 下列关于瀑布模型的描述正确的是 (瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开)。
A.利用瀑布模型,如果发现问题修改的代价很低
B.瀑布模型的核心是按照软件开发的时间顺序将问题简化
C.瀑布模型具有良好的灵活性
(5) 原型化方法是用户和设计者之间执行的一种交互构成,适用于(需求不确定性高的)系统。
(6) 软件开发瀑布模型中的软件定义时期各个阶段依次是(问题定义,可行性研究,需求分析)。
(7) 瀑布模型是一种(整体开发模型)。
(8) 瀑布模型的存在问题是(缺乏灵活性)。
(9) 瀑布模型的主要特点之一是 ( 推迟实现 )。
(10) ( 螺旋模型 )引入了“风险驱动”的思想,适用于大规模的内部开发项目。
(11) 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是 (软件危机 )的一种表现 。
(12) 快速原型模型的主要特点之一是 (及早提供工作软件)。
(13) 软件生存周期的(每个阶段)工作和软件可维护性有密切的关系。
(14) 软件生命周期中所花费用最多的阶段是( 软件维护 )。
(15) 软件工程中常用的生命周期模型有( A )等。
A. 瀑布模型,快速原型模型,增量模型,螺旋模型和喷泉模型
(16) 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法常用模型不包括( B )。
A.瀑布模型 B.敏捷模型 C.原型模型 D.螺旋模型
(17) 软件开发瀑布模型中的各个阶段依次是( D )。
D.分析、设计、实现、测试、维护。
(18) 软件危机的表现不包括( C )。
A.软件质量不可靠 B.软件几乎是不可维护的
C.测试过程中发现的错误较多 D.缺少文档
(19) 在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了( 软件危机 )。
(20) 软件工程是( 是指导计算机软件开发和维护的工程学科)。
(21) 软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(各个)阶段。
(22) 软件工程的主要目标是提高( 软件的可维护性 ),降低维护的代价。
(23) 软件质量保证应在( 需求分析 )阶段开始。
二、填空题
1. 基于计算机系统的软件要素中的软部件由 程序 、 数据结构 和 文档 组成。
2. 软件工程方法学分两类: 传统 方法学和 面向对象 方法学。
3. 软件工程的目标是在给定成本、 给定开发进度 的前提下开发出高质量的、面向对象 的软件产品。
4. 软件过程 是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。
5. 软件工程釆用层次化的方法,每个层次都包括 工具 、方法、 过程 三要素。
6. 使用 原型模型 这一软件过程模型可以让用户更多、更早地参与需求分析过程。
三、判断题
1. 计算机软件由文档和数据组成。 ( × )
2. 软件 = “完成特定功能的程序 + 数据结构 + 文档” 。 ( √ )
3. 软件就是完成特定功能的程序的集合。 ( F× )
4. 软件开发采用了软件工程之后,就不会发生软件危机了。 ( F× )
5. 软件工程使用的软件工具能够自动或半自动地支持软件的开发、管理和文档的生成。 ( √ )
6. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。 ( √ )
7. 一个优秀的开发人员不必非要具有良好的书面和口头表达能力,只要程序写的好就没问题了。 ( × )
8. 缺乏处理大型软件项目的经验,是产生软件危机的唯一原因。 ( ×F )
9. 软件开发小组人数越多越好。 ( F× )
10. 难以控制开发进度和工作量估计困难是软件危机的主要表现之一。 ( √ )
11. 面对日益增长的软件需求,人们显得力不从心,往往是产生软件危机的原因之一。 ( √ )
12. 瀑布模型在实际的项目中严格顺序执行就基本可以成功。 ( × )
13. 快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。 ( √ )
14. 只要实行严格的产品控制就不用担心用户随意改需求。 ( T× )
15. 原型是目标软件系统的一个可操作模型,它实现了目标软件系统的某些重要方面。( √ )
四、名词解释
软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,综合运用正确的管理技术和最好的技术方法,以经济地开发出高质量的软件并有效维护它。
软件过程:软件开发人员为开发和维护软件及相关产品所实施的一系列任务框架,涉及到方法、工具及人的组织和行为
软件生命周期:一个软件从定义、开发、使用和维护,直至最终被废弃,要经历的漫长的时期称为软件生命周期。
软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重的问题
原型模型:原型模型是一个快速开发的过程,首先和用户沟通进行主要功能的需求分析和快速设计,然后建立一个原型,再请用户进行评价和反馈。开发人员根据用户的反馈进一步细化需求,改进原型系统的设计,如此反复直至用户满意。
五、简答题
1. 简述软件危机发生的原因。
答:(1)客观原因:
l 软件与硬件产品不同,软件是“开发的”而非“制造的”。其开发过程难以管理和控制,产品质量也不好把握。
l 软件没有“磨损”,但是它会不断“退化”。加大了软件维护的难度,软件无法适应不断变化的运行环境需求。
l 软件规模庞大,而程序的复杂性是随其规模的扩大呈指数增加。
(2)主观原因:
l 对用户要求没有完整和准确的认识就匆忙编写程序。越早开始代码编写,开发时间越长。急于求成,欲速则不达。
l 对软件的开发过程的认识不准确。生命周期的每个阶段都有特定的工作和特点,都是不可逾越的。
l 对软件质量的重视不够是造成软件开发成本激增的主要原因。注意软件开发过程中错误的“放大效应”。
l 轻视软件维护将是一个重大的错误。软件开发时期各阶段的关键目标都是提高软件的可维护性。
2. 简述软件工程的基本原理。
答:(1)用分阶段的生命周期计划严格管理
(2)坚持进行阶段评审
(3)实行严格的产品控制
(4)采用现代程序设计技术
(5) 结果可以清楚地审查
(6)开发小组成员少而精
(7)承认不断改进软件工程实践的必要性
3. 简述软件危机的几种常见表现形式。
答:(1)对软件开发成本和进度的估计常常很不准确。
(2) 软件产品质量较差,可靠性低。
(3) 用户对开发出来的软件产品不满意。
(4) 软件常常是不可维护的。
(5) 软件产品缺少应有的文档资料。
(6) 软件产品的供不应求。
4. 可将软件生存周期划分为哪3个过程和哪8个阶段。
答:软件定义、软件开发和运行维护
问题定义、可行性研究、需求分析;总体设计、详细设计、编码和单元、测试、综合测试;软件维护
5. 试述瀑布模型的优点和缺点?
答:优点:
(1)各阶段之间有依赖性和严格的顺序性。
(2)推迟实现。 —— 典型特点
(3)严格的阶段质保。
(4)文档驱动。
缺点:
(1)开发人员“阻塞状态”严重
(2)实际的项目很少顺序严格
(3)用户往往难以给出具体、正确、完整的要求
(4)产品出现晚+大错误灾难
6. 简述瀑布模型及其特点。
答: 在20世纪80年代之前,瀑布模型一直是惟一被广泛采用的生命周期模型。传统软件工程方法 学的软件过程,基本上可以用瀑布模型来描述。
7. 简述快速原型模型及其特点。
答:原型模型是一个快速开发的过程,首先和用户沟通进行主要功能的需求分析和快速设计,然后建立一个原型,再请用户进行评价和反馈。开发人员根据用户的反馈进一步细化需求,改进原型系统的设计,如此反复直至用户满意。
特点:
(1) 出品速度快。
(2) 逐步求精(一旦需求确定,旧的模型将被抛弃,新的模型将被建立)。
(3) 用户对系统有了直观认识,开发人员对需求有了准确认识。
第2章 可行性研究
一、选择题
(24) 在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,( 非功能需求 )是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
(25) 软件可行性研究一般不考虑( 待开发的软件是否会有质量问题 ) 。
(26) 技术可行性是可行性研究的关键,其主要内容一般不包括( C )。
A.风险分析 B.资源分析
C.人员分析 D.技术分析
(27) 经济可行性研究的范围包括( 效益分析 )。
(28) 研究开发所需要的成本和资源是属于可行性研究中的( 经济可行性 )。
(29) 研究开发的软件是否符合相关法律规定是属于可行性研究中的( 法律可行性 )。
(30) 可行性研究实质上是进行了一次( 简化了的系统分析和设计过程 )。
(31) 可行性研究阶段的主要任务包括( D )。
A.分析和澄清问题定义 B.导出系统的逻辑模型
C.制定粗略的进度.建议和计划 D.以上全是
(32) 数据流图是一种用来描述( 系统信息流和数据流 )的图形化工具。
(33) 数据流图DFD中的每个加工至少需要( 一个输出流和一个输入流 )。
(34) 数据流图(DFD)是 ( SA(结构化分析) )方法中用于表示系统的逻辑模型的一种图形工具。
二、填空题
7. 描绘物理系统的传统工具是 系统流程图 。
8. 数据流图用图形符号表示 数据加工 、 数据流 、数据源/终点及数据存储。
9. 可行性研究的任务是从经济可行性、操作可行性、技术可行性、社会可行性等方面研究。
10. 若年利率为i,n年后可得钱数为F,则现在的价值 F/(1+i)n _。
11. 若年利率为i,不计复利,n年后可得钱数为F,则现在的价值__ F/(1+n*i) _
三、判断题
16. 在可行性研究中最难决断和最关键的问题是技术可行性。 ( √ )
17. 数据流图的分解速度应保持较高。通常一个加工每次可分解为10~20个子加工。 ( × )
18. 通常用数据流图、数据字典和简明算法描述表示系统的逻辑模型。 ( √ )
19. 数据流图就是用来刻画数据流和转换的信息系统建模技术。 ( √ )
20. 对于软件项目,投资回收期越长,越快获得利润。 ( × )
四、简答题
1. 研究软件工程项目的可行性应从哪几个方面分析?
答:(1)技术可行性(2)经济可行性(3)操作可行性(4)社会可行性
2. 在可行性研究阶段的任务是什么?
答:(1)分析和澄清问题定义;
(2)导出系统的逻辑模型;
(3)探索各种解法并研究每种解法的可行性;
(4)制定粗略的进度、建议和计划。
3. 简述可行性研究的过程。
答:(1)复查系统规模与目标(2)研究目前正在使用的系统(3)导出新系统的高层逻辑模型(4)导出与评价各种方案(5)推荐行动方针(6)草拟开发计划(7)书写文档提交审查
五、综合设计题
1. 某医院计划开发一套以计算机系统为中心的ICU(重症监护室)监护系统。该系统的基本要求是:系统可以随时接收ICU中每个患者的生理信号(血氧饱和度、体温、血压、ECG心率),定时记录患者情况以形成患者日志;当某个患者的生理信号超出医生规定的安全范围时系统将向值班的护士发出警告信息;此外,护士还可以根据需要使用该系统打印出指定患者的病情报告。
根据题目的已知条件,将下列数据流图和数据字典卡片补充完整。
0层数据流图:
1层数据流图:
“生理信号”的数据字典卡片:
名字:生理信号
别名:无
描述:
定义:
位置:D1、D2
2. 已知某工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、订货数量、价格、主要供应者、次要供应者。零件入库或出库称为事务,仓库管理员通过放在仓库中的CRT终端把事务输入到给定货系统。当某种零件的库存数量少于库存量临界值时就应该通过定货报表通知采购员再次定货。
根据题目的已知条件,将下列数据流图和数据字典卡片补充完整。
答
0层数据流图:
1层数据流图:
2层数据流图:
名字:定货报表
别名:定货信息
描述:每天一次送给采购员的需要定货的零件表
定义:
位置:定货信息
需求分析
一、选择题
1.在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,(非功能需求)是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。
2.需求分析的任务包括( D )。
A.确定对系统的综合要求 B.分析系统的数据要求
C.导出逻辑模型并修正开发计划 D.以上全是
3.需求分析的任务不包括( C )。
A.确定对系统的综合要求 B.分析系统的数据要求
C.从技术角度分析系统是否可行 D.导出逻辑模型并修正开发计划
4.要将一个复杂的系统分析清楚,传统软件工程常用方法是结构化分析方法,结构化分析方法就是(面向数据流自顶向下,逐步求精的方法)。
5.需求分析是要完整、准确、清晰、具体地确定系统所要完成的工作,其主要依据是前一阶段的文档( 可行性研究报告 )。
6.需求分析阶段的主要任务是确定( 软件系统的功能)。
7.数据字典是用来定义( 数据流图)中的各个成份的具体含义的。
8.数据流图是一种用来描述( 系统信息流和数据流 )的图形化工具。
9.(数据字典)和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整。
10.数据流图DFD中的每个加工至少需要( 一个输出流和一个输入流 )。
11.数据流图(DFD)是 ( SA )方法中用于表示系统的逻辑模型的一种图形工具。
12.使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息:(数据对象,属性,联系 )。
13.储蓄所有多个储户,储户在多个储蓄所存取款,储蓄所与储户之间是(多对多的联系)。
二、填空题
1.需求分析方法包括: 功能分解 方法、结构化分析方法、 信息建模 方法和面向对象分析方法。
2.需求分析阶段产生的文档是 软件需求规格说明书 ,它的主要组成部分是 数据流图,数据字典 。
3.对于复杂数据中的数据元素的组成方式有 顺序 、 选择 、 重复和可选等四种基本类型。
4.实体—关系图是 数据模型 的基础,它描述 实体 、属性及其关系。
5.在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是 多对多 关系。
三、判断题
1.需求分析主要内容包括:问题分析、需求描述、需求评审。 (√)
2.数据字典是关于数据的信息的集合,也就是对数据流图中包含元素的定义的集合。 (√ )
3.系统响应时间是指当用户执行了某个控制动作后(例如,按回车键,点鼠标等),系统作出反应的时间。 (√)
4.软件需求是指用户对目标软件系统在功能、性能、行为、设计约束等方面的期望。 (√ )
5.系统规格说明是系统分析和定义阶段生成的一种文档。 (√ )
6.需求规格说明书是在计划时期可行性研究阶段产生的文档。 (× )
7.需求分析阶段所生成的文档主要是进度计划和可行性研究报告。 (× )
8.只有了解用户、了解任务,才能设计出好的用户界面。 (√ )
9.文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读.(√)
10.对于软件项目,投资回收期越长,越快获得利润。 (×)
11.一个实时系统必须在严格的时间范围内响应。如果响应时间被过分延迟,将带来灾难性的后果。 (√)
12.需求分析中的性能要求是指系统的技术性能指标,包括:存储量、响应时间、精确度和安全保密等方面。 (√)
13.需求分析阶段的成果主要是需求规格说明,但该成果与软件设计、编码、测试直至维护关系不大。 (×)
14.软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因。 ( × )
四、名词解释
结构化分析、实体-联系图、数据字典
五、简答题
1. 需求分析中对系统的综合要求包括哪些方面?
2. 简述软件工程中需求分析的基本任务。
3. 已知某学校教务管理系统中规定:每个教师(教工号,姓名,性别,职称,职务)可以教多门不同的课程(课程号,课名,学时,学分),每门课程只能由一个老师来教,每个学生(学号,姓名,性别,系,年级)可以学习多门课程并取得成绩。每门课程可以有多个学生学习。
试根据已知条件,画出对应的实体-联系图(E-R图)。
4. 今有一个医院住院部,设有多个科,每个科有若干医生和病房,病人住在病房中由某个医生负责治疗。医生总是属于某个科的,但不能跨科;病房也是属于某个科的,不混合使用;病人住在某一科的病房中,一个病房可住多个病人,一个病人由固定医生负责治疗,一个医生可以负责多个病人。根据上述语义,画出E-R模型。
5. 学校有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授可以带若干研究生,每个班有多名学生,每个学生选修多门课程,每门课程由若干学生选修。画出学校的E-R图。
04 总体设计
一、选择题
1.模块的内聚性最高的是(功能内聚 )
2.总体设计的目的是确定整个系统的(功能及模块结构)。
3.一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为(通信内聚)。
4.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括(C )。
A. 设计软件的模块结构 B. 定义接口并建立数据结构
C. 模块设计 D. 生成概要设计规格说明
5.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为( 时间内聚)。
6.为了提高模块的独立性,模块之间最好使用(数据耦合)。
7.结构化程序设计的一种基本方法是(逐步求精法)。
8.对软件进行分解,是为了(降低模块的复杂程度)。
9.在软件工程中,描绘软件结构的图形工具不包括( C )。
A. 层次图 B. HIPO图 C.PAD图 D.H图
10.两个模块彼此传递的信息中有控制信息,这种耦合称为(控制耦合)。
11.耦合是对软件不同模块之间互连程度的度量。各种耦合按从强到弱排列如下:(内容耦合,公共环境耦合,控制耦合,数据耦合)
12.结构化设计又称为(面向数据流设计 )。
13.按照总体设计中的启发式规则,模块的作用域和模块的控制域之间的关系应为( 模块的作用域应在模块的控制域之内 ) 。
14.在SD方法中全面指导模块划分的最重要的原则是 (模块独立性)。
15.软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括 (C)。
A. 设计软件的模块结构 B. 定义接口并建立数据结构
C. 模块内部算法设计 D. 生成概要设计规格说明
二、填空
1.软件设计的主要任务是根据 导出系统的实现方案。 (软件需求规格说明书)
2.一个模块拥有的直属下级模块的个数称为 ,一个模块的直接上级模块的个数称为。 (模块的扇出、模块的扇入)
3.将数据流图映射为软件结构时, 所用映射方法涉及信息流的类型。其信息流分为 和 两种类型。 (变换型、事务型)
4.耦合的强弱取决于 的复杂性、进入或调用模块的位置以及通过界面传送数据的多少等。 (模块间接口)
5.总体设计确定模块的 ,而详细设计确定模块的 。 (外部结构、内部结构)
6.软件结构是以 为基础而组成的一种控制层次结构。 (模块)
三、判断题
1. 耦合是影响软件复杂度的重要因素。设计时应尽量使用内容耦合,少用控制耦合和特征耦合,限制公共环境耦合,完全不用数据耦合。( × )
2. 采用信息隐藏原理指导模块设计可以支持模块的并行开发,减少软件测试和软件维护的工作量。( √ )
3. 模块接口设计要简单,以便降低复杂程度和冗余度。( √ )
4. 在模块化原理中,模块的作用域应该在控制域内。( √ )
5. 系统分析阶段和系统设计阶段一般不考虑测试。 (× )
6. 改造程序结构,要降低耦合度,提高内聚度。 (√)
7. 一个软件系统中可能会出现所有模块之间没有任何联系的情况。 ( × )
8. 概要设计也称总体设计,其过程由确定设计方案和结构设计两个阶段组成。( √ )
9. 模块的扇入是指该模块被其它模块调用的个数,扇入应尽可能的小。 ( × )
10. 软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)
四、简答题
什么是模块化?模块化的根据是什么?采用模块化原理的优点是什么?
简述总体设计过程应该遵循的基本原理。
软件结构设计的启发式规则有哪些?(书p43-45)
结构化设计方法过程(书p46)
五、设计题
参考课后题
六、名词解释
结构化设计
模块化
逐步求精
信息隐藏
耦合
内聚
作用域
控制域
扇出
扇入
模块独立性
05 详细设计
一、选择题
(35) 在详细设计阶段经常采用的图形工具包括( `D )。
A.PAD图 B.程序流程图 C.N-S图 D.以上都是
(36) 提高程序可读性的手段包括( D )。
A.使用三种标准控制结构 B.采用有实际意义的变量名
C. 给程序加注释 D.以上都是
(37) 结构化程序设计的三种基本控制结构不包括( C )。
A.顺序 B.选择 C.转移 D.循环
(38) 详细设计中,过程设计的常用图形工具不包括( B )。
A.程序流程图 B.数据流图 C.N-S盒图 D.PAD图
(39) 下列关于详细设计中的说法中正确的是( D )等。
A.详细设计任务相当于设计程序的“蓝图”
B.详细设计的根本目标是应该怎样具体地实现系统
C.详细设计≠编写代码
D.以上都正确
(40) 结构化程序之所以具有易于阅读,并且有可能验证其正确性,这是由于(选择良好的数据结构和算法 )
(41) 程序设计语言主要分三大类:机器语言,汇编语言和( 高级语言)。
(42) 结构化程序设计中的三种基本控制结构是( 顺序、选择和循环 )。
(43) 软件详细设计的主要任务是确定每个模块的 ( 算法和使用的数据结构 )。
(44) 在详细设计阶段,经常采用的工具包括( 程序流程图 )。
(45) 详细设计的结果基本决定了最终程序的( 质量 )。
(46) 软件详细设计主要采用的方法是( 结构化程序设计)。
(47) 详细设计中,过程设计的常用工具有( 程序流程图,N-S盒图,PAD图)等。
(48) 结构化程序设计主要强调的是(程序易读性)。
(49) 提高程序可读性的最有力手段是( 使用三种标准控制结构)。
二、填空
12. 从工程管理的角度看,软件设计可分为 总体设计 和 详细设计 两大步骤。
13. 软件过程设计中最常用的技术和工具主要为程序流程图、 PAD图 、 判定表 、盒图(N-S图)、 判定树 和PDL(过程设计语言)语言。
14. 详细设计的工具可分为 图形 、 表格 和 语言 三大类。
15. 详细设计通常以 结构化程序设计 技术为逻辑基础,因为从软件工程观点看, 可理解性 是软件最重要的质量标准之一。
16. 软件详细计阶段的输出结果为 详细设计说明书 ,此文档经严格复审后将作为 编码和测试单元 阶段的输入文档。
三、简答
(1)试用程序流程图举例描述结构化程序设计中的三种基本控制结构。(图5.1 书P54)
(2)简述过程设计语言(PDL)的特点。(幻灯片 5.1.4 PDL特点)
(3)面向数据流的设计方法与面向数据结构的设计方法有何不同?(书课后题)
四、综合设计
某货运站的收费标准如下:若收件地点在本省,则快件每公斤5元,慢件每公斤3元。若收件地点在外省,则在20公斤以内(包括20公斤)快件每公斤7元,慢件每公斤5元;当超过20公斤时,快件每公斤9元,慢件每公斤7元。绘制确定收费标准的判定表和判定树。
判定树
判定表
(1)给出所有条件
j收件地点:本省和外省;
k重量:≤20kg和>20kg;
l邮件类型:快件和慢件。
(2)计算条件取值情况及条件组合数:2 * 2 *2=8;
(3)画出判定表
决策规则号
1
2
3
4
5
6
7
8
条
件
收件地点在本省?
1
1
1
1
0
0
0
0
重量≤20kg
1
1
0
0
1
1
0
0
慢件?
1
0
1
0
1
0
1
0
应采
取的
行动
3元/kg
√
√
5元/kg
√
√
√
7元/kg
√
√
9元/kg
√
(4)判定表化简(若满足化简条件)
决策规则号
1,3
2,4
5
6
7
8
条
件
收件地点在本省
1
1
0
0
0
0
重量≤20kg
-
-
1
1
0
0
慢件?
1
0
1
0
1
0
应采
取的
行动
3元/kg
√
5元/kg
√
√
7元/kg
√
√
9元/kg
√
06 实现与测试
一、选择题
(50) 软件测试中根据测试用例设计的方法的不同可分为黑盒测试和白盒测试两种,它们( 都属于动态测试 )。
(51) 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( 边界值分析法 )。
(52) 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从
输入的角度考虑一组测试用例:-2.0,0,2.0。设计这组测试用例的方法是( 等价分类法 )。
(53) 单元测试的测试用例主要根据(详细设计)的结果来设计。
(54) 软件测试是为了( 发现错误)而执行程序的过程。
(55) 常用的黑盒测试方法不包括( C )。
A.等价划分 B.边界值分析 C.逻辑覆盖 D.错误推测
(56) 软件测试中,白盒法是通过分析程序的(内部逻辑)来设计测试用例的。
(57) 2
下面几种白箱测试技术,哪种是最强的覆盖准则( D )。
A.语句覆盖 B.条件覆盖 C.判定覆盖 D.条件组合覆盖
(58) 使用黑盒测试时,测试用例的设计应根据(程序的功能)。
(59) 黑盒测试在设计测试用例时,主要需要研究(需求规格说明与概要设计说明)。
(60) 与确认测试阶段有关的文档是(需求规格说明书)。
(61) 软件调试技术包括(边界值分析)。
二、填空题
17. 影响编码质量的因素包括 编程语言 、编程准则和 编码风格 。
18. 软件测试的目的是 ,通常把测试方法分为 和 两大类。因为通常不可能做到 ,所以精心设计 是保证达到测试目的所必需的。
(发现并改正错误、黑盒法、白盒法、穷举测试、测试用例)
进行软件测试的关键是设计出 的测试用例,测试用例应由 和 两部分组成。(高产、输入数据、预期的输出结果)
19. 单元测试过程应为测试模块开发一个 和(或)若干个 。
(驱动模块、桩/存根模块)
20. 进行单元测试的依据是 描述,单元测试应对模块内所有
重要的 设计测试用例,以便发现模块内部的错误。
(详细设计、执行通路)
21. 确认测试应检查软件能否按合同要求进行工作,即是否满足 的确认标准。(软件需求规格说明书)
22. 设计用户界面要充分考虑到 ,还要考虑 ,可用的软、硬件技术及应用本身产生的影响。(人的因素、界面风格)
三、判断题
(1) 如果大量测试没有发现任何错误,可以说明软件没有错误。( × )
(2) 编程风格是在提高性能的前提下,有效地编排和组织程序以提高可读性和可维护性。( 错 )
(3) 程序的可靠性、可维护性和效率通常只由程序设计语言、源代码的质量和语言的实现机制决定的。( ×)
(4) 完成测试工作后,为了缩短源程序的长度应删去源程序中的注释。( × )
(5) 即使测试过程没有发现任何错误,也不能说明软件没有错误。( √ )
(6) 确认测试任务是根据软件需求规格说明书,测试软件系统是否满足用户的需求。( √ )
(7) 只要完成了软件测试工作,将软件产品交给用户,软件生命周期就结束了。( × )
四、简答题
1.简述软件测试的步骤及任务。
答:一个大型软件系统的测试过程基本上由下述几个步骤组成。
1、模块测试
模块测试通常又称为单元测试。模块测试的目的是保证每个模块作为一个单元能正确运行,所以在这个测试步骤中所发现的往往是编码和详细设计的错误。
2、子系统测试
子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此,这个步骤着重测试模块的接口。
3、系统测试
系统测试是把经过测试的子系统装配成一个完整的系统来测试。在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。
不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通常称为集成测试。
4、验收测试
验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似。验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。验收测试也称为确认测试。
5、平行运行
关系重大的软件产品在验收之后往往并不立即投入生产性运行,而是要再经过一段平行运行时间的考验。所谓平行运行就是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。
五、设计
1.
根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入3个整数,它们分别代表一个三角形的3个边长。该程序判断所输入的整数是否构成一个三角形,以及该三角形是一般的、等腰的或等边的,并将结果打印出来。”
要求:设三角形的3条边分别为A、B、C,并且
(1)列出等价类表,格式如下:
输入条件
有效等价类
无效等价类
(2)设计测试用例,格式如下:
用例n:输入【A,B,C】覆盖等价类…(列出编号),输出结果为……。
解题:
(1) 列出等价类表
输入条件
有效等价类
无效等价类
是否构成一个三角形
(1)A>0且B>0且C>0且A+B>C且B+C>A且
A+C>B。
(2)A≤0或B≤0或C≤0
(3)A+B≤C或A+C≤B
或B+C≤A
是否等腰三角形
(4)A=B或A=C或B=C
(5)A≠B且A≠C且B≠C
是否等边三角形
(6)A=B且A=C且B=C
(7)A≠B或A≠C或B≠C
整数
(8)A、B、C为正整数
(9)A或B或C为小数
(10)A或B或C为负整数
(11)A或B或C为0
(2) 设计测试用例
用例1:输入【3,4,5】覆盖等价类(1),(8),
输出结果为构成一般三角形。
展开阅读全文