「软件工程导论试题(打印)」46043.pdf
软件工程导论试题(老师给的)一.选择 1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。、详细计划 B、可行性分析 C、运行阶段 D、测试与排错 2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段 3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标()。A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段 4、软件工程的出现主要是由于(C)。A.程序设计方法学的影响 B.其它工程科学的影响 C 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为()A、相互排斥 、相互补充 C、独立使用 D、交替使用 、UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 、基于数据的数据流开发方法 8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法 9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流 10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计 11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型 、对象模型 C、螺旋模型 D、层次模型 12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段 B、设计阶段 C、编码阶段 、测试阶段 二.填空 21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。解析系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。2.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。解析成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。3.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。解析 渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。2.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。解析在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。5.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。解析汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。26在 J方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。解析JP 方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在S方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。2详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。解析详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。28所有软件维护申请报告要按规定方式提出,该报告也称(软件问题 )报告。解析在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。2.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。解析面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FRTAN 语言)、PAAL 语言、C 语言和L/语言。解析计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如 FO、ORL 有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如 MTLAB、P1、FORTAN 语言都是工程计算中常用的语言。三判断 1软件的开发与运行经常受到硬件的限制和制约。()2.模块内的高内聚往往意味着模块间的松耦合。()3 Jackon 图只能表达程序结构,不能表达数据结构。(X)4上述数据流图表示数据 A 和同时输入变换成 C。(X)5软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X).判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。()7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)8ML 只能应用于软件系统模型的建立。(X)容错就是每个程序采用两种不同的算法编写。(X)10.软件测试的目的是为了无一遗漏的找出所有的错误。()四、名词解释题(本大题共 5 小题,每小题 3 分,共 1分)31.软件开发环境-是指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。32.错误推测法-在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。33.黑盒测试法 把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求 34.软件质量保证 是向用户及社会提供满意质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动 35.瀑布模型 将软件生存周期各个活动规定为依线性顺序链接的若干阶段的一种软件开发模型。瀑布模型把软件生命周期划分为八个阶段:【问题的定义】、【可行性研究】、【软件需求分析】、【系统总体设计】、【详细设计】、【编码】、【测试和运行】、【维护】八个阶段又可归纳为三个大的阶段:【计划阶段】、【开发阶段】和【运行阶段】五、图 中,模块 G 为判定,判断涉及到模块、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 12 个改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。解:图 b 为一个改进方案,将模块 的位置提高,使其作用范围为控制范围的子集,减少模块 之间的联系。40请使用 PA图和 PDL 语言描述在数组 A(1)A(10)中找最大数的算法。解:PL 语言:N=1 HLE N=0 D IF A(N)A(N)MAX A(N+1);LE MAX=A(N)EDIF;=N+;NDHILE;P图:解析人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。41.根据下列条件使用等价类划分法设计测试用例。某一 8 位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-17177,如 0,012,-065 解:()划分等价类并编号,如下表示:(分)