版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程习题及答案一、单选题(1~30题)1.软件工程的目标是()A.开发出高质量的软件B.开发出满足用户需求的软件C.以较低的成本开发出高质量的软件D.以较低的成本开发出满足用户需求的软件答案:C解析:软件工程的目标是在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的软件产品,核心是以较低成本开发高质量软件。2.可行性研究主要从()方面进行研究。A.技术可行性,经济可行性,操作可行性B.技术可行性,经济可行性,系统可行性C.经济可行性,系统可行性,操作可行性D.经济可行性,系统可行性,时间可行性答案:A解析:可行性研究通常从技术可行性(技术上能否实现)、经济可行性(是否有经济效益)和操作可行性(是否容易操作使用)三个方面进行。3.需求分析阶段的任务是确定()A.软件开发方法B.软件开发工具C.软件系统的功能D.软件开发费用答案:C解析:需求分析的基本任务是准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题,即确定软件系统的功能。4.数据字典是对数据定义信息的集合,它所定义的对象都包含于()A.数据流图B.程序框图C.软件结构D.方框图答案:A解析:数据字典是对数据流图中出现的所有被命名的图形元素的定义的集合,为数据流图中的每个数据流、文件、加工,以及组成数据流或文件的数据项做出说明。5.软件结构图中,模块框之间若有直线连接,表示它们之间存在()A.调用关系B.组成关系C.链接关系D.顺序执行关系答案:A解析:在软件结构图中,模块框之间的直线连接表示模块之间的调用关系。6.耦合度最高的是()A.数据耦合B.公共耦合C.控制耦合D.内容耦合答案:D解析:内容耦合是耦合度最高的一种耦合方式,它指一个模块直接访问另一个模块的内部数据,或者一个模块不通过正常入口转到另一模块内部,或者两个模块有一部分程序代码重叠等情况。7.内聚程度最低的是()A.偶然内聚B.逻辑内聚C.时间内聚D.功能内聚答案:A解析:偶然内聚是指一个模块内的各处理元素之间没有任何联系,只是偶然地被凑到一起,内聚程度最低。8.软件详细设计主要采用的方法是()A.结构化程序设计B.模型设计C.结构化设计D.流程图设计答案:A解析:软件详细设计主要采用结构化程序设计方法,该方法强调程序的易读性和可维护性,使用顺序、选择、循环三种基本控制结构来构造程序。9.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和循环C.递归、迭代和回溯D.调用、返回和转移答案:B解析:程序的三种基本控制结构是顺序结构、选择结构和循环结构,任何复杂的程序都可以由这三种基本结构组合而成。10.为了提高测试的效率,应该()A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据答案:D解析:为了提高测试效率,应选择发现错误可能性大的数据作为测试数据,这样可以用较少的测试用例发现更多的错误。11.软件测试的目的是()A.证明软件的正确性B.找出软件中的所有错误C.发现软件中的错误D.评价软件的质量答案:C解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。12.软件调试的目的是()A.找出错误所在并改正之B.排除存在错误的可能性C.对错误性质进行分类D.统计出错的次数答案:A解析:软件调试是在测试发现错误之后,找出错误的原因和位置并改正错误的过程。13.软件维护的类型有()A.改正性维护、适应性维护、完善性维护和预防性维护B.纠错性维护、适应性维护、改善性维护和预防性维护C.纠错性维护、适应性维护、完善性维护和改进性维护D.改正性维护、适应性维护、改善性维护和预防性维护答案:A解析:软件维护的类型包括改正性维护(修改软件中的错误)、适应性维护(使软件适应新的环境)、完善性维护(增加新功能或改进现有功能)和预防性维护(为未来的改进做准备)。14.以下不属于软件项目管理的主要内容的是()A.人员管理B.进度管理C.成本管理D.算法设计答案:D解析:软件项目管理的主要内容包括人员管理、进度管理、成本管理、质量管理等,算法设计属于软件开发技术层面的内容。15.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护答案:D解析:软件维护阶段通常会持续很长时间,并且需要投入大量的人力、物力和财力来修复错误、适应新环境、增加新功能等,所以是软件生命周期中花费最多的阶段。16.软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可移植性答案:B解析:软件文档详细记录了软件的开发过程、功能、使用方法等信息,对于软件的维护人员来说,良好的文档可以帮助他们快速理解软件的结构和功能,从而提高软件的可维护性。17.下面不属于软件开发模型的是()A.瀑布模型B.快速原型模型C.增量模型D.面向对象模型答案:D解析:瀑布模型、快速原型模型、增量模型都是软件开发过程中常用的模型,而面向对象模型是一种软件开发的方法和技术,不是软件开发模型。18.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;();对象彼此之间仅能通过传递消息互相联系;层次结构的继承。A.开发过程基于功能分析和功能分解B.强调需求分析的重要性C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整答案:C解析:面向对象方法中,把对象划分成类,每个对象类都定义一组数据和方法,这是面向对象方法的重要特征之一。19.以下关于类和对象的叙述中,错误的是()A.类是具有相同属性和服务的一组对象的集合B.类是一个对象模板,它描述了属于该类的所有对象的性质C.对象是类的一个实例D.类和对象是同一概念答案:D解析:类是具有相同属性和服务的一组对象的抽象描述,是对象的模板;对象是类的具体实例,类和对象不是同一概念。20.继承是面向对象方法的一个主要特征,以下关于继承的叙述中,错误的是()A.继承是指子类自动地共享父类的属性和方法的机制B.继承可以提高软件的可重用性C.一个子类只能有一个父类D.继承可以简化软件的开发过程答案:C解析:在面向对象编程中,一个子类可以有多个父类,这种情况称为多重继承。21.以下关于多态性的叙述中,错误的是()A.多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果B.多态性允许使用一个公共的类接口来访问多个不同的类C.多态性可以提高代码的可维护性和可扩展性D.多态性只存在于面向对象编程中答案:D解析:多态性并不只存在于面向对象编程中,在其他编程范式中也可能存在类似的概念,但面向对象编程通过继承、接口等机制更方便地实现了多态性。22.以下关于用例的叙述中,错误的是()A.用例是对系统提供的一个功能单元的描述B.用例是对一个业务流程的描述C.用例是从用户的角度来描述系统的功能D.用例之间不能有任何关系答案:D解析:用例之间可以存在多种关系,如包含关系、扩展关系等。23.以下关于UML(统一建模语言)的叙述中,错误的是()A.UML是一种可视化的建模语言B.UML是一种编程语言C.UML可以用于软件系统的分析、设计和实现D.UML有多种图,如用例图、类图、顺序图等答案:B解析:UML是一种可视化的建模语言,用于对软件系统进行建模,它不是一种编程语言。24.以下关于软件配置管理的叙述中,错误的是()A.软件配置管理的目的是建立和维护软件项目的完整性B.软件配置管理包括版本控制、变更管理等C.软件配置管理只适用于大型软件项目D.软件配置管理可以提高软件的可维护性答案:C解析:软件配置管理适用于各种规模的软件项目,它可以帮助管理软件项目的各种配置项,保证软件项目的完整性和可追溯性,提高软件的可维护性。25.以下关于软件质量的叙述中,错误的是()A.软件质量是指软件满足规定需求的程度B.软件质量可以通过测试来保证C.软件质量不仅包括功能性质量,还包括非功能性质量D.软件质量的好坏取决于用户的满意度答案:B解析:软件测试可以发现软件中的错误,但不能完全保证软件的质量。软件质量需要在软件开发的各个阶段进行控制和保证,包括需求分析、设计、编码、测试等。26.以下关于敏捷开发的叙述中,错误的是()A.敏捷开发强调快速迭代和响应变化B.敏捷开发注重团队合作和沟通C.敏捷开发不重视文档D.敏捷开发适合需求不确定的项目答案:C解析:敏捷开发并非不重视文档,而是强调文档的适量和有用性,以满足项目的实际需要,避免产生大量无用的文档。27.以下关于软件复用的叙述中,错误的是()A.软件复用可以提高软件开发的效率和质量B.软件复用可以降低软件开发的成本C.软件复用只包括代码复用D.软件复用可以包括需求复用、设计复用等答案:C解析:软件复用包括多个层次,如需求复用、设计复用、代码复用、测试用例复用等,不仅仅是代码复用。28.以下关于软件项目风险管理的叙述中,错误的是()A.软件项目风险管理的目的是识别、评估和应对项目中的风险B.软件项目风险可以分为技术风险、管理风险、组织风险等C.对于软件项目中的风险,只能采取规避的策略D.软件项目风险管理可以提高项目的成功率答案:C解析:对于软件项目中的风险,可以采取多种策略,如规避、减轻、转移、接受等,而不是只能采取规避策略。29.以下关于软件体系结构的叙述中,错误的是()A.软件体系结构是指软件系统的整体结构B.软件体系结构描述了软件系统的模块划分、模块之间的关系等C.软件体系结构只关注软件的功能实现,不关注软件的性能D.良好的软件体系结构可以提高软件的可维护性和可扩展性答案:C解析:软件体系结构不仅关注软件的功能实现,也关注软件的性能、可维护性、可扩展性等非功能性需求。30.以下关于软件度量的叙述中,错误的是()A.软件度量可以帮助评估软件项目的进展情况B.软件度量可以帮助评估软件的质量C.软件度量只包括代码行数等定量度量D.软件度量可以为软件项目管理提供决策依据答案:C解析:软件度量包括定量度量和定性度量,代码行数只是定量度量的一种,还可以对软件的复杂度、可维护性等进行定性度量。二、多选题(1~15题)1.软件工程的基本原理包括()A.用分阶段的生命周期计划严格管理B.坚持进行阶段评审C.实行严格的产品控制D.采用现代程序设计技术答案:ABCD解析:软件工程的基本原理还包括结果应能清楚地审查、开发小组的人员应该少而精、承认不断改进软件工程实践的必要性等。这几个选项都是软件工程基本原理的重要方面。2.可行性研究的步骤包括()A.复查系统规模和目标B.研究正在使用的系统C.导出新系统的高层逻辑模型D.进一步定义问题答案:ABC解析:可行性研究的步骤一般有复查系统规模和目标、研究正在使用的系统、导出新系统的高层逻辑模型、导出和评价供选择的方案、推荐行动方针、草拟开发计划、书写文档提交审查等,进一步定义问题是需求分析阶段的内容。3.需求分析的方法有()A.访谈B.问卷调查C.观察用户工作流程D.建立原型答案:ABCD解析:这些都是常见的需求分析方法,访谈可以直接获取用户需求;问卷调查可以大规模收集信息;观察用户工作流程能了解实际业务需求;建立原型可以让用户直观感受系统,反馈需求。4.数据流图的基本元素包括()A.数据流B.加工C.文件D.数据源和数据潭答案:ABCD解析:数据流图由这四个基本元素组成,数据流表示数据的流动;加工是对数据进行的处理;文件是数据的存储;数据源和数据潭是数据的来源和去向。5.软件设计的原则包括()A.模块化B.抽象C.信息隐藏D.模块独立答案:ABCD解析:模块化将软件系统分解为多个模块;抽象是忽略细节,提取本质;信息隐藏将模块的实现细节隐藏起来;模块独立强调模块之间的低耦合和高内聚。6.模块的内聚类型有()A.功能内聚B.顺序内聚C.通信内聚D.过程内聚答案:ABCD解析:除了以上几种,还有时间内聚、逻辑内聚、偶然内聚等内聚类型,内聚程度从高到低排列一般为功能内聚>顺序内聚>通信内聚>过程内聚>时间内聚>逻辑内聚>偶然内聚。7.模块的耦合类型有()A.数据耦合B.控制耦合C.公共耦合D.内容耦合答案:ABCD解析:耦合程度从低到高依次为数据耦合<控制耦合<公共耦合<内容耦合,在设计软件时应尽量降低模块间的耦合度。8.软件测试的方法有()A.黑盒测试B.白盒测试C.静态测试D.动态测试答案:ABCD解析:黑盒测试关注软件的功能,不考虑内部实现;白盒测试关注软件的内部结构和代码逻辑;静态测试不运行程序,对文档、代码等进行检查;动态测试则运行程序进行测试。9.软件维护的内容包括()A.改正性维护B.适应性维护C.完善性维护D.预防性维护答案:ABCD解析:如前面所述,这四种维护类型涵盖了软件维护的主要方面。10.软件项目管理的主要内容包括()A.项目计划B.项目组织C.项目控制D.项目协调答案:ABCD解析:软件项目管理需要进行项目计划的制定、合理组织人员和资源、对项目进展进行控制以及协调各方关系等工作。11.面向对象的特征包括()A.封装B.继承C.多态D.抽象答案:ABCD解析:封装将数据和操作封装在一起;继承允许子类继承父类的属性和方法;多态使相同的操作可以作用于不同类型的对象;抽象是对事物本质特征的提取。12.UML的图包括()A.用例图B.类图C.顺序图D.活动图答案:ABCD解析:UML还有状态图、组件图、部署图等多种图,用于从不同角度对软件系统进行建模。13.软件配置管理的活动包括()A.配置项标识B.配置项控制C.配置状态报告D.配置审计答案:ABCD解析:这些活动共同构成了软件配置管理的主要内容,确保软件项目的配置项得到有效管理和控制。14.软件质量的特性包括()A.功能性B.可靠性C.易用性D.效率答案:ABCD解析:软件质量特性还包括可维护性、可移植性等,这些特性从不同方面衡量软件的质量。15.敏捷开发的方法包括()A.ScrumB.XP(极限编程)C.水晶方法D.自适应软件开发答案:ABCD解析:这些都是常见的敏捷开发方法,它们都强调快速响应变化、团队合作和用户参与等特点。三、判断题(1~10题)1.软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。()答案:正确解析:软件工程综合运用工程、科学和数学等多方面的知识和方法来开发和维护软件,以提高软件的质量和开发效率。2.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。()答案:正确解析:可行性研究通过对技术、经济、操作等方面的分析,判断项目开发的可行性和价值。3.需求分析阶段的主要任务是确定软件系统的总体结构,划分模块,确定每个模块的功能、接口和调用关系。()答案:错误解析:确定软件系统的总体结构,划分模块,确定每个模块的功能、接口和调用关系是软件设计阶段的任务,需求分析阶段主要是确定软件系统的功能需求。4.数据流图是一种图形化的表示方法,它可以描述系统的功能和数据流程。()答案:正确解析:数据流图通过数据流、加工、文件、数据源和数据潭等元素,清晰地展示系统的功能和数据的流动情况。5.模块的内聚程度越高,模块之间的耦合程度越低,软件的可维护性和可扩展性就越好。()答案:正确解析:高内聚使模块功能单一、独立性强,低耦合减少模块之间的相互依赖,有利于软件的维护和扩展。6.软件测试的目的是证明软件没有错误。()答案:错误解析:软件测试的目的是发现软件中的错误,而不是证明软件没有错误,因为不可能通过测试覆盖所有可能的情况。7.软件维护只是修改软件中的错误。()答案:错误解析:软件维护除了改正性维护(修改错误),还包括适应性维护、完善性维护和预防性维护等多种类型。8.面向对象方法中,类和对象的关系是抽象和具体的关系。()答案:正确解析:类是对对象的抽象描述,对象是类的具体实例,体现了抽象和具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大学大四(地质学)构造地质学综合测试题及答案
- 百时美施贵宝(中国)招聘试题及答案
- 2026年房屋征收与补偿条例实施细则题库及答案
- 2026中国交通建设集团秋招面笔试题及答案
- 2026年房屋租赁登记备案管理办法题库及答案
- 2026中国国铁秋招面试题及答案
- 山东省临沂市2026高三上学期期末语文试题【含答案】
- 干部培训班管理制度(3篇)
- 个人电子合同签署诚信承诺书(6篇)
- 初创企业2026年网络安全服务合同协议
- 小儿急性呼吸衰竭课件
- 2024~2025学年北京市大兴区八年级下学期期中考试数学试卷
- 脊柱创伤术后康复课件
- 肿瘤生存者管理专家共识
- 设备故障抢修管理办法
- 化工厂安全培训课件
- 工程力学(第五版)课件 绪论
- 收单外包管理办法
- 3月3日5、6号机组故障跳闸报告
- 单招化学试题及答案
- 广西钦州市八年级上学期英语12月考试卷
评论
0/150
提交评论