软件工程期末测试题_第1页
软件工程期末测试题_第2页
软件工程期末测试题_第3页
软件工程期末测试题_第4页
软件工程期末测试题_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

软件工程期末测试题一、选择题(每题2分,共20分)1.软件危机的主要表现不包括以下哪一项?()A.软件需求增长难以满足B.软件开发成本过高C.软件质量难以保证D.软件运行速度过快答案:D解析:软件危机主要表现在软件需求增长难以满足、软件开发成本过高、软件质量难以保证、软件维护困难等方面,软件运行速度过快不属于软件危机的表现。

2.以下哪个是软件开发过程中的需求分析阶段的主要任务?()A.确定软件的功能和性能要求B.编写软件代码C.对软件进行测试D.设计软件的体系结构答案:A解析:需求分析阶段的主要任务是确定软件的功能和性能要求,为后续的设计、编码等阶段提供基础。编写软件代码是编码阶段的任务,对软件进行测试是测试阶段的任务,设计软件的体系结构是设计阶段的任务。

3.结构化设计方法中,程序结构的基本形式不包括()A.顺序结构B.选择结构C.循环结构D.跳转结构答案:D解析:结构化设计方法中,程序结构的基本形式包括顺序结构、选择结构和循环结构,跳转结构不属于基本形式。

4.软件测试的目的是()A.证明软件是正确的B.发现软件中的错误C.排除软件中的错误D.提高软件的性能答案:B解析:软件测试的目的是发现软件中的错误,而不是证明软件是正确的,也不能完全排除软件中的错误,提高软件性能不是测试的主要目的。

5.以下哪种测试方法属于黑盒测试?()A.语句覆盖B.路径覆盖C.边界值分析D.条件覆盖答案:C解析:黑盒测试不考虑程序内部结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。边界值分析是黑盒测试的一种方法,语句覆盖、路径覆盖、条件覆盖属于白盒测试方法。

6.软件维护的类型不包括()A.改正性维护B.适应性维护C.完善性维护D.预防性维护答案:D解析:软件维护的类型包括改正性维护、适应性维护、完善性维护和预防性维护,题目问的是不包括的类型,所以答案是预防性维护。

7.以下哪个不属于软件项目管理的内容?()A.人员管理B.风险管理C.财务管理D.数据库管理答案:D解析:软件项目管理包括人员管理、风险管理、进度管理、成本管理、质量管理等,数据库管理不属于软件项目管理的直接内容。

8.软件配置管理的主要任务不包括()A.版本控制B.变更控制C.配置审计D.软件设计答案:D解析:软件配置管理的主要任务包括版本控制、变更控制、配置审计和配置状态报告等,软件设计不属于软件配置管理的任务。

9.面向对象程序设计中,对象的三个基本要素是()A.数据、方法和事件B.数据、属性和行为C.对象、类和继承D.封装、继承和多态答案:B解析:对象的三个基本要素是数据(属性)、方法(行为)和标识,这里选项B数据、属性和行为最符合。选项A中事件不是对象的基本要素;选项C对象、类和继承是面向对象编程的概念,但不是对象的基本要素;选项D封装、继承和多态是面向对象编程的特性。

10.以下哪种软件开发模型强调软件开发是一个迭代的过程?()A.瀑布模型B.快速原型模型C.增量模型D.螺旋模型答案:D解析:螺旋模型将软件开发过程视为一个迭代的过程,它结合了瀑布模型和快速原型模型的优点,每个迭代周期都包括制定计划、风险分析、实施工程和客户评估等阶段。瀑布模型是线性顺序模型;快速原型模型强调快速构建原型;增量模型是逐步增加软件功能。

二、填空题(每题2分,共20分)1.软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。2.软件生存周期包括可行性研究与计划、需求分析、软件设计、编码、测试、维护等阶段。3.软件需求规格说明书的作用是作为软件开发人员与用户之间的共同理解,也是软件后续开发、测试、维护的重要依据。4.结构化设计中,模块的独立性可以用耦合性和内聚性来衡量,理想的模块应该是高内聚、低耦合。5.软件测试的步骤一般包括单元测试、集成测试、系统测试和验收测试。6.软件维护的活动包括改正性维护、适应性维护、完善性维护和预防性维护。7.软件项目管理的主要内容包括项目计划、人员管理、风险管理、进度管理、成本管理和质量管理等。8.软件配置管理的主要任务包括版本控制、变更控制、配置审计和配置状态报告。9.面向对象程序设计的主要特性包括封装、继承和多态。10.常用的软件开发模型有瀑布模型、快速原型模型、增量模型、螺旋模型等。

