南通大学软件工程复习题选择题1_第1页
南通大学软件工程复习题选择题1_第2页
南通大学软件工程复习题选择题1_第3页
南通大学软件工程复习题选择题1_第4页
南通大学软件工程复习题选择题1_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南通大学软件工程复习题选择题1一、单项选择题

(一)软件相关基本概念1.以下关于软件的描述,正确的是()A.软件就是程序B.软件是程序和数据的集合C.软件是程序、数据及相关文档的集合D.软件是可执行的程序代码答案:C解析:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及相关文档的完整集合。程序是按照事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。A选项只强调了程序,不全面;B选项缺少文档;D选项也不完整,所以正确答案是C。

2.软件危机的主要表现不包括()A.软件需求增长难以满足B.软件开发成本过高C.软件质量难以保证D.软件更新换代太快答案:D解析:软件危机主要表现在以下几个方面:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。软件更新换代快并不是软件危机的表现,相反,随着技术发展软件需要不断更新完善以适应新需求,所以答案是D。

3.软件工程的目的是()A.开发出功能强大的软件B.开发出高质量的软件C.开发出易于维护的软件D.用工程化的方法开发和维护软件答案:D解析:软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。它的目的是用工程化的方法开发和维护软件,涵盖了从软件定义到维护的整个过程,不仅仅是关注软件本身的功能、质量或可维护性等单一方面,所以答案是D。

(二)软件生命周期1.软件生命周期中花费时间最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护答案:D解析:软件维护是软件生命周期中持续时间最长的阶段。软件在交付使用后,由于各种原因,如用户需求变化、环境变化、软件发现缺陷等,需要不断进行维护,以保证软件的正常运行和满足用户新的需求。详细设计、软件编码和软件测试阶段在整个软件生命周期中所占时间相对较短,所以答案是D。

2.软件生命周期的瀑布模型,典型地刻画了软件生命周期的阶段划分,它将软件生命周期划分为()A.可行性研究、需求分析、设计、编码、测试、维护等阶段B.计划、需求分析、设计、编程、测试、运行维护等阶段C.需求调研、设计、编码、测试、维护等阶段D.计划、需求分析、编程、测试、维护等阶段答案:B解析:瀑布模型将软件生命周期划分为计划、需求分析、设计、编程、测试、运行维护等阶段。每个阶段都有明确的输入和输出,前一个阶段完成后才进入下一个阶段,如同瀑布流水一样。可行性研究包含在计划阶段中,需求调研也属于需求分析阶段的一部分,所以更准确的是B选项。

3.软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()A.概要设计B.详细设计C.可行性研究D.需求分析答案:D解析:需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答"系统必须做什么"这个问题,也就是确定软件系统的功能、性能、数据、界面等方面的要求。概要设计主要是设计软件的总体结构;详细设计是对概要设计的进一步细化;可行性研究是确定项目是否值得开发,所以答案是D。

(三)软件开发方法1.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性答案:D解析:结构化程序设计强调程序设计语言的易读性。它采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构,使得程序结构清晰,易于理解和维护,而不是主要关注程序的规模、效率或语言的先进性,所以答案是D。

2.面向对象方法中,对象是类的实例,对象具有以下特性()A.封装性、继承性、多态性B.封装性、模块化、多态性C.抽象性、继承性、模块化D.抽象性、封装性、模块化答案:A解析:面向对象方法中对象具有封装性、继承性和多态性。封装是将数据和操作数据的方法封装在一起;继承是子类继承父类的属性和方法;多态是指同一个操作作用于不同的对象可以有不同的解释,产生不同的执行结果。模块化不属于对象的特性,抽象性是面向对象方法的一个重要概念,但不是对象本身的特性,所以答案是A。

3.以下不属于面向对象设计原则的是()A.单一职责原则B.开闭原则C.依赖倒置原则D.过程调用原则答案:D解析:面向对象设计原则包括单一职责原则、开闭原则、依赖倒置原则、里氏替换原则、接口隔离原则、合成复用原则等。过程调用原则不属于面向对象设计原则,所以答案是D。

(四)软件需求分析1.软件需求规格说明书的作用不包括()A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据答案:D解析:软件需求规格说明书是需求分析阶段的最后成果,它是软件设计的依据,明确了用户与开发人员对软件要做什么的共同理解,也是软件验收的依据。软件可行性研究是在需求分析之前进行的,主要是确定项目是否可行,所以软件需求规格说明书不是软件可行性研究的依据,答案是D。

2.在需求分析中,描述系统功能的工具不包括()A.数据流图B.数据字典C.状态转换图D.程序流程图答案:D解析:数据流图用于描述系统中数据的流动和处理过程;数据字典对数据流图中出现的所有数据元素给出定义;状态转换图用于描述系统的状态变化。程序流程图是用于描述程序逻辑结构的工具,不属于需求分析中描述系统功能的工具,所以答案是D。

3.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件系统的功能D.软件系统的性能答案:C解析:需求分析阶段的主要任务是确定软件系统的功能,明确系统要做什么,包括功能需求、性能需求、数据需求、界面需求等。软件开发方法和工具是在后续的设计和开发阶段考虑的;软件系统的性能是需求分析中需要考虑的一部分,但更核心的是确定功能,所以答案是C。

