一、单选题1.可行性分析研究的目的是()A.争取项目B.项目值得开发否C.开发项目D.规划项目2.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型3.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件开发D.软件系统的功能4.数据字典是用来定义()中的各个成份的具体含义的。A.流程图B.功能结构图C.系统结构图D.数据流图5.程序的三种基本控制结构的共同特点是()A.只能用来描述简单程序B.不能嵌套使用C.单入口,单出口D.仅用于自动控制系统6.软件设计的方法有多种,()方法不属于面向数据流的设计方法。A.基于Jackson图的设计B.基于IDEF0图的设计-结构化方法-数据流C.交换分析设计D.事务分析设计7.为高质量地开发软件项目,在软件结构设计时,必须遵循()原则。A.信息隐蔽B.质量控制C.程序优化D.数据共享8.软件复杂性主要体现在()A.数据的复杂性B.程序的复杂性C.控制的复杂性D.问题的复杂性9.为了提高软件的可维护性,在编码阶段应注意()A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格10.面向对象的特征之一是()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.软件调试技术包括()A.错误推断B.集成测试C.回溯法D.边界值分析20.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQICB.SQMCC.SQRCD.SQDC21.软件复杂性度量的参数包括()①规模:②难度:③结构:④智能度A.效率B.规模C.完整性D.容错性22.模块的耦合性最强的是()A.数据耦合B.控制耦合C.公共耦合D.内容耦合23.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性24.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计25.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明26.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是()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.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册32.下列模型属于成本估算方法的有()A.COCOMO模型B.McCall模型C.McCabe度量法D.时间估算法33.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。(第九章)A.结合B.隐藏C.封装D.抽象34.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试35.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是()A.把软件划分成模块B.确定模块之间的调用关系C.确定各个模块的功能D.设计每个模块的伪代码36.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护37.“软件危机”是指()A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统38.确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试B恢复测试C验收测试D单元测试39.盒图(N-S图)为()提供了有力的工具。A、系统分析B软件的自动化生成C自动分析数据D测试软件40.程序的三种基本控制结构是()A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移41.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型42.下列有关软件工程的标准,属于行业标准的是()A.GBB.DINC.ISOD.IEEE43.DFD中的每个加工至少需要()A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流44.为了提高模块的独立性,模块之间最好是()A.控制耦合B.公共耦合C.内容耦合D.数据耦合45.软件设计的方法有多种,()方法不属于面向数据流的设计方法。A.基于Jackson图的设计B.基于IDEF0图的设计C.交换分析设计D.事务分析设计46.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合B.公共耦合C.标记耦合D.内容耦合47.详细设计与概要设计衔接的图形工具是()A.DFD图B.程序图C.PAD图D.SC图48.测试的关键问题是()A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例49.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生50.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚51.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计52.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性53.下列关于功能性注释不正确的说法是()A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.注释用来说明程序段,需要在每一行都要加注释C.可使用空行或缩进,以便很容易区分注释和程序D.修改程序也应修改注释54.下列关于效率的说法不正确的是()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.Petri网B.数据流图C.PDLD.PAD图61.需求分析阶段的基本任务是准确地回答()。A.系统的规模有多大B.系统如何实现C.系统有些什么输入信息D.系统必须做什么62.在软件结构设计时,下面哪一项不是应该遵循()的原则。A.信息隐蔽B.抽象C.数据共享D.逐步求精63.软件详细设计的主要任务是确定每个模块的()A、算法和使用的数据结构B外部接口C功能D编程64.软件是一种()A、程序B数据C逻辑产品D物理产品65.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。A.技术可行性B.经济可行性C.社会可行性D.法律可行性66.中级结构性成本模型COCOMO是一个()A、静态单变量模型B动态单变量模型C静态多变量模型D动态多变量模型67.PAD图为()提供了有力的工具。A、系统分析B软件的自动化生成C自动分析数据D测试软件68.在软件结构设计完成后,对于下列说法,正确的是()A.软件层数过多,可能是因为各管理子模块功能过于复杂的原因。B.对软件宽度影响最大的因素是扇入。C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,说明该模块过分复杂,缺少中间层69.源程序的效率与()阶段确定的算法的效率直接有关。A.概要设计B.总体设计C.单元设计D.详细设计70.关于软件测试,下面说法正确的是()。A.软件测试只能依靠手工进行B.子模块并入系统时,只要此子模块是经过单元测试,且没有问题的,就不用再对系统进行测试了。C.软件不能进行“穷举”测试D.测试计划是在软件测试开始之初制定的。71.关于白盒法覆盖程度的论述中正确的是()。A.语句覆盖:选择测试用例使程序中每条语句至少被执行一次B.条件覆盖:选择测试用例使每个条件都满足C.判定覆盖:选择测试用例使程序中每个判定和判定中的条件至少都获得一次“真”值和一次“假”值。D.条件组合覆盖:将所有的判定条件都组合起来执行。72.黑盒测试着重测试软件的()A.设计B.模块C.功能D.数据73.()发现错误能力最弱。A.判定覆盖B.语句覆盖C.条件覆盖D.条件组合覆盖74.在进行软件测试时,首先应当进行(),然后再进行组装测试,最后再进行有效性测试。A.组织测试B.集成测试C.确认测试D.单元测试75.由软件预发行的最终客户们在一个或多个客户场所对软件进行的测试,称为()。A.α测试B.集成测试C.平行运行D.β测试76.以下说法正确的是()。A.等价划分法是一种有效的白盒测试方法。B.在等价划分法中,为了提高测试效率,一个测试用例可以覆盖多个有效等价类。C.等价划分法的关键是按照用例来确定等价类。D.设计测试方案时,要么采用等价划分法,要么采用边界值分析法。77.从现存的程序代码中抽取有关数据、体现结构和处理过程的设计信息,以便恢复设计结果的过程,称为()A.代码重构B.逆向工程C.数据重构D.正向工程78.决定软件可维护性的因素有5个,即可理解性、()、可修改性、可移植性、可重用性。A.完备性B.安全性C.可测试性D.灵活性79.软件维护工作过程中,第一步是先确认()A.维护环境B.维护类型C.维护要求D.维护者80.以下哪种不属于用面向对象方法建立的分析模型()A.动态模型B.功能模型C.对象模型D.状态模型81.可维护性的特性中,相互矛盾的是()A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性