1、软件工程形成性考核答案第一、二章一、填空题 1. 软件工程学内容可涉及(理论)、构造、(办法)、(工具)、环境、管理、规范等。2. 软件生存周期普通可分为问题定义、(可行性研究)、(需求分析)、设计、(编码)、测试、运营与维护阶段。3. 可行性研究目是(用最小代价在尽量短时间内拟定问题与否可以解决)。4. 系统流程图是(描绘物理系统)老式工具。5. 在可行性研究中,(技术可行性)是系统开发过程中难度最大,最重要一种环节。 二、判断题1. 软件工程采用生存周期办法就是从时间角度对软件开发和维护这个复杂问题进行分解,将软件生存时期分为若干阶段。( )2. 螺旋模型是运用笛卡尔坐标四个象限上分别代表
2、四个方面活动来表达。( )3. 原型模型合用于嵌入式软件。( )4. 面向对象技术是构件组装模型基本。( )5. 在可行性研究中最难决断和最核心问题是经济可行性。( )6. 系统流程图表达是部件信息流程,还表达对信息进行加工解决控制过程。( )7. 自底向上成本预计不是从整体开始,而是从任务单元开始。( )三、单项选取题1. 下列哪个阶段不是软件生存期三个阶段中内容( C )。A 筹划阶段B 开发阶段C 编码阶段D 维护阶段2. 下列关于瀑布模型描述对的是( C )。A. 瀑布模型核心是按照软件开发时间顺序将问题简化。B. 瀑布模型具备良好灵活性。C. 瀑布模型采用构造化分析与设计办法,将逻辑
3、实现与物理实现分开。D. 运用瀑布模型,如果发现问题修改代价很低。四、简答题1. 软件定义与特点。参照答案:软件是计算机系统中与硬件互相依存另一某些,它是涉及程序,数据构造及其有关文档完整集合。它涉及三个方面内容:程序:在运营时,能提供所但愿功能和性能指令集。数据构造:使程序可以对的运营数据构造。文档:描述程序研制过程、办法及使用图文材料。软件产品具备如下某些特性:软件是一种逻辑实体,而不是详细物理实体,因而它具备抽象性。 软件是通过人们智力活动,把知识与技术转化成信息一种产品,是在研制、开发中被创造出来。在软件运营和有效期间,没有硬件那样机械磨损、老化问题。软件开发和运营经常受到计算机系统限
4、制,对计算机系统有着不同限度依赖性。软件开发至今尚未完全挣脱手工开发方式。软件开发费用越来越高,成本相称昂贵。也可概括为:抽象性:逻辑实体,可记录,但看不到。可复制性:与开发成本相比,复制成本很低。无折旧。受硬件制约。未完全挣脱手工工艺。开发费用高。2. 什么是软件工程。参照答案:软件工程是指引计算机软件开发和维护工程学科。它采用工程概念、原理、技术和办法来开发与维护软件,把通过时间考验而证明对的管理技术和当前可以得到最佳技术办法结合起来开发和维护软件。软件工程是从管理和技术两个方面研究如何运用工程学基本原理和办法来更好地开发和维护计算机软件一门学科。3. 什么是软件生存周期。参照答案:一种软
5、件从定义到开发、使用和维护,直到最后被弃用,要经历一种漫长时期,普通把软件经历这个漫长时期称为生存周期。软件生存周期普通可分为如下阶段: 问题定义 需求分析与可行性研究 设计 编码 测试 运营与维护 软件生存期也可以分为三个大阶段:筹划阶段。开发阶段和维护阶段。4. 什么是软件危机,软件危机有哪几种体现?参照答案:答:软件开发和维护过程中所遇到一系列严重问题。详细体当前:(1)产品不能符合顾客实际需求;(2)软件开发效率较低;(3)软件产品质量差;(4)软件开发成本和进度估算不精确;(5)软件可维护性差;(6)软件开发文档资料不完整;(7)软件价格昂贵;5. 简述可行性研究任务。参照答案:可行
6、性研究目:就是用最小代价在尽量短时间内拟定问题与否可以解决,与否有必要去解决。可行性研究目不是解决问题,而是拟定问题与否值得去解决。研究在当前详细条件下,开发新系统与否具备必要资源和其他条件。可行性研究是要进行一次压缩简化了系统分析和设计过程,也就是说在较高层次上以较抽象方式进行设计过程。6. 简述可行性研究环节。参照答案:1 复查系统规模和目的2 研究当前正在使用系统3 导出新系统高层逻辑模型4 重新定义问题5 导出和评价供选取方案6 推荐一种方案并阐明理由7 推荐行动方针8 书写筹划任务书9 提交审查7. 简述系统流程图作用。参照答案:1制作系统流程图过程是系统分析员全面理解系统业务解决概
7、况过程,它是系统分析员作进一步分析根据。 2系统流程图是系统分析员、管理人员、业务操作人员互相交流工具。 3系统分析员可直接在系统流程图上拟出可以实现计算机解决某些。 4可运用系统流程图来分析业务流程合理性。软件工程形成性考核答案第三、四章 一、填空题1. 需求分析基本任务是精确回答(系统必要做什么)。2. 需求分析阶段研究对象是软件项目(顾客规定)。3. 构造化分析办法就是(面向数据流)自顶向下逐渐求精进行需求分析办法。需求分析目之一就是把数据流和数据存储定义到(元素级)。4. 数据流图基本符号涉及(数据输入源点和数据输出汇点)、(加工)、(数据流)、(数据存储文献)。5. 数据流图和(数据
8、字典)共同构成系统逻辑模型。6. 数据字典内容涉及六项:(数据流)、(数据项)、(数据构造)、数据存储、解决逻辑、外部实体。7. 在需求分析阶段惯用图形工具备(层次方框图)、(Warnier图)、(IPO图)。8. 需求分析应交付重要文档是(需求规格阐明书)。9. 概要设计过程中要先进行系统设计、(复审系记录划)与( 需求分析 ),拟定系统详细实行方案;然后进行( 构造设计 ),拟定软件构造。10. 层次构造上一层是下一层(抽象),下一层是上一层(求精)。11. 模块独立概念是(模块化)、(抽象)、(信息隐蔽)和局部化概念直接成果。12. 模块耦合强弱取决于(模块间接口复杂限度)、(调用模块方
9、式)和通过接口信息。13. 设计出软件初步构造后来,应当进一步分解或合并模块,力求减少(耦合)提高(内聚)。14. 在一段程序中,将多次浮现一组语句设计为一种子程序,供各种某些调用,这种状况浮现内聚称为(偶尔内聚)。15. 一种模块直接调用模块数目称为模块(扇出),一种模块被多少上级模块直接调用称为模块(扇入)。16. JSD是一种典型( 面向数据构造 )分析设计办法。17. Jackson图除了可以表达( 程序构造外 )外,还可以表达数据构造。18. 对于下列伪码,画出改进Jackson图( )A seqBC DA endADCB二、判断题1. 在软件开发中,采用原型系统方略重要困难是时间问
10、题。( )2. 数据流图从数据传递和加工角度,以图形方式描述数据流从输入到输出传播变换过程。( )3. 模块越多,开发成本越小。( )4. 耦合是指一种模块内各个元素彼此结合紧密限度。( )5. 内聚是指一种软件构造内各个模块之间互连限度度量。( )6. 在软件设计中应当尽量设计紧密耦合系统。( )7. 控制耦合往往可以通过度解由数据耦合来代替。( )8. 内容耦合又称为病态耦合,在诸多高档程序设计语言中不容许浮现任何形式内容耦合。( )9. 对于DFD图划分,重要依赖设计人员经验,一切都应依照设计人员经验拟定。( )10. 一笔交易、一种动作、甚至操作人员按一种按钮都可以看做是一次事物。(
11、)11. 如果一种模块内解决元素是彼此有关,并且以一种特定顺序执行,则这种内聚称为时间内聚。( )12. 概要设计阶段完毕重要文档是概要设计阐明书。( )三、多项选取题1. 需求分析阶段结束后,应交出文档中应当涉及( ABC )。A. 数据流图B. 数据字典C. 简要算法描述D. 项目经费预算2. 关于数据流图对的描述是( ACD )。A 数据流图是构造化系统分析重要工具。B 在数据流图中,*号标记相邻数据流只取其一。C 加工是以数据构造或数据内容作为加工对象。D 数据流图主图中必要涉及所有四种基本元素。3. 关于数据字典对的描述是( ABCD )。A 数据字典最重要用途是作为分析阶段工具。B
12、 实现数据字典三种常用办法有全人工过程、全自动过程、混合过程。C 数据字典应当容易更新和修改。D 可以采用卡片形式书写数据字典。4. ( ABCD )可以作为模块。A 过程B 子程序C 函数D 宏5. 下列关于模块描述,对的是( ABCD )。A 具备独立模块软件比较容易开发出来。B 独立模块比较容易测试和维护。C 模块独立限度可以通过内聚和耦合标定。D 独立模块可以完毕一种相对独立特定子功能。6. 耦合强弱取决于( ABC )。A 模块间接口复杂限度。B 调用模块方式。C 通过接口信息。D 模块内部各个元素彼此之间紧密结合限度。7. 在公共环境耦合中,公共环境可以是( ABCD )。A 全程
13、变量。B 共享通信区。C 内存公共覆盖区。D 存储介质上文献。8. 下列( AD )属于内容耦合。A 一种模块有各种入口。B 两个模块彼此之间只通过传递参数互换信息。C 两个模块之间存在全程变量,并通过全程变量传递信息。D 两个模块有某些代码重叠。9. 在软件设计中,(CD)耦合应尽量避免。A 控制B 数据C 内容D 标记四、简答题1. 需求分析任务是什么?参照答案:见书31页2. 如何建立目的系统逻辑模型?参照答案:在理解当前系统“如何做”基本上,抽取其“做什么”本质。在物理模型中有许多物理因素,但随着分析工作进一步,有些非本质因素就显得不必要了,因而需要对物理模型进行分析,区别本质和非本质
14、因素,去掉那些非本质因素就可获得反映系统本质逻辑模型。做法是:拟定目的系统与当前系统逻辑差别;将变化某些看作是新解决环节,对功能图及对象图进行调节;由外及里对变化某些进行分析,推断其构造,获得目的系统逻辑模型。3. 什么是构造化分析?“构造化”体当前哪里?参照答案:构造化分析办法是面向数据流进行需求分析办法。构造化分析办法使用数据流图DFD与数据字典DD来描述,面向数据流问题需求分析适合于数据解决类型软件需求描述。其核心思想是分解化简问题,将物理与逻辑表达分开,对系统进行数据与逻辑抽象。构造化分析办法体当前用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解,直到找到满足功能规定所
15、有可实现软件为止。4. 需求阐明书由哪些某些构成?各某些之间关系是什么?参照答案:软件需求阐明书普通涉及如下内容:1引言某些编写目;项目背景 (应涉及:a.项目委托单位、开发单位和主管部门;b该软件系统与其她系统关系。) ; 定义;(列出文档中所用到专门术语定义和缩写词原文。)参照资料。2任务概述目的;运营环境;条件与限制。3数据描述静态数据;动态数据 (涉及输入数据和输出数据) ;数据库描述 (给出使用数据库名称和类型) ;数据词典;数据采集。4功能规定功能划分;功能描述。5性能需求数据精准度;时间特性(如响应时间、更新解决时间、数据转换与传播时间、运营时间等);适应性(在操作方式、运营环境
16、、与其她软件接口以及开发筹划等发生变化时,应具备适应能力。)6运营需求顾客界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障解决。7其她规定如可使用性、安全保密、可维护性、可移植性等。8附录5. 为什么数据流图要分层?参照答案:为了表达数据解决过程数据加工状况,用一种数据流图是不够。为表达稍为复杂实际问题,需要按照问题层次构造进行逐渐分解,并以分层数据流图反映这种构造关系。6. 什么是加工逻辑?参照答案:加工逻辑就是解决逻辑,加工逻辑是对加工过程抽象描述。加工逻辑详细实现就是加工过程。加工逻辑是指顾客对这个加工逻辑规定,即加工输入数据流与输出数据流之间逻辑关系。加
17、工逻辑重要是阐明加工做什么,而不是描述详细加工过程,如采用哪些加工单元、如何控制执行等实现细节。7. 依照下列描述,画出教材征订系统第一层数据流图。学生入学后到教材科订书,教材科依照教材库存状况分析与否需要买书,如需购买,则向书店购买。各种资金往来通过学校会计科办理。参照答案:8. 构造化设计办法基本思想是什么?它如何与SA办法相衔接?参照答案:构造化设计办法基本思想是SA是构造化分析办法简称。构造化分析办法是面向数据流进行需求分析办法。其核心思想是分解化简问题,将物理与逻辑表达分开,对系统进行数据与逻辑抽象。构造化分析办法体当前用抽象模型概念,按照软件内部数据传递、变换关系,自顶向下逐级分解
18、,直到找到满足功能规定所有可实现软件为止。构造化设计是在构造化分析基本上完毕。构造化设计属于面向数据流设计办法。在需求分析阶段,通过SA办法,解决了一种核心问题:信息流。数据流是软件开发人员考虑问题出发点和基本。数据流从系统输入端向输出端流动,要经历一系列变换或解决。用来体现这个过程数据流图(DFD):事实上就是软件系统逻辑模型。构造化设计要解决任务,就是在上述需求分析基本上,将DFD图映射为软件系统构造。换句话说,此类设计办法容许把用DFD图表达系统逻辑模型以便地转换成对于软件构造初始设计描述。构造化设计办法基本思想是将系统划提成某些独立功能模块,这些模块按照一定组织层次构造起来形成软件构造
19、,通过自顶向下逐渐细化办法将用数据流图表达信息转换成程序构造设计描述。从构造化分析到构造化设计工具转变: 构造化分析成果 构造化设计成果 数据流图 初始构造图生存周期字典数据某些 设计数据字典伪码+实现方面 伪码实体关系图+数据库性 数据库设计事务框图 分层/细化事务模型9. 什么是模块、模块化?参照答案:模块是数据阐明、可执行语句等程序对象集合,模块可以单独被命名并且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划提成若干个模块,每个模块具备一种子功能,把这些模块集总起来构成一种整体,可以完毕指定功能,实现问题规定。模块化设计这一概念取消。10. 阐明并比较
20、概要设计阐明书与需求分析阐明书内容。参照答案:P54P98(1)两个阐明书都涉及引言,内容基本相似;(2)任务概述某些概要设计阐明比需求阐明增长了需求概述;(3)需求阐明重要通过静态、动态数据,数据库描述,数据字典和数据采集等内容进行数据描述;(4)需求阐明中重要某些是功能规定、性能规定、运营需求以及其她规定,它目是全面地、精准地描述了系统要“做什么”。需求阐明书中还也许涉及数据流图、数据字典、IPO图等描述系统逻辑模型。(5)概要设计阐明则对系统总体构造、各个接口、数据构造、运营、出错、安全、维护进行详细设计,它目是描述系统“如何做”,往往包括了各模块解决阐明和接口阐明以及系统构造图。(6)
21、概要设计阐明是建立在需求阐明基本上。11. 用Jackson图表达下图所示二维表格:学生名册表头姓名性别年龄学号表体该学生名册由表头和表体两某些构成。其中表头又顺序涉及表名和字段名。表体可由任意行构成,每行涉及学生姓名、性别、年龄和学号。参照答案:学生名册行*学号年龄性别姓名字段名表名表体表头12. 指出下列数据流图中存在问题。OF32FB2PB31QD33D134CE3E父图 子图参照答案:1、父图没有输入数据流;2、子图输入数据流应当是C,而不是B;3、子图输出数据流应当只有D和E,而不应有F。软件工程形成性考核答案第五、六章 一、填空题1. 详细设计工具备(图形工具)、表格工具和语言工具
22、。2. 为使用流程图描述构造华程序,限制流程图有五种基本控制构造(顺序型)、(选取型)、(while型循环)、until循环、多状况型选取。3. HIPO图是由一组(IPO)图和一张(HC)图构成。4. IPO图由(输入)、解决和(输出)三个框构成。这个图特点是可以直观显示三者之间关系。5. 面向对象技术是一整套关于如何看待(软件系统)和(现实世界)关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造软件办法学。面向对象办法是一种运用(对象)、(类)、(封装)、(聚合)、消息传送、多态性等概念来构造系统软件开发办法。6. 面向对象软件工程办法是面向对象办法在(软件工程)领域全面应用。
23、7. UML定义涉及(UML语义)和(UML表达法)两个某些。二、判断题1. 详细设计是在概要设计之后进行。它运用概要设计成果,对系统中每个模块给出足够过程性描述。( )2. 程序设计语言中应绝对禁止使用GOTO语句。( )3. PAD图在设立了五种基本控制构造后,还容许递归调用。( )4. UML设定目的之一是运用面向对象概念来构造系统模型。( )5. 类是关于对象性质描述,由办法和数据集成。( )三、简答题1. 详细设计任务是什么?参照答案:1为每个模块拟定采用算法,选取某种恰当工具表达算法过程,写出模块详细过程性描述;2拟定每一模块使用数据构造;3拟定模块接口细节,涉及对系统外部接口和顾
24、客界面,对系统内部其他模块接口,以及模块输入数据、输出数据及局部数据所有细节。4要为每一种模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定测试,模块测试用例是软件测试筹划重要构成某些,普通应涉及输入数据,盼望输出等内容。2. 依照伪码画出NS图。STARTIF A THENBLOCKBCEND BLOCKEND IFSTOP3. 依照伪码画出NS图。STARTIF A THENX1DO UNTIL BELSEX2YEND IFZSTOP参照答案:AT FX2X1UNTIL BYZ4. 依照伪码画出PAD图。STARTSWITCH PCASE 1: A; break;CASE
25、2: B; break;CASE 3: C; break;Default;STOP参照答案:1AP2B3C5. 简述什么是“对象”,什么是“类”。参照答案:人们要进行研究任何事物均可看作对象,例如详细事物、抽象规则、筹划和事件。类定义是具备相似属性和服务一组对象集合,它为属于该类所有对象提供了统一抽象描述,其内部涉及属性和服务两个重要某些。(类是具备相似属性、操作、关系对象集合总称。)6. UML内容涉及哪些某些?参照答案:原则建模语言UML重要内容可以由下列五类图来定义. 用例图。是静态图。行为图。交互图。实现图。软件工程形成性考核答案第七、八、九章一、填空题 1. 软件(程序)(文档)。
26、2. 程序效率是指程序执行速度和(程序占用存储空间)。 3. 软件测试办法有(分析办法)和(非分析办法)又称黑盒法。 4. 实现容错重要手段是(冗余)和(防错程序设计)。 5. 软件测试配备重要涉及(测试筹划)、(测试用例)和测试程序等。 6. 软件测试环节重要涉及(单元测试)、集成测试、确认测试和(系统测试)。 二、判断题1. 独立编译是指将一种大程序不同程序单元分别编译,然后重新连接整个程序段。( )2. 为保证程序安全,必要做到程序中没有任何错误存在,即容错。( )3. 如果把软件开发所需资源画成一种金字塔,人是最基本资源。( )4. 软件测试只对软件编码进行查错和纠错工作,不需对软件筹
27、划和软件设计进行查错。( )5. 软件测试目是为了证明一种软件设计没有错误,只有无任何错误软件才干使用。( )6. 在进行软件测试之前,一方面应当假设软件是没有错误。( )7. 软件测试中,应当尽量穷尽所有数据,以便保证测试质量。( )8. 鉴定覆盖不一定包括条件覆盖,条件覆盖也不一定包括鉴定覆盖,鉴定/条件覆盖是同步满足这两种覆盖原则逻辑覆盖。( )三、多项选取题1. 程序设计语言特点涉及( ABCD )。A. 名字阐明B. 类型阐明C. 初始化D. 循环和分支控制构造2. 编码风格涉及( ABCD )。A. 源程序文档化B. 数据阐明办法C. 语句构造D. 输入/输出办法3. 被动式防错检
28、查项目涉及(BD)。A. 周期性进行标志检查B. 表达式中与否有分母为0状况C. 周期性进行链表连接状况检查D. 栈深度与否对的4. 软件测试重要涉及( ABC )方面差错和纠错。A. 软件筹划B. 软件设计C. 软件编码D. 软件价格5. 软件维护环节重要涉及(ABC)。A. 分析和理解程序B. 修改程序C. 重新验证程序D. 维护组织四、简答题1. 什么是编码风格?为什么要强调编码风格?参照答案:编码风格又称程序设计风格或编程风格。编码目的从强调效率转变为强调清晰。良好编码风格能在一定限度上弥补语言存在缺陷,而如果不注意风格就很难写出高质量程序。特别当各种程序员合伙编写一种很大程序时,需要
29、强调良好而一致编码风格,以便互相通讯,减少因不协调而引起问题。总之,良好编码风格有助于编写出可靠而又容易维护程序,编码风格在很大限度上决定着程序质量。2. 编码风格有哪几种方面问题?分别需要注意什么?参照答案:编码风格涉及四个方面,即源程序文档化,数据阐明办法,语句构造和输入输出办法。源程序文档化重要涉及选取标记符(变量和标号)名字、安排注释以及程序视觉组织等。在编写程序时,要注意数据阐明风格。为了数据阐明便于理解和维护,必要注意下述几点。数据阐明顺序应规范。进而有助于测试,排错和维护。阐明先后顺序固定。例如,按常量阐明、简朴变量类型阐明、数组阐明、公用数据块阐明、所有文献阐明顺序阐明。在类型
30、阐明中还可进一步规定。例如,可按如下顺序排列:整型量阐明、实型量阐明、字符量阐明、逻辑量阐明。当用一种语句阐明各种变量名时,应当对这些变量按字母顺序排列。对于复杂数据构造,应运用注释阐明实现这个数据构造特点。在设计阶段拟定软件逻辑构造,但编码阶段任务是构造单个语句。构造语句要简朴、直接,不要为了提高效率而使语句更为复杂。1使用原则控制构造2尽量使用库函数3一方面应当考虑可读性4注意GOTO语句使用5其她须注意问题(1)避免使用ELSE GOTO和ELSE RETURN构造。(2)避免过多循环嵌套和条件嵌套;(3)数据构造要有助于程序简化。(4)要模块化,使模块功能尽量单一化,模块间耦合可以清晰
31、可见。(5)对递归定义数据构造尽量使用递归过程。(6)不要修补不好程序,要重新编写,也不要一味地追求代码复用,要重新组织。(7)运用信息隐蔽,保证每一种模块独立性。(8)对太大程序,要分块编写、测试,然后再集成。(9)注意计算机浮点数运算特点。尾数位数一定,则浮点数精度受到限制。(10)避免不恰本地追求程序效率,在改进效率前,要作出关于效率定量预计。(11)保证所有变量在使用前都进行初始化。(12)遵循国标。输入输出信息是与顾客使用直接有关。输入输出方式和格式应当尽量作到对顾客和谐,尽量以便顾客使用。一定要避免因设计不当给顾客带来麻烦。这就规定,源程序输入输出风格必要满足人体工程学需要和系统能
32、否为顾客接受。因而,在软件需求分析阶段和设计阶段,就应基本拟定输入输出风格。3. 比较下列两段语句,从编码风格角度分析其优、劣。程序段一:if abthenif xythen b=yelsea=xend ifelsea=bend if程序段二:/ position_x is the position x of object;position_y is the position y of object;/if ab thena=belseif position_xposition_y thenb=position_yelsea=position_xend ifend if参照答案:第二段程序优于
33、第一段。注释起到提示作用,利于程序阅读者对程序段全貌理解缩进格式清晰显示程序中逻辑判断构造。变量命名方式表白变量含义。4. 软件质量反映在哪些方面?参照答案:软件质量反映了如下三方面问题。1软件需求是度量软件质量基本,不符合需求软件就不具备质量。2在各种原则中定义了某些开发准则,用来指引软件人员用工程化办法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。3往往会有某些隐含需求没有明确地提出来。例如,软件应具备良好可维护性。如果软件只满足那些精准定义了需求而没有满足这些隐含需求,软件质量也不能保证。5. 什么是黑盒测试法?什么是白盒测试法?参照答案:黑盒测试法把程序当作一种黑盒子,完全
34、不考虑程序内部构造和解决过程。黑盒测试是在程序接口进行测试,它只检查程序功能与否能按照规格阐明书规定正常使用,程序与否能恰本地接受输入数据产生对的输出信息,并且保持外部信息完整性。黑盒测试又称为功能测试。白盒测试法前提是可以把程序当作装在一种透明白盒子里,也就是完全理解程序构造和解决过程。这种办法按照程序内部逻辑测试程序,检查程序中每条通路与否都能按预定规定对的工作。6. 什么是逆向工程?参照答案:逆向工程就是分析已有程序,谋求比源代码更高档抽象体现形式。普通以为,凡是在软件生命周期内,将软件某种形式描述转换为更抽象形式活动都可称为逆向工程。7. 什么是软件配备管理?参照答案:软件配备管理(S
35、CM)是贯穿于整个软件过程中保护性活动。由于变化也许发生在任意时间,SCM活动被设计来(1)标记变化,(2)控制变化,(3)保证变化被恰本地实现,以及(4)向其她也许有兴趣人员报告变化。8. 简述软件测试原则。参照答案:测试原则如下:(1)测试前要认定被测试软件有错,不要以为软件设有错。(2)要预先拟定被测试软件测试成果。(3)要尽量避免测试自己编写程序。(4)测试要兼顾合理输入与不合理输入数据。(5)测试要以软件需求规格阐明书为原则。(6)要明确找到新错与已找到旧错成正比。(7)测试是相对,不能穷尽所有测试,要据人力物力安排测试,并选取好测试用例与测试办法。(8)测试用例留作测试报告与后来重
36、复测试用,重新验证纠错程序与否有错。9. 解释概念:测试用例。测试用例就是测试用输入数据。10. 简述测试方案基本目的以及涉及重要内容。参照答案:测试方案基本目的是拟定一组最也许发现某个错误或某类错误测试数据。测试方案涉及预定要测试功能、应当输入测试数据和预期成果。11. 简述鉴定覆盖、条件覆盖、鉴定/条件覆盖三种办法原则以及它们之间互有关系。参照答案:鉴定覆盖是只被测试程序段中不但每个语句必要至少执行一次,并且每个鉴定每种也许成果都应当至少执行一次,也就是每个鉴定每个分支都至少执行一次(真假分支均被满足一次)。条件覆盖含义是,不但每个语句至少执行一次,并且使鉴定表达式中每个条件都取到各种也许成果。鉴定/条件覆盖是指选用足够多测试数据,使得鉴定表达式中每个条件都取到各种也许值,并且每个鉴定表达式也都取到各种也许成果,条件覆盖比鉴定覆盖功能强,由于它使鉴定表达式中每个条件都取到了两个不同成果,鉴定覆盖却只关怀整个鉴定表达式值。鉴定覆盖不一定包括条件覆盖,条件覆盖也不一定包括鉴定覆盖,鉴定/条件覆盖同步满足这两种覆盖原则逻辑覆盖。12. 依照下图,给出按照途径覆盖原则生成覆盖途径集。参照答案:1,2,31,2,6,71,4,5,31,4,5,6,7