1一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。4.系统流程图是描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。6.结构化分析方法是面向_数据流_进行需求分析的方法。结构化分析方法使用_数据流图DFD_与_数据字典_来描述。7.继承性是自动地共享类、子类和对象中的方法和数据的机制。8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是(C)。A、低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合2.Jackson设计方法是由英国的M.Jackson提出的,它是一种面向(C)的软件设计方法。A、对象B.数据流C.数据结构D.控制结构3.试判断下列叙述中,哪个(些)是正确的(C)。a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.(A)是用户和设计交换最频繁的方法。A、原型化方法B、瀑布模型方法C.螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)。A、硬件环境B、软件开发的环境C.软件开发工具和软件开发的环境D、开发人员的素质6.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D)。A、PASCALB、VISUALBASICC.C++D、汇编语言7.软件测试的目的是?(D)A、证明软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误8.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能9.软件维护工作的最主要部分是(C)。A、校正性维护B、适应性维护C.完善性维护D、预防性维护210.PDL是(B)语言。A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言3.程序设计与算法描述题(共15分)11.根据下面的伪代码程序,完成相应要求。(8分)STARTIFC1THENWHILEC2DOfENDDOELSEBLOCKgpENDBLOCKENDIFREPEATUNTILC3qrENDREPSTOP1)画出程序流程图(4分)2)用N—S图描述(4分)1)程序流程图如下:4分3(2)N-S图如下:4分12.有下列伪码程序:STARTINPUT(M,N)IFM=10THENX=10ELSEX=lENDIFIFN=20THENY=204ELSEY=2ENDIFPRINT(X,Y)STOP设计该程序的语句覆盖和路径覆盖测试用例。(7分)设计该程序的语句覆盖和路径覆盖测试用例。1.M=9(或l0),N=l9(或20);2.M=l0(或=10),N=20(或=20)路径覆盖的测试用例为①M=9,N=19;②M=9、N=20;③M=l0,N=l9;④M=10,N=20一、选择题1、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(B)A.软件工程B.软件周期C.软件危机D.软件产生2、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(C)A、需求分析B、概要设计C、详细设计D、软件维护3、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是(A)A、探索型模型B、演化型模型C、实验型模型D、提交型模型4、程序设计语言的工程特性之一为(C)A、软件的可重用性B、数据结构的描述性C、抽象类型的描述性D、数据库的易操作性5、软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(A)A.可用性B.可靠性C.正确性D.完整性6、模块设计中,最不希望的内聚是(C)A、功能内聚B、通信内聚C、过程内聚D、偶然内聚7、实施快速原型模型方法开发软件的关键在于(D)A、CASE工具的支持B、如何开发演化型模型C、项目主管的支持D、开发人员的素质8、程序流程图(框图)中的箭头代表(A)。A.数据流B.控制流C.调用关系D.组成关系9、一个只有顺序结构的程序,其环形复杂度是(B)。A.0B.1C.3D.不确定的10、可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因此必须给出什么样的回答。(B)A.确定B.行或不行C.正确D.无二义11、结构化程序设计主要强调的是(D)A、程序的规模B、程序的效率C、程序设计语言的先进性D、程序易读性12、对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A、结合B、隐藏C、封装D、抽象13、软件概要设计结束后得到(B)5A、初始化的软件结构图B、优化后的软件结构图C、模块的接口图和详细算法D、程序编码14、软件需求是度量软件质量的基础,不符合需求的软件就不具备(B)A、软件的特点B、质量C、软件产品D、功能15、软件特性中,程序能够满足规格说明和完成用户业务目标的程度,称作(A)A、正确性B、移植性C、可靠性D、完整性16、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(C)的编制是很重要的。A、需求说明B、概要说明C、软件文档D、测试计划17、系统因错误而发生故障时,仍然能在一定程度上完成预期的功能,则把该软件称为(A)。A、软件容错B、系统软件C、测试软件D、恢复测试一、选择题1.软件产品的开发主要是(D)。A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是(C)时代。A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C)。A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是(A)阶段的任务。A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定(B)。A.开发项目B.项目值得开发否C.规划项目D.维护项目6.SA方法用DFD描述(D)。A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能7.软件概要设计结束后得到(B)。A.初始化的软件结构图B.优化后的软件结构图C.模块详细的算法D.程序编码8.软件设计阶段一般又可分为(B)。A.逻辑设计与功能设计B.概要设计与详细设计C.概念设计与物理设计D.模型设计与程序设计9.软件设计中划分模块的一个准则是(C)。A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合10.PDL是软件开发过程中用于(C)阶段的描述工具。A.需求分析B.概要设计C.详细设计D.编程11.软件测试的目的是(B)。A.试验性运行软件B.发现软件错误C.证明软件正确D.找出软件中全部错误12.软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。A.应用范围B.内部逻辑C.功能D.输入数据13.黑盒法是根据程序的(C)来设计测试用例的。A.应用范围B.内部逻辑C.功能D.输入数据14.下面的逻辑测试覆盖中,测试覆盖最弱的是(C)A.条件覆盖B.条件组合覆盖C.语句覆盖D.条件及判定覆盖15.把一组具有相似特性的对象组合在一起,称之为(C)。6A、多态性B、继承性C、类D、消息16.面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性B、完整性C、可移植性D、兼容17.软件生存周期中时间最长的是(D)阶段。A.需求分析B.概要设计C.测试D.维护18.与计算机科学的理论研究不同,软件工程是一门(C)学科。A.理论性B.原理性C.工程性D.心理性19.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段20.软件工程的出现主要是由于(C)。A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展21.在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D)A、工作阶段间的等待时间B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难22.SA方法的基本思想是(C)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.使用白盒测试方法时确定测试数据应根据(A)和指定的覆盖标准。A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能28.软件部件的内部实现与外部可访问性的分离,是指软件的(C)。A.继承性B.共享性C.封装性D.抽象性29.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是(A).A、设计稳定B、变换分析C、事务分析D、模块独立性30.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质31.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型B、对象模型C、螺旋模型D、层次模型732.对于分层的DFD,父图与子图的平衡指子图的输入、输出数据流同父图相应加工的输入、输出数据流(A)。A.必须一致B.数目必须相等C.名字必须相同D.数目必须不等33.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分析文档以及(B)A.软件的总结B.需求分析评审C.阶段性报告D.以上答案都不正确34.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(B)A.数据流图B.数据字典C.结构化语言D.判定表与判定树35.为了提高模块的独立性,模块内部最好是(C)。A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚37.数据流图是常用的进行软件需求分析的图形工具,其基本图形符号是(C)A.输入.输出.外部实体和加工B.变换.加工.数据流和存储C.加工.数据流.数据存储和外部实体D.变换.数据存储.加工和数据流38.软件结构使用的图形工具,一般采用(C)图。A.DFDB.PADC.SCD.ER39.在面向数据流的软件设计方法中,一般将信息流分为(A)A、变换流和事务流B、变换流和控制流C、事务流和控制流D、数据流和控制流40.程序的三种基本控制结构是(B)。A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移41.白盒测试方法重视(A)的度量。A.测试覆盖率B.测试数据多少C