(五)软件设计1.软件设计中划分模块的一个准则是()A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合答案:B解析:高内聚低耦合是软件设计中划分模块的重要准则。高内聚意味着模块内部各元素之间联系紧密,完成单一的功能;低耦合表示模块之间的联系松散,相互依赖程度低。这样的模块结构有利于软件的维护和扩展,所以答案是B。

2.软件概要设计阶段的主要任务不包括()A.软件结构设计B.数据库设计C.算法设计D.用户界面设计答案:C解析:软件概要设计阶段的主要任务包括软件结构设计、数据库设计、用户界面设计等,确定软件的总体框架和各部分之间的关系。算法设计是详细设计阶段的任务,所以答案是C。

3.以下关于软件设计模式的描述,错误的是()A.设计模式可以提高软件的可维护性和可扩展性B.常见的设计模式有创建型、结构型和行为型C.设计模式是一种复用设计经验的方法D.设计模式只适用于面向对象编程答案:D解析:设计模式可以提高软件的可维护性和可扩展性,是一种复用设计经验的方法。常见的设计模式分为创建型、结构型和行为型。设计模式不仅适用于面向对象编程,在其他编程范式中也有类似的概念和应用,所以答案是D。

(六)软件编码1.以下编程语言中,属于面向对象编程语言的是()A.C语言B.JavaC.FortranD.Pascal答案:B解析:Java是一种面向对象编程语言,具有封装、继承、多态等面向对象的特性。C语言是结构化编程语言;Fortran主要用于科学计算,是一种传统的编程语言;Pascal也是结构化编程语言,所以答案是B。

2.程序设计语言的选择不需要考虑的因素是()A.项目的应用领域B.算法和数据结构的复杂性C.程序员的编程习惯D.程序的开发成本答案:D解析:选择程序设计语言时需要考虑项目的应用领域,不同领域可能有更适合的语言;算法和数据结构的复杂性也会影响语言的选择;程序员的编程习惯也很重要,熟悉的语言能提高开发效率。程序的开发成本不是选择语言时首要考虑的因素,虽然可能会在一定程度上受到影响,但不是关键因素,所以答案是D。

3.代码审查属于软件编码阶段的()A.前期准备工作B.过程质量控制C.后期完善工作D.测试工作答案:B解析:代码审查是对代码进行检查和评审,发现其中的错误和问题,属于软件编码阶段的过程质量控制手段,能及时发现编码过程中的缺陷,提高代码质量,而不是前期准备、后期完善或测试工作,所以答案是B。

(七)软件测试1.软件测试的目的是()A.发现软件中的错误B.证明软件的正确性C.评估软件的性能D.改进软件的质量答案:A解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性。虽然通过测试可以评估软件的性能等方面,但发现错误是最主要的目的。改进软件质量是软件测试后的一个结果,而不是测试的直接目的,所以答案是A。

2.黑盒测试方法不包括()A.等价类划分法B.边界值分析法C.基本路径测试法D.决策表法答案:C解析:等价类划分法、边界值分析法、决策表法都属于黑盒测试方法,它们是基于软件需求规格说明书,不考虑软件内部结构。基本路径测试法属于白盒测试方法,需要考虑软件的内部逻辑结构,所以答案是C。

3.软件测试过程中,集成测试的主要目的是()A.发现各模块内部的错误B.验证软件的功能是否满足需求C.检查各个模块之间的接口是否正确D.评估软件的可靠性答案:C解析:集成测试主要目的是检查各个模块之间的接口是否正确,把经过单元测试的模块组装起来,测试模块之间的协作和通信情况。发现各模块内部的错误是单元测试的任务;验证软件功能是否满足需求是系统测试的内容;评估软件可靠性不是集成测试的主要目的,所以答案是C。

(八)软件维护1.软件维护的类型不包括()A.改正性维护B.适应性维护C.完善性维护D.预防性维护答案:D解析:软件维护的类型包括改正性维护(改正软件中存在的错误)、适应性维护(使软件适应环境变化)、完善性维护(增加软件功能、改进性能等)。预防性维护不属于软件维护的标准类型,所以答案是D。

2.软件维护工作中,最主要的部分是()A.完善性维护B.适应性维护C.改正性维护D.预防性维护答案:A解析:在软件维护工作中,完善性维护占比最大,因为随着用户需求的变化和技术的发展,需要不断增加软件功能、改进性能等,以提升软件的竞争力和用户满意度。适应性维护和改正性维护也会经常进行,但相对完善性维护来说占比小一些,预防性维护不是主要部分,所以答案是A。

3.软件维护的困难主要原因不包括()A.读懂别人的代码困难B.文档不完整C.开发方法的缺陷D.软件维护的代价高答案:D解析:软件维护困难的主要原因包括读懂别人的代码困难,因为代码可能是由不同人编写且缺乏清晰注释;文档不完整,导致维护人员难以全面了解软件;开发方法的缺陷,如代码结构不合理等。软件维护代价高是软件维护困难带来的结果,而不是原因,所以答案是D。

二、总结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论