三、简答题(每题10分,共30分)1.简述软件危机产生的原因。答案:软件危机产生的原因主要有以下几点:用户需求不明确:在软件开发过程中,用户需求可能不清晰、不准确或不断变化,导致开发人员难以理解和满足用户的真正需求。缺乏正确的理论指导:软件开发初期,缺乏有效的软件开发方法和工具,使得开发过程盲目无序。软件规模越来越大:随着软件应用范围的扩大,软件规模不断增大,复杂性也随之增加,增加了开发和维护的难度。软件开发人员与用户沟通不畅:双方在对软件功能、性能等方面的理解上存在差异,导致开发出的软件不符合用户期望。软件维护困难:软件在运行过程中需要不断维护,但由于软件的复杂性和文档的不完整性,使得维护工作难度较大。

2.说明软件测试的原则。答案:软件测试应遵循以下原则:尽早并不断进行测试:测试应贯穿于软件开发的整个过程,尽早发现问题,降低修复成本。全面测试:包括对软件的功能、性能、兼容性、安全性等方面进行全面测试,确保软件质量。重点测试:关注关键功能、关键模块和容易出现问题的地方,进行重点测试。避免测试自己的代码:开发人员应尽量避免测试自己编写的代码,以减少主观偏见。及时反馈:测试过程中发现的问题应及时反馈给开发人员,以便及时修复。严格执行测试计划:按照预先制定的测试计划进行测试,确保测试的全面性和系统性。测试应包括各种输入情况:不仅要测试正常输入,还要测试边界值、异常输入等情况。测试应具有可重复性:在相同条件下,测试结果应具有可重复性,以便验证问题的存在和修复情况。

3.简述面向对象程序设计的优点。答案:面向对象程序设计具有以下优点:提高软件的可维护性:将数据和操作数据的方法封装在一起,使得代码结构清晰,易于维护和扩展。增强软件的可扩展性:通过继承机制,可以方便地创建新的类,继承已有类的属性和方法,实现代码的复用和扩展。提高软件的可重用性:类可以被多个地方复用,减少了代码的重复编写,提高了开发效率。符合人类的思维习惯:面向对象程序设计模拟了人类对现实世界的认识方式,将问题分解为多个对象,便于理解和解决问题。有利于软件的模块化开发:各个对象相对独立,便于团队协作开发,提高开发效率和质量。

四、综合题(每题15分,共30分)1.某公司要开发一个图书管理系统,实现图书的借阅、归还、查询等功能。请你设计该系统的功能模块,并画出系统的总体架构图。答案:功能模块设计:图书信息管理模块:负责图书信息的录入、修改、删除和查询。读者信息管理模块:管理读者的基本信息,包括读者的注册、登录、信息修改等。借阅管理模块:处理图书的借阅业务,记录借阅信息,包括借阅时间、预计归还时间等。归还管理模块:处理图书的归还业务,更新图书的状态,并计算逾期费用(如果有)。查询模块:提供多种查询功能,如按图书名称、读者姓名、借阅状态等进行查询。总体架构图:图书管理系统图书信息管理模块读者信息管理模块借阅管理模块归还管理模块查询模块(架构图可以使用简单的图形工具绘制,如Visio或用文字描述各模块之间的关系,例如:图书信息管理模块与借阅管理模块通过图书编号进行关联,读者信息管理模块为借阅管理模块提供读者信息等)

2.请描述软件测试的过程,并说明每个阶段的主要任务。答案:软件测试过程一般包括以下几个阶段:测试计划阶段:主要任务:制定测试策略,确定测试范围、测试方法、测试资源、测试进度安排等,编写测试计划文档。测试计划应明确测试的目标、测试的重点、测试的时间安排以及参与测试的人员等信息,为后续的测试工作提供指导。测试设计阶段:主要任务:根据测试计划,设计具体的测试用例。测试用例应覆盖软件的各种功能和边界条件,包括正常输入、异常输入、边界值等情况。确定测试数据,设计测试步骤和预期结果,以验证软件是否满足需求规格说明书的要求。测试执行阶段:主要任务:按照测试设计阶段设计的测试用例,执行测试。记录测试过程中的实际结果,与预期结果进行比较。如果发现实际结果与预期结果不一致

温馨提示

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

最新文档

评论

0/150

提交评论