1.软件工程学概述一、填空题1.软件=()+()。)、()、()、2.软件生存周期一般可分为系统工程、(测试、运行与维护阶段。3.在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于()。4.根据软件工程学的七项基本原则,DOS中把标准输入、输出设备视为文件,这一思想体现了软件工程学的()原则。二、判断题1.软件是一种逻辑实体,而不是具体的物理实体。()))2.软件工程是开发、运行、维护和修复软件的系统方法。(3.螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示,(4.在软件开发中,采用原型系统策略的主要困难是时间问题。()三、选择题1.软件工程的概念是哪年提出的(A.1988C.1948B.1968D.1928)。2.软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且也影响软件的()。B.可靠性D.安全性)。A.可维护性C.可移植性3.就软件产品的特点,以下说法错误的是(A.软件具有高度抽象性,软件及软件生产过程具有不可见性B.同一功能软件的多样性,软件生产过程中的易错性C.软件在开发和维护过程中的不变性D.不同开发者之间思维碰撞的易发性4.瀑布模型的关键不足在于(A.过于简单C.过于灵活)。B.各个阶段需要进行评审D.不能适应需求的动态变更)。B.开发的软件可维护性差D.开发的软件可靠性差5.以下哪一项不是软件危机的表现形式(A.开发的软件不满足用户需要C.开发的软件价格便宜6.以下说法错误的是()。A.文档仅仅描述和规定了软件的使用范围及相关的操作命令B.文档也是软件产品的一部分,没有文档的软件就不成软件C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D.高质量文档对于发挥软件产品的效益有着重要的意义7.下列哪个阶段不是软件生存期三个阶段的内容(A.计划阶段C.编码阶段B.开发阶段D.维护阶段)。8.软件是一种(A.程序C.逻辑产品A.软件工程)。B.数据D.物理产品)。B.软件周期9.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C.软件危机称为()A.可用性D.软件产生10.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性B.可靠性C.正确性11.瀑布模型存在的问题是(A.用户容易参与开发C.用户与开发者易沟通D.完整性)。B、缺乏灵活性D.适用可变需求12.软件生存周期中时间最长的是(A.总体设计C.软件测试以()的编制是很重要的。A.需求说明C.软件文档四、问答题)阶段。B.需求分析D.软件维护13.为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所B.概要说明D.测试计划1.简述瀑布模型的阶段划分和各阶段的主要任务以及瀑布模型存在的问题。2.什么叫软件危机?3.软件危机主要有哪几种表现?4.什么叫软件工程?5.简述软件工程的基本原则。6.简述CMM的五个等级。7.简述演化模型、增量模型、螺旋模型、喷泉模型和基于构件的开发模型的特点。8.简述敏捷软件开发的价值观和开发原则。2.需求分析单元测试一、填空题1.可行性研究主要集中在以下方面:(2.可行性研究的目的是(3.需求分析的基本任务是准确的回答(4.需求分析应交付的主要文档是()。)、()。)。)、社会法律可行性。二、判断题1.可行性研究的最根本的任务是对以后的行动方针提出建议。2.可行性研究的结果有可能将软件开发项目否定。3.可行性研究的根本的目的不是解决问题,而是确定问题是否值得去解。三、选择题1.软件可行性研究实质上是要进行一次(A.简化、压缩的C.彻底的B.详细的D.深入的)。)需求分析、设计过程。2.软件开发的需求活动,其主要任务是(A.给出软件解决方案C.定义模块算法B.给出系统模块结构D.定义需求并建立系统模型3.需求分析阶段的研究对象是()。A.用户要求C.系统要求B.分析员要求D.软硬件要求)。(多项选择)4.需求分析阶段结束后,应交出的文档中应该包括(A.数据流图C.简明的算法描述5.需求分析最终结果是产生(B.数据字典D.项目的经费预算)B.需求规格说明书D.可行性分析报告)研究的一方面。B.经济可行性A.项目开发计划C.设计说明书A.技术可行性6.研究开发所需要的成本和资源是属于可行性研究中的(C.社会可行性7.需求分析阶段的任务是确定(A.软件开发方法C.软件开发费D.法律可行性)B.软件开发工具D.软件系统的功能四、简答题1.需求分析的任务是什么?2.需求工程具体包括哪些步骤?每个步骤的具体任务是什么?4.结构化分析与设计单元测试一、填空题1.数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是()。2.软件的面向数据流的设计方法,利用其定义的映射方法可以把数据流图变换成软件结构:在映射中,一般将数据流分为()和事务流两种。)、()和()。3.组成数据流图的四个主要成分是数据的源点/终点,(4.数据流图和数据字典共同构成了系统的(部分。5.数据字典的内容包括六项:(()。)、()、()模型,是需求规格说明书的主要组成)、()、()、6.结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为()数据流图。二、判断题1.对于DFD图的划分,主要依赖设计人员的经验,一切都应根据设计人员的经验确定。2.逻辑输入数据流是离物理输入端最远,且沿同一输入路径输入的数据流。3.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。三、选择题1.关于数据流图正确的描述是()。A.数据流图是结构化系统分析的主要工具。B.在数据流图中,*号标识相邻的数据流只取其一。C.加工是以数据结构或数据内容作为加工对象的。D.数据流图的主图中必须包括全部四种基本元素。2.程序流程图(框图)中的箭头代表(A.数据流C.调用关系()A.3±1C.15±1A.需求分析C.详细设计)。B.控制流D.组成关系3.从心理学角度看,对数据流程图的数据处理泡进行分解,一次分解为多少个泡为宜。B.7±2D.18±2B.概要设计D.软件维护4.按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作()四、简答题1.什么是结构化分析?“结构化”体现在哪里?2.为什么数据流图要分层?3.变换分析设计与事务分析设计有什么区别?简述其设计步骤。5.人机界面设计、编码单元测试一、填空题1.windows操作系统给用户提供的是__________界面。2.TheoMandel在界面设计著作中提出了_________、________和_______3条黄金原则。3.__________阶段的工作是把软件的详细设计变换成用某一种程序设计语言编写的可实现的源程序。4.基于构件的软件开发过程由__________和__________两个并行的活动组成。5.3C模型是关于构件的一个指导性模型,它由__________、__________和__________3个不同方面的描述组成。6.源程序文档化包括__________、__________以及程序的__________等。7.注释说明了_____的功能,它分为_____和_____。8.目前最常用的构件标准有国际对象管理组织的__________,Microsoft的__________,Sun公司的__________。二、判断题1.详细设计是在概要设计之后进行的。它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述。())2.程序设计语言中应绝对禁止使用GOTO语句。(3.高级程序设计语言从应用的角度看,可以分为基础语言、结构化语言和专用语言三大类。()4.面向对象技术是构件组装的基础。()三、选择题1.如果编写系统软件,可选用(A、FoxProC、COBOLB、CD、FORTRAN))语言。2.不适合作为科学工程计算的语言是(A、PascalC、FortranB、CD、Prolog3.符合数据说明顺序规范的是()。A、全程量说明、局部量说明、类型说明、常量说明B、全程量说明、局部量说明、常量说明、类型说明C、类型说明、常量说明、全程量说明、局部量说明D、常量说明、类型说明、全程量说明、局部量说明6.软件测试、软件维护单元测试一、填空题1.软件测试的方法有__________和_________,其中后者主要有白盒测试法和黑盒测试法。2.软件测试的步骤主要包括__________、__________、确认测试和__________。3.软件测试方法中,黑盒测试法和白盒测试法是常用的方法,其中黑盒测试法主要是用于测试__________。4.软件测试是保证软件质量的重要措施,它的实施应该是在__________。5.从程序中去掉GOTO语句时,需要改动程序中的许多相关部分,这种对程序的修改属于__________。6.边界值分析的基本思想是____________________。7.编码阶段产生的错误由__________检查出来。8.软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护类型中以__________维护所占的维护量最大。9.自顶向下渐增式测试不需要编写_____模块,只需要编写_____模块。10.自底向上渐增式测试不需要编写_____模块,只需要编写_____模块。11.预防性维护指为了提高软件_____和_____而对软件做出的修改。12.软件维护的过程主要包括__________、_________、__________和_________。13.再工程包含__________和_________,其中后者主要由软件工程师来完成。14.WEB工程的过程框架包括________、________、_______、______和_______。二、判断题1.软件测试只对软件的编码进行查错和纠错工作,不需对软件计划和软件设计进行查错。()2.软件测试的目的是为了证明一个软件的设计没有错误,只有没有任何错误的软件才能使用。()))3.在进行软件测试之前,首先应该假设软件是没有错误的。(4.软件测试中,应该尽量穷尽所有的数据,以便保证测试的质量。(5.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖,判定/条件覆盖是同时满足这两种覆盖标准的逻辑覆盖。())6.适应性维护的目的是为了适应计算机软、硬件环境的变化。(7.成功的测试是没有发现错误的测试。())8.软件维护的前提是不能失去原有软件的基本功能。(9.软件测试计划始于需求分析阶段,完成于软件设计阶段。(10.软件测试时经常要输入无效的,不合理的数据进行测试。(11.调试是在测试出错误之后,找到错误的位置并改正的过程。(12.改正性维护是改正软件中测试阶段未发现的错误。())))13.再工程的主要目的是为遗留系统转化为可演化系统提供一条现实可行的途径。()三、选择题1.与确认测试阶段有关的文档是(A、需求规格说明书C、详细设计说明书2.下面说法正确的是()。)。B、概要设计说明书D、源程序A、经过测试没有发现错误说明程序正确B、测试的目标是为了证明程序没有错误C、成功的测试是发现了迄今尚未发现的错误的测试D、成功的测试是没有发现错误的测试3.()能够有效地检测输入条件的各种组合可能会引起的错误。B、边界值分析D、因果图)B、隐含的错误D、运行时误操作)A、等价类划分C、错误推测4.软件维护产生的副作用,是指(A、开发时的错误C、因修改软件而造成的错误5.使用程序设计的控制结构导出测试用例的测试方法是(A、黑盒测试C、边界测试B、白盒测试D、系统测试6.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(A、纠正性维护C、完善性维护7.下列属于维护阶段的文档是(A、软件规格说明C、软件问题报告B、适应性维护D、预防性维护)B、用户操作手册D、软件测试分析报告)8.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是(A、条件覆盖法C、边界值分析法B、等价分类法D、错误推测法))9.经过严密的软件测试后所提交给用户的软件产品中(A、软件不再包含任何错误C、所提交给用户的可执行文件不会含有错误10.等价划分测试方法属于()B、还可能包含少量软件错误D、文档中不会含有错误。A、黑盒测试C、边界测试B、白盒测试D、系统测试)11.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(A、集成测试C、验收测试B、恢复测试D、单元测试)12.在用户界面层次上对软件进行测试属于哪种测试方法(A、黑盒测试C、边界测试13.下列文档与维护人员有关的有(A、软件需求说明书C、概要设计说明书B、白盒测试D、系统测试)B、项目开发计划D、操作手册14.单元测试是发现编码错误,集成测试是发现模块的接口错误,确认测试是为了发现功能错误,那么系统测试是为了发现(A、接口错误C、性能、质量不合要求)的错误。B、编码错误D、功能错误四、简答题1.静态测试的方法有哪些?动态测试有哪些测试?2.什么是正向工程?什么是逆向工程?3.简述软件测试的原则。4.简述判定覆盖、条件覆盖、判定/条件覆盖三种方法的原则以及它们之间的相互关系。5.什么是软件维护?软件维护通常包括哪四类活动?7.软件项目管理单元测试一、填空题1.由于软件项目的特殊性,将项目管理技术用于软件项目管理上,其有效的项目管理集中在4个P上:_____、_____、_____和_____。2.软件度量用以对产品及开发产品的_____进行度量。3.面向规模的度量是一种利用软件的规模对某些软件属性进行度量的方法。软件规模通常用_____和_____来衡量。4.软件配置审查的任务是检查软件的所有文档资料的_____和_____。5.McCall模型给出一个包括__________、__________和_________3个层次的软件质量度量模型框架。6.软件可靠性通常用“MTBF=MTTF+MTTR”来进行计算,其中MTBF是__________,MTTF是_________,MTTR是__________。7.CoCOMo模型通常用来对__________进行估算。8.Gantt图主要用来建立__________。9.影响软件风险的因素包括_______、_________、__________和_________。二、选择题1.下列模型属于成本估算方法的有(A、COCOMO模型C、McCabe度量法)B、McCall模型D、时间估算法)的一切活动的管理。2.软件工程管理对软件项目的开发管理,即对整个软件(A、软件项目B、生存期C、软件开发计划D、软件开发3.要显示描绘软件开发项目各作业的依赖关系,应选择()。A、Gantt图B、工程网络C、COCOMO模型D、数据流图4.采用Gantt图表示软件项目进度安排,下列说法中正确的是()A、能够反映多个任务之间的复杂关系B、能够直观表示任务之间相互依赖制约关系C、能够表示哪些任务是关键任务D、能够表示子任务之间的并行和串行关系5.不属于软件项目进度安排的主要方法是()。A、工程网络图B、Gantt图C、任务资源表D、IFD图6.在软件项目管理过程中作为软件开发工作的第一步的一个关键活动是(A、编写规格说明书B、制定测试计划C、编写需求说明书D、制定项目计划7.一个项目是否开发,从经济上来说是否可行,归根结底是取决于()。A、成本估算B、项目计划C、工程管理D、工程网络图8.以下说法错误的是()。A、软件配置管理简称SCIB、软件配置项是配置管理的基本单位C、软件配置实际上是一动态的概念D、软件工程过程中某一阶段的变更均要引起软件配置的变更9.COCOMO估算模型是()A、模块性成本模型B、结构性成本模型C、动态单变量模型D、动态多变量模型三、简答题1.何谓软件项目管理?软件项目管理与传统项目管理有不同点与相同点?2.何谓软件项目管理过程?其目的是什么?3.什么是软件配置管理?简述软件配置管理的主要活动有哪些?)。