1软件工程复习资料一、名词解释:1.软件:是能够完成预定功能和性能的可执行的计算机程序和使程序正常执行所需要的数据,加上描述程序的操作和使用的文档。2.软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的方法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。3.软件生命周期:一个软件从开始计划起,到废弃不用止。4.数据词典:是对数据流图中的每个数据规定一个定义条目,并把所有条目按一定的次序排列起来,以便查阅。5.数据流图:用于描述系统中数据是如何流动和变换的,以及描述使数据流进行变换的功能。6.加工说明:是对DFD中每个加工所作的说明。7.SRS:(SoftwareRequirementSpecification)软件需求说明,是软件开发人员在分析阶段需要完成的文档。8.信息隐藏:是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。9.模块:是一个拥有明确定义的输入、输出和特性的程序实体。10.模块化设计:把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块。11.模块的作用范围:受这个模块中判定影响的模块。12.SA:即结构化分析,是一种面向数据流的需求分析方法,结构化分析模型中主要的描述工具包括:DFD、DD、加工逻辑等。13.软件结构:是软件系统的模块层次结构,表示了软件的组成模块及其调用关系和模块间接口。14.结构图:又称SC图,是精确表达软件结构的图形表示方法。15.内聚:是对软件内部各个成分的联系程度的度量。16.耦合:是对一个软件结构内不同模块之间互连程度的度量。17.IPO:输入、处理、输出图,描述模块的具体操作加工,结构图中的每一个模块均可以用一张IPO图来描述。18.PDL:ProgramDesignLanguage,一种过程设计的表达工具,用于描述过程设计。19.测试用例:就是测试数据+期望结果。20.纠错:找到错误的位置并纠正错误。21.测试:为了发现程序的错误而执行程序的过程。22.白盒测试:又称为结构测试。它将程序看成装在一个透明的盒子里,测试者完全知道程序的内部逻辑结构和处理过程。23.黑盒测试:又称为功能测试。它将程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按规格说明书的规定正常使用,程序是否能接收输入数据并产生正确的输出信息。24.程序图:是一种简化的流程图,在路径测试中,它是用来考察测试路径的有用工具。25.OOA:26.用例图:用以显示不同的用户角色和这些用户角色如何使用系统的图。227.对象:是系统中用来描述客观事物的一个实体。28.状态图:用来描述一个特定对象的所有可能状态及引起状态变化的事件。29.β测试β测试是由软件的最终用户在一个或多个用户场所进行,由用户负责记下遇到的所有问题,只有当α测试达到一定的可靠程度时,才能开始β测试。30.模块是一个拥有明确定义的输入、输出和我的程序实体。31.经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。35.投资回收期投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。35.测试用例就是测试数据+期望结果35.单元?答:是软件设计的最小单元,即程序中最少的独立编译单位。35.驱动模块?答:代替被测模块父模块的模块称为该模块的驱动模块。36.桩模块?答:代替被测模块子模块的模块称为该模块的驱动模块。37.测试软件?答:为了完成单元测试而编写的软件为测试软件。38.集成测试答:将所有模块按概要设计要求组装系统的时候进行的测试。39.回归测试答:重新执行以前做过的全部测试或部分测试即为回归测试。40.经济可行性答:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。。41.投资回收期答:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。42.测试用例答:就是测试数据+期望结果43.模块的作用范围一个模块的作用范围是指受该模块内一个判定影响的所有模块的集44.程序图是退化的程序流程图。也就是说,把程序流程图中每个处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫程序图。331.瀑布模型是将软件生存各个活动规定为依线性顺序联接的若干阶段的模型。它包括可行性分析、项目开发计划、需求分析、概要设计、详细设计、编码、测试和维护。它规定了由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。32.包含关系当两个或两个以上用例有共同的执行序列片断时,可以将这些执行序列片断抽出来,形成包含关系。4二、选择题1.软件是一种()。A.程序B.数据C.逻辑产品D.物理产品C2.分层DFD是一种比较严格又易于理解的描述方式,它顶层图描述了系统的()。A细节B输入与输出C软件的作者D绘制的时间B3.在软件需求分析中,开发人员要从用户那里解决的最重要的问题是()。A要让软件做什么B要给该软件提供哪些信息C要求软件工作效率怎样D要让软件具有何种结构A4.需求分析()A要回答“软件必须做什么?”B可概括为“理解,分析,表达”六个字C要求编写需求规格说明书D以上都对D4.瀑布模型的主要特点是()。A将开发过程严格地划分为一系列有序的活动B将过程分解为阶段C提供了有效的管理模式D缺乏灵活性A5.对于分层的DFD,父图与子图的平衡是指()。A父图与子图的输入输出数据流必须相同B子图必须继承父图的输入与输出流C父图与子图相应的输入输出数据流名字保持一致D子图可以有自己的输入输出数据流B6.SA方法的基本思想是()A自底向上逐步抽象B自底向上逐步分解C自顶向下逐步分解D自顶向下逐步抽象C7.一个模块把一个数值量作为参数传送给另一个模块。这两种模块之间的耦合是()。A.逻辑耦合B.数据耦合5C.控制耦合D.内容耦合B8.模块中的所有成分结合起来完成一项任务,该模块的内聚度是()的。它具有简明的外部界面,由它构成的软件易于理解、维护。A偶然性B顺序性C通信性D功能性D9.模块中所有成分引用共同的数据,该模块的内聚度是()的。A逻辑性B时间性C功能性D通信性D10.一个模块直接引用另一模块中的数据,这两个模块之间的耦合是()。A公共耦合B数据耦合C控制耦合D内容耦合D11.下列有关内聚度由低到高的排列顺序,()是正确的。A偶然性、时间性、功能性、通信性、逻辑性、顺序性、过程性B过程性、时间性、顺序性、功能性、通信性、逻辑性、偶然性C偶然性、逻辑性、时间性、过程性、通信性、顺序性、功能性D时间性、逻辑性、顺序性、功能性、通信性、偶然性、过程性C12.下列有关模块独立性的耦合度从低到高排列,()是正确的。A内容耦合、控制耦合、非直接耦合、特征耦合、数据耦合、外部耦合、公共耦合B非直接耦合、数据耦合、特征耦合、控制耦合、外部耦合、公共耦合、内容耦合C公共耦合、数据耦合、外部耦合、内容耦合、控制耦合、非直接耦合、特征耦合D控制耦合、特征耦合、数据耦合、非直接耦合、内容耦合、外部耦合、公共耦合B13.好的软件结构应该是()A高内聚、高耦合B高内聚、低耦合C低内聚、高耦合D低内聚、低耦合B14.为了提高模块(),当修改和维护模块时减少把一个模块的错误扩散到其他模块中的机会。A耦合性B独立性C内聚性D共享性B15.软件结构图的形态特征能反映程序重用率的是()。A.深度B.宽度C.扇入D.扇出C16.把结构化设计说成是面向数据流的设计,其原因是()。A.它定义了从数据流图向模块结构图的变换B.数据流的加工对应着模块结构图的模块C.从结构化系统分析的DFD着手6D.基本方法都是自顶向下的分解C17.软件详细设计的主要任务是对()进行的详细设计。A.算法和数据结构B.外部接口C.软件编码D.功能A18.结构化程序设计主要强调的是()A程序的规模B程序的效率C程序设计语言的先进性D程序的易读性D19.程序的三种基本控制结构是()A过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列D调用、返回和转移B20.黑盒测试在设计测试用例时,主要需要研究()。A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明A21.一般来说,与测试数据无关的文档是()。A需求规格说明书B设计说明书C源程序D项目开发计划D22.以下说法错误的是()。A语句覆盖是比较弱的覆盖标准B对于多分支的判定,判定覆盖要使每一个判定表达式获得每一种可能的值来测试C语句覆盖较判定覆盖严格,但该测试仍不充分D条件组合覆盖是比较强的覆盖标准C23.对软件是否能达到用户所期望的要求的测试称为()。A集成测试B有效性测试C系统测试D验收测试B24.单元测试是发现()错误,集成测试是发现()错误,确认测试是发现()错误,系统测试是发现()错误。A接口错误B编码上的错误C性能、质量不合要求D功能错误E需求错误F设计错误BADC25.确认测试计划是在()阶段制定的。7A可行性研究和计划B需求分析C概要设计D详细设计B26.可维护的特性中,相互矛盾的是()。A可维护性和可理解性B可测试性和可理解性C效率和可修改性D可理解性和可读性C27.软件工程学的目的应该是最终解决软件生产的()问题。A提高软件的开发效率B使软件生产工程化C消除软件的生产危机D加强软件的质量保证B28.CASE系统所涉及到的技术有两类:一类是支持软件()的技术;另一类是支持软件()的技术。A开发过程本身B开发方法管理C开发方法本身D开发过程管理AD29.软件生命周期中所话费用最多的阶段是()A详细设计B软件编码C软件测试D软件维护D30.下列选项中,制定项目进度计划的常用工具是()。APERTB甘特图C数据流图D系统流程图AB31.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件()。A工程管理B成本核算C人员培训D工具开发A32.描述类中某个对象的行为,反映了状态与事件关系的是()。A对象图B状态图C流程图D结构图B33.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A结合B隐藏C封装D抽象C39.产生软件危机的主要原因之一是()1.软件开发组织经费紧张2.软件开发人员自身的素质所决定的3.软件的生存期太长4.软件产品的价格过高240.瀑布模式把软件的开发分为()1.八个过程2.三个阶段3.八个阶段4.三个过程八个阶段441.可行性研究包括技术可行性、经济可行性和()1.环境、法律、运行可行性2.操作、运行、法律可行性3.资源、方式、环境可行性4.配置、方式、操作可行性242.在每层数据流图中,加工(处理)的个数不能超过()81.3~4个2.5个3.9个4.7个343.需求分析阶段使用的图形工具有()1.层次方框图、Warnier图2.层次图、Warnier图3.IPO图、结构图4.层次图、结构图144.6.软件需求验证含()1.一致性、完整性2.现实性、有效性3.一致性、完整性、现实性3.一致性、完整性、现实性、有效性445.事务型结构的DFD图经SD一级分解为()1.二叉树2.三叉树3.结点树4.平衡树146.下面说法正确的是()1.在开发一个软件的过程中,随着模块分解数目的加大,模块的成本将上升2.在开发一个软件的过程中,随着模块分解数目的加大,模块的成本将下降3.在开发一个软件的过程中,随着模块分解数目的加大,模块的开发成本将下降,连接成本将上升4.在开发一个软件的过程中,随着模块分解数目的加大,模块的开发成本将上升,连接成本将下降。347.通常我们使用的重复结构宏观上分有()1.WHILE型、UNTIL型2.IF-GOTO型、UNTIL型3.计数型、IF-GOTO型4.WHILE型、UNTIL型、计数型148.Warnier程序设计方法是()1.面向对象的2.面向数据流的3.面向数据结构的4.面向过程的349.编辑程序中没有()1.行编辑程序2.内容编辑程序3.屏幕编辑程序4.字编辑程序450.好的书写程序的格式是()1.左对齐