1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C)。A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段三.判断1.软件的开发与运行经常受到硬件的限制和制约。(√)2.模块内的高内聚往往意味着模块间的松耦合。(√)5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)8.UML只能应用于软件系统模型的建立。(X)10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)一、填空1.结构化分析方法的分析策略是___自顶向下逐步求精_______。2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。4.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。5.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。6.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。7.计算机辅助软件工程这一术语的英文缩写为_CASE_______。8.McCall提出的软件质量模型包括______11_____个软件质量特性。9.软件结构是以____模块_______为基础而组成的一种控制层次结构。10.软件概要设计的主要任务就是__软件结构的设计______。11.结构化程序设计方法是使用___三种基本控制结构(条件\控制\循环)____构造程序。12.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2、面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。A、Booch方法B、UML语言C、OMT方法D、Coad方法3、功能模型中所有的(A)往往形成一个层次结构。在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、(A)应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。A、问题域分析B、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过(B)的传递。A、接口B、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组(B)A、说明B、方法C、过程D、类型9、面向对象的主要特征除对象唯一性、封装、继承外,还有(A)A、多态性B、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有(B)A、隐藏复杂性B、信息隐藏C、即存类的重用D、类的开发13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是(B)A、数据流图B、状态图C、系统结构图D、时序图14、人们常用的评价软件质量的4个因素是(B)A.可维护性、可靠性、健壮性、效率B.可维护性、可靠性、可理解性、效率C.可维护性、可靠性、完整性、效率D.可维护性、可靠性、移植性、效率15、软件可移植性是用来衡量软件的(C)重要尺度之一。A.通用性B.效率C.质量D.人机界面16、为了提高软件的可移植性,应注意提高软件的(D)A.使用的方便性B.简洁性C.可靠性D.设备独立性20.在软件质量因素中,软件在异常条件下仍能运行的能力称之为软件的(B)A.可靠性B.健壮性C.可用性D.安全性21.在软件设计中,设计复审是和软件设计本身一样重要的环节,其主要的目的和作用是为了能够(B)A.减少测试工作量B.避免后期付出高代价C.保证软件质量D.缩短软件开发周期22.在软件危机中表现出来的软件质量差的问题,其原因是(B)A.用户经常干预软件系统的研发工作B.没有软件质量标准C.软件研发人员不愿意遵守软件质量标准D.软件研发人员素质太差23.软件工程管理是(D)一切活动的管理。A.需求分析B.软件设计过程C.模块设计D.软件生命期24.软件管理的主要职能包括(D)A.人员管理、计划管理B.标准化管理、配置管理C.成本管理、进度管理D.(A)和(B)26.结构化设计方法在软件开发中用于(A)。A、概要设计B、详细设计C、程序设计D、测试用例设计28.软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。A、应用范围B、内部逻辑C、功能D、输入数据29.软件维护费用高的主要原因是(C)。A、人员少B、人员多C、生产率低D、生产率高30.软件质量必须在(D)加以保证。A、开发之前B、开发之后C、可行性研究过程中D、设计与实现过程中31.确认测试主要涉及的文档是(A)。A、需求规格说明书B、概要设计说明书C、详细设计说明书D、源程序33.为了适应软硬件环境变化而修改软件的过程是(C)。A、校正性维护B、完善性维护C、适应性维护D、预防性维护35.软件质量保证应在(A)阶段开始。A.需求分析B.设计C.编码D.投入使用36.在McCall软件质量度量模型中,(C)属于面向软件产品修改。A.可靠性B.可重用性C.适应性D.可移植性37.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A.结合B.隐藏C.封装D.抽象39.瀑布模型的存在问题是(B)A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求40.软件测试方法中的静态测试方法之一为(A)A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析41.程序的三种基本控制结构是(B)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移43.详细设计的结果基本决定了最终程序的(C)A.代码的规模B.运行速度C.质量D.可维护性44.结构化程序设计主要强调的是(D)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性46.黑盒测试在设计测试用例时,主要研究(A)A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明47.若有一个计算类型的程序,它的输入量只有一个,其范围是从输入的角度考虑一组测试用例,设计这组测试用例的方法是(C)A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法48.下列属于维护阶段的文档是(C)A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告49.快速原型模型的主要特点之一是(D)A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件52.下列模型属于成本估算方法的有(A)A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法53.能力成熟度模型可以(A)A、使软件组织建立一个有规律的成熟的软件过程B、使用软件没有错误C、使软件开发人员掌握更多的技术D、避免开发人员跳槽55.数据字典是对数据定义信息的集合,它所定义的对象都包含于(A)A.数据流图B.程序框图C.软件结构D.方框图56.需求分析阶段的任务是确定(D)。A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能58.软件详细设计的主要任务是确定每个模块的A。A.算法和使用的数据结构B.外部接口C.功能D.编程59.程序的三种基本控制结构是(B)。A.过程、子程序积分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移60.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(B)。A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑61.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行(B)A.测试B.度量C.评审D.维护64.对象是OO方法的核心,对象的类型有多种,通常把例如飞行、事故、演出、开会等等,称之为(C)A.有形实体B.作用C.事件D.性能说明65.在面向对象软件开发方法中,类与类之间主要有以下结构关系(A)A.继承和聚集B继承和一般C聚集和消息传递D继承和方法调用66.以下哪一项不是软件危机的表现形式(C)A成本高B生产率低C技术发展快D质量得不到保证67.以下哪一项不是面向对象的特征(D)A)多态性B)继承性C封装性D过程调用68.面向对象模型主要由以下哪些模型组成(A)A对象模型、动态模型、功能模型B对象模型、数据模型、功能模型C数据模型、动态模型、功能模型D对象模型、动态模型、数据模型69.软件项目计划一般不包括以下哪项内容(D)A培训计划B人员安排C进度安排D软件开发标准的选择和制定三、简答1.简述软件工程方法学所包含的内容。软件工程方法学包括三个要素,这就是方法、工具和过程。其中,方法是完成软件开发的各项任务的技术方法,回答“如何做”的问题;工具是为方法的运用提供自动的或半自动的软件支撑,过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。2.什么是软件过程?它与软件工程方法学有何关系?(1)软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。(2)软件过程是软件工程方法学的3个重要组成部分之一。(3)软件工程方法学包含三个要素:方法、工具和过程。3.分析软件危机产生的主要原因有哪些?答:导致软件危机的主要原因有:(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(