教育软件工程练习题一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内)1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A.PascalB.CC.FortranD.Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()A.教正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。A.同一类B.不同类C.同一应用D.不同应用15.只有单重继承的类层次结构是()层次结构。A.网状型B.星型C.树型D.环型16.在屏蔽硬件错误的冗错技术中,冗余附加技术有()A.三模冗余B.信息冗余C.冗余备份程序的存储及调用D.关键程序和数据的冗余存储和调用17.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为()A.可用性B.可靠性C.正确性D.完整性18.下列文档与维护人员有关的有()A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册19.采用Gantt图表示软件项目进度安排,下列说法中正确的是()A.能够反映多个任务之间的复杂关系B.能够直观表示任务之间相互依赖制约关系C.能够表示哪些任务是关键任务D.能够表示子任务之间的并行和串行关系20.下列模型属于成本估算方法的有()A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法21.在下列工具与环境中()属于较早期的CASE。A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境22.Putnam成本估算模型是一个()模型。A.静态单变量B.动态单变量C.静态多变量D.动态多变量23.在McCall软件质量度量模型中,()属于面向软件产品修改。A.可靠性B.可重用性C.适应性D.可移植性24.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQICB.SQMCC.SQRCD.SQDC25.软件复杂性度量的参数包括()A.效率B.规模C.完整性D.容错性26.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。A.结合B.隐藏C.封装D.抽象27.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试28.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求29.软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析30.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护31.第一个体现结构化编程思想的程序设计语言是()A.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言32.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移33.在详细设计阶段,经常采用的工具有()A.PADB.SAC.SCD.DFD34.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性35.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模36.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性37.IDEF。图反映系统()A.怎么做B.对谁做C.何时做D.做什么38.经济可行性研究的范围包括()A.资源有效性B.管理制度C.效益分析D.开发风险39.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出()的回答。A.确定B.行或不行C.正确D.无二义40.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能41.软件工程的纵向分解是把软件开发分为几个()A.模块B.阶段C.子系统D.过程42.McCall软件质量度量模型中属于面向软件产品操作的是()A.适应性B.可重用性C.可测试性D.可用性43.快速原型模型中,用于及早向用户提交一个原型系统的是()A.实验型原型B.探索型原型C.提交型原型D.演化型原型44.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用?()A.文档B.数据C.编码D.设计45.软件维护费用高的主要原因是()A.生产率高B.生产率低C.人员多D.人员少46.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是()A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%B.完善性占25%,适应性占50%,校正性占21%,其他维护占4%C.完善性占21%,适应性占25%,校正性占50%,其他维护占4%D.完善性占21%,适应性占50%,校正性占25%,其他维护占4%47.下列属于用白盒技术设计测试用例的是()A.错误推测B.逻辑覆盖C.等价类划分D.因果图48.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言是()A.PASCALB.FORTRANC.DL/1D.C49.在软件详细设计过程中不.采用的工具为()A.判定表B.PDLC.数据流图D.IPO图50.根据输入输出的数据结构产生程序结构的设计方法是()A.PARNAS方法B.JACKSON方法C.WIRTH方法D.DIJKSTRA方法51.在软件设计中,为解决一个大而复杂的问题把软件系统划分成一个个完成某一特定的子功能的方法称为()A.细化B.结构化C.模块化D.抽象化52.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?()A.由底向上B.自顶向下C.随机D.回归53.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为()A.控制耦合B.公共耦合C.标记耦合D.数据耦合54.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?()A.可行性分析B.需求分析C.概要设计D.详细设计55.结构化方法的基本原则是功能的分解和()A.模块化B.信息隐蔽C.抽象D.细化56.数据字典和数据流程图共同构成了系统的()A.物理模型B.逻辑模型C.原型D.目标模型57.软件需求不.应包括()A.功能要求B.环境需求C.标准实现的空间需求D.用户界面要求58.项目开发计划是什么类型的文档?()A.设计性B.进度表示C.需求分析D.管理性59.瀑布模型是一种什么模型?()A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型60.软件工具一般是为软件人员开发和维护活动而使用的()A.硬件环境B.说明书C.软件D.程序二、填空题1.瀑布模型是以文档为驱动、适合于________的软件项目的模型。2.纯收入是指在整个生存周期之内的________与投资之差。3.数据项是指________数据单元。4.软件概要设计的主要任务就是________。5.结构化程序设计方法是使用________构造程序。6.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个_______集成的过程。7.软件维护的内容包括校正性维持,适应性维护、_________和预防性维护。8.CASE工具的平台集成指工具运行在相同的________平台上。9.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和_______。10.将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,得出开发项目的总成本。这种成本估算方法称为________。11.在软件开发过程中要产生大量的信息,要进行大量的修改,能协调软件开发,并使混乱减到最低程度。12.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有的软件。13.McCall提出的软件质量模型包括个软件质量特性。14.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、、可使用性和效率。15.为了便于对照检查,测试用例应由输入数据和预期的两部分组成。16.程序设计语言的心理特性主要表现在、简洁性、传统性、局部性和顺序性。17.软件结构是以为基础而组成的一种控制层次结构。18.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、。19.结构化语言是介于自然语言和之间的一种半形式语言。20.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=。21.软件项目计划是______________阶段的结果产品。22.McCall质量度量模型高层特性包含面向软件产品操作、产品修改和______________三个方面的11个特性。23.在面向对象方法中,______________是子类共享父类数据结构和方法的机制,体现了类之间的一种关系。24.演化提交模型是在______________的基础上,项目开发的各阶段都进行增量开发。25.软件编码是将______________阶段产生的算法,用某种程序设计语言编写成程序的过程。26.IDEF0用来描述系统的功能活动及其联系,建立系统的______________模型。27.两个模块之间把简单的数值作为参数传递,这种耦合方式为______________。28.把在几个模块中都出现的一些毫无联系的处理序列抽出来组成一个新的模块,那么这个模块的内聚性是______________。29.成本效益分析的目的是从______________角度评价开发一个新的软件项目是否可行。30.软件工程的主要思想是在软件生产中用______________代替传统手工方法。三、名词解释(每小题3分,共15分)1.信息隐蔽2.集成测试3.多态性4.CASE5.SA6.软件生存周期模型7.数据字典(DD)8.内聚性9.JSP方法10.多态性11.软件工程过程12.基线13.静态测试14.PAD15.需求分析四、简答题1.简述软件工程目标和面临的主要问题。2.简述结构化程序设计方法的基本要点。3.简述文档在软件工程中的作用。4.简述提高可维护性的方法。5.简述容错技术的四种主要手段,并解释。6.以G.J.M