一、选择题1.在软件开发的各种资源中,(D)是最重要的资源。A开发工具B方法C硬件环境D人员2.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(D)。A.程序、数据B.程序、文档C.程序D.程序、数据、文档3.软件是一种(B)产品。A、有形B、逻辑C、物质D、消耗4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生5.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(A)A.软件危机B.软件工程C.程序设计革命D.结构化程序设计6.“软件危机”产生的主要原因是(A)。A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件7.软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A固有的B人为的C可消除的D不可降低的8.软件危机是指在软件开发和(C)过程中遇到的一系列严重问题。A开发B使用C维护D更新9.为了解决软件危机人们提出了用(B)的原理来设计软件,这就是软件工程诞生的基础。(A)运筹学(B)工程学(C)软件学(D)数学10.在软件工程时期,决定软件质量的主要因素是(A)A.管理水平B.个人程序技术C.小组技术水平D.硬件的发展11.以下哪一项不是软件危机的表现形式(C)(A)成本高(B)生产率低(C)技术发展快(D)质量得不到保证12.软件管理工作涉及到的直接对象不包括(B)。A.软件开发人员B.硬件设备C.项目经费D.软件项目13.软件工程方法学有三个要素,它们是(A)A.方法、工具和过程B.质量、进度和成本C.顺序、分支和循环D.入口、过程、出口14.软件工程中描述生命周期的瀑布模型一般包括计划、(A)、设计、编码、测试、维护等几个阶段。A.需求分析B.需求调查C.可行性分析D.问题定义15.瀑布模型把软件生存周期划分为软件计划、软件开发与(C)三个阶段,而每一阶段又可分为若干更小的阶段。A.详细设计B.可行性分析C.运行与维护D.测试与排错16.下列哪个模型没有采用迭代的思想(A)A.瀑布模型B.渐增模型C.螺旋模型D.RUP模型17.4:下列关于瀑布模型的描述正确的是(D)。A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开18.瀑布模型本质上是一种(A)模型。A.线性顺序B.顺序迭代C.线性迭代D.早期产品19.快速原型模型的主要特点之一是(D)A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件20.瀑布模型存在的问题是(B)。A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求21.软件定义的目的主要是(A)A.明确系统的目标B.明确系统具体该做什么C.明确系统该如何做D、系统值不值得做。22.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性23.一个项目是否开发,从经济上来说是否可行,归根结底是取决于对(A)A.成本的估算B.项目计划C.工程管理D.工程网络图24.瀑布模型的关键不足在于(B)(A)过于简单(B)不能适应需求的动态变更(C)过于灵活(D)各个阶段需要进行评审25.可行性研究的目标是(B)。A.开发项目B.项目值得开发否C.规划项目D.维护项目26.软件可行性研究一般不考虑(D)(A)是否有足够的人员和相关的技术来支持系统开发(B)是否有足够的工具和相关的技术来支持系统开发(C)待开发软件是否有市场、经济上是否合算(D)待开发的软件是否会有质量问题27.软件需求分析的任务不应包括(C)。A问题分析B信息域分析C结构化程序设计D确定逻辑模型28.在需求分析中,分析员要从用户那里解决的最重要的问题是(A)。A要让软件做什么B要给该软件提供哪些信息C要求软件工作效率如何D要让软件具有什么样的结构29.软件需求分析应确定的是用户对软件的(A)。A.功能需求和非功能需求B.性能需求C.非功能需求D.功能需求30.软件项目计划一般不包括以下哪项内容(D)(A)培训计划(B)人员安排(C)进度安排(D)软件开发标准的选择和制定31.结构化分析方法(SA)是一种面向(C)的需求分析方法。A.对象B.数据结构C.数据流D.控制流32.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。A数据流图B数据词典C结构化英语D判定表与判定树33.需求规格说明书在软件开发中具有重要的作用,但其作用不应当包括(D)。A软件设计的依据B用户和开发人员对软件要“做什么”的共同理解C软件验收的依据D软件可行性分析的依据34.进行需求分析可以使用多种工具,但(B)是不适用的。A、数据流程图B、判定表C、状态转换图D、数据字典35.在SD方法中全面指导模块划分的最重要的原则是(D)A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性36.模块(C),则说明模块的独立性越强。A.耦合越强B.扇入数越高C.耦合越弱D.扇人数越低37.软件需求规格说明书的内容不应当包括(B)。A对重要功能的描述B对算法的详细过程性描述C软件确认准则D软件的性能38.需求分析是由分析员经过了解用户的要求,认真细致地调研、分析,最终应建立目标系统的逻辑模型,并写出(B)。(A)模块说明书(B)软件规格说明书(C)项目开发计划(D)合同文档39.下列工具哪一个是需求分析阶段常用工具?(D)A、PADB、PDLC、盒图D、数据流图40.以下各种耦合按从强到弱排列正确的是(C):(A).内容耦合,控制耦合,数据耦合,公共环境耦合。(B).内容耦合,数据耦合,控制耦合,公共环境耦合。(C).内容耦合,公共环境耦合,控制耦合,数据耦合。(D).控制耦合,内容耦合,数据耦合,公共环境耦合。41.进行需求分析可使用多种工具,但(B)是不适用的。A数据流图BPAD图CE-R图D数据字典42.模块的内聚性最高的是(D)A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚43.模块(A),则说明模块的独立性越强。A.内聚越强B.扇入数越高C.内聚越弱D.扇人数越低44.在SD中,概要设计的结果是提供一份(A)。A.模块说明书B.框图C.程序D.数据流图45.结构化设计在软件开发中用于(B)。A、测试设计B、概要设计C、程序设计D、详细设计46.PDL是一种过程设计语言,又叫(C)(A)系统流程图(B)盒图(C)伪码(D)功能图47.在详细设计算法工具中,(C)能够清楚地表现程序的层次结构(A)系统流程图(B)层次图(C)PAD图(D)功能图48.在软件详细设计过程中不采用的描述工具是(D)。A、判定表B、流程图C、PAD图D、DFD图49.详细设计算法工具中,(A)图是一种历史悠久的图,直观地描述了程序的控制流程。(A)程序流程图(B)系统流程图(C)PAD图(D)盒图50.下列哪一个不是详细设计时使用的工具。(A)(A)系统流程图(B)盒图(C)PAD图(D)判定树51.以下各种内聚按从强到弱排列正确的是(D):A.偶然内聚,逻辑内聚,时间内聚,顺序内聚,功能内聚B.偶然内聚,顺序内聚,逻辑内聚,时间内聚,功能内聚C.逻辑内聚,时间内聚,顺序内聚,功能内聚,偶然内聚D.功能内聚,顺序内聚,时间内聚,逻辑内聚,偶然内聚52.详细设计的方法不包括(D)A.Jackson数据结构方法B.结构化设计方法C.面向对象设计法D.程序流程图53.一般来说,详细设计的方法包括结构化设计方法、(C)和Jackson方法。A.PAD图B.判定树C.面向对象设计法D.程序流程图54.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是(A)。A、PADB、PDLC、IPOD、判定树55.结构化程序设计的一种基本方法是(D)。A、筛选法B、递归法C、迭代法D、逐步求精法56.PDL是软件开发过程中用于(C)阶段的描述工具。A、需求分析B、概要设计C、详细设计D、编程57.程序的三种基本控制结构是(B)。A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移58.结构化程序设计主要强调的是(C)。A、程序的效率B、程序的执行速度C、程序的易读性D、程序的规模59.详细设计的任务是确定每个模块的(A)。A、算法B、功能C、调用关系D、输入输出数据60.编程风格又叫程序设计风格,其中最重要的因素是(A)A.逻辑简明清晰,易读易懂B.逻辑复杂,以免别人读懂C.算法复杂,保护自己的编程技术D.逻辑简明清晰,但不容易读懂61.程序的三种基本控制结构的共同特点是(D)。A、不能嵌套使用B、只能用来写简单程序C、已经用硬件实现D、只有一个入口和一个出口62.软件详细设计主要采用的方法是(C)A、结构程序设计B、模型设计C、结构化设计D、流程图设计63.指出PDL是下列哪种语言?(B)A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言64.软件的三种结构是(B)(A)过程、子程序、分程序(B)顺序、条件、循环(C)递归、堆栈、队列(D)调用、返回、转移65.目前要开发一个人事工资数据库应用系统,一般情况下不选用的开发语言是(D)(A)JAVA语言(B)C#语言(C)DELPHI语言(D)汇编语言66.程序中,语句构造应当简单直接,为提高效率,不应该(C)A.尽量避免使用逻辑‘非’运算B.尽量避免使用复杂的表件组合表达式C.为节省空间把多个语句写在同一行D.使用括号使逻辑表达式的运算次序清晰直观67.程序算法复杂性,不能度量的是(B)A.模块内部的复杂性B.软件效益的多少C.开发周期及内部潜伏错误的多少D.软件开发费用的多少68.(D)这种维护性活动数量较大,占整个维护活动的50%。A.改正性维护B.适应性维护C.预防性维护D.完善性维护69.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B)A.改正性维护B.适应性维护C.完善性维护D.预防性维护70.影响软件可维护的因素中,(A)描述不正确。(A)系统功能强大(B)系统结构合理(C)系统所选用的程序语言合适(D)有充分的经过版本控制的文档71.软件可维护性,主要表现在(D)(A)软件容易使用(B)软件文档丰富(C)软件功能强大(D)软件的可理解性、可测试性、可修改性、可移植性72.在编程时,要使源程序文档化,其中不包括(D)A.标识符的命名规范,能正确代表实体B.做必要的有意义的注释C.程序清单布局呈阶梯状分布D.程序不需要写任何注释73.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为(B)A.可用性B.可靠性C.正确性D.完整性74.根据是否按照工程化原则实行来划分,软件维护分为(B)A.改正性维护、适应性维护、完善性维护B.非结构化维护和结构化维护C.预防性维护和非预防性维护D.正确维护和错误维护75.为增加软件功能和性能而进行的软件修改维护过程是(C)。A、校正性维护B、适应性维护C、完善性维护D、预防性维护76.维护中用来指出修改的工作量、工作性质、优先权、修改的事后性质的文档是(B)。A、软件需求说明B、软件修改报告C、软件问题报告D、测试分析报告77.维护中,因修改全局或公用数据而引起的错误是(B)。A、文档副作用B、数据副作用C、编码副作用D、设计副作用78.生产性维护活动是(A)。A、修改设计B、理解设计C、解释数据结构D、理解功能79.测试用例不仅要选用合理的测试输入数据,还需要选用不合理的测试输入数据,这样能更多地(A),提高程序的可靠性。A、找出未发现的错误B、提高代码测试覆盖率C、加强代码的规范率D、以上说法都不对80.黑盒测试依据(A),检查程序是否满足。A、需求中的功能B、概要设计中的设计C、详细设计中的设计D、与用户口头约定二、名词解释1.软件危机:是落后的软件生产方式无法满足迅速增