软件工程导论期末试题附答案_第1页
软件工程导论期末试题附答案_第2页
软件工程导论期末试题附答案_第3页
软件工程导论期末试题附答案_第4页
软件工程导论期末试题附答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

软件工程导论期末试题附答案一、单项选择题(每题2分,共20分)1.软件危机表现为软件的生产成本高、生产效率低以及()等问题。A.软件质量难以保证B.软件可维护性高C.软件功能强大D.软件兼容性好答案:A。软件危机的主要表现包括生产成本高、生产效率低、软件质量难以保证、软件可维护性差等,B选项可维护性高与软件危机的表现不符,C选项功能强大不是软件危机的表现,D选项兼容性好也不是软件危机相关表现,所以选A。2.瀑布模型的关键不足在于()。A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B。瀑布模型是一种线性顺序模型,阶段间具有顺序性和依赖性,一旦需求确定后,后续阶段很难对前期阶段进行大规模修改,不能适应需求的动态变更,A选项过于简单不是关键不足,C选项过于灵活不符合瀑布模型特点,D选项进行评审是其优点,所以选B。3.可行性研究主要从()方面进行研究。A.技术可行性、经济可行性、操作可行性B.技术可行性、经济可行性、系统可行性C.经济可行性、系统可行性、操作可行性D.经济可行性、系统可行性、时间可行性答案:A。可行性研究包括技术可行性(考察技术上能否实现)、经济可行性(评估成本效益)、操作可行性(判断系统能否在组织内正常运行),系统可行性不是单独的一个主要方面,时间可行性包含在经济可行性等综合考量中,所以选A。4.需求分析阶段的任务是确定()。A.软件开发方法B.软件开发工具C.软件系统的功能D.软件开发费用答案:C。需求分析的主要任务是准确地定义未来系统的目标,确定系统必须完成哪些工作,即确定软件系统的功能,A选项软件开发方法是后续设计阶段考虑的,B选项软件开发工具也是后续实施阶段可能选择的,D选项软件开发费用在可行性研究阶段会涉及,所以选C。5.数据字典是对数据定义信息的集合,它所定义的对象都包含于()。A.数据流图B.程序框图C.软件结构图D.方框图答案:A。数据字典是对数据流图中出现的所有被命名的图形元素的定义的集合,程序框图用于表示程序的流程,软件结构图反映软件系统的模块划分等结构关系,方框图用途广泛但与数据字典所关联的主要是数据流图,所以选A。6.软件概要设计的主要任务是()。A.确定每个模块的具体算法B.确定模块间的调用关系C.确定每个模块的内部数据结构D.进行模块的详细设计答案:B。软件概要设计主要是将系统分解为模块,确定模块的功能、模块间的调用关系等宏观结构,A选项确定每个模块的具体算法是详细设计的任务,C选项确定每个模块的内部数据结构也是详细设计内容,D选项模块的详细设计是在概要设计之后的阶段,所以选B。7.面向对象方法中,对象是类的实例。对象的状态是由()表示的。A.对象的属性B.对象的行为C.对象的方法D.对象的继承答案:A。在面向对象方法中,对象的属性用于表示对象的状态,对象的行为通过方法来实现,对象的方法是对象所具有的操作,继承是一种类之间的关系,用于实现代码复用等,所以选A。8.软件测试的目的是()。A.证明软件的正确性B.找出软件中的所有错误C.发现软件中的错误D.评估软件的质量答案:C。软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误,评估软件质量是测试后的一个综合考量,但不是测试的主要目的,所以选C。9.软件维护的副作用主要有()。A.编码副作用、数据副作用、测试副作用B.编码副作用、数据副作用、调试副作用C.编码副作用、数据副作用、文档副作用D.编码副作用、文档副作用、测试副作用答案:C。软件维护的副作用主要包括编码副作用(修改代码可能引入新的错误)、数据副作用(修改数据结构等可能产生问题)、文档副作用(文档与修改后的代码不一致等问题),测试副作用和调试副作用不是常见的维护副作用类型,所以选C。10.软件项目管理的主要职能包括()。A.计划、组织、控制、协调B.计划、安排、监督、控制C.计划、安排、协调、监督D.计划、组织、监督、协调答案:A。软件项目管理的主要职能包括计划(制定项目计划)、组织(合理安排人员等资源)、控制(监控项目进度等)、协调(协调各方关系),所以选A。二、多项选择题(每题3分,共15分)1.以下属于软件开发模型的有()。A.瀑布模型B.快速原型模型C.增量模型D.螺旋模型答案:ABCD。瀑布模型是经典的线性顺序模型,快速原型模型先快速构建一个可运行的原型,增量模型将软件项目分解为多个增量构件逐步开发,螺旋模型结合了风险分析等,它们都是常见的软件开发模型,所以选ABCD。2.需求分析的方法有()。A.面向数据流的结构化分析方法B.面向数据结构的分析方法C.面向对象的分析方法D.形式化分析方法答案:ABCD。面向数据流的结构化分析方法(SA方法)通过数据流图等工具进行需求分析,面向数据结构的分析方法关注数据结构,面向对象的分析方法从对象的角度分析需求,形式化分析方法使用数学形式化描述需求,都是常见的需求分析方法,所以选ABCD。3.软件设计的原则包括()。A.模块化B.信息隐藏C.高内聚、低耦合D.抽象答案:ABCD。模块化将软件系统分解为多个模块,信息隐藏将模块的实现细节隐藏起来,高内聚指模块内部功能联系紧密,低耦合指模块间的联系尽量松散,抽象是抽出事物的本质特性而忽略非本质细节,这些都是软件设计的重要原则,所以选ABCD。4.软件测试的方法有()。A.黑盒测试B.白盒测试C.静态测试D.动态测试答案:ABCD。黑盒测试基于功能进行测试,不考虑内部代码结构;白盒测试基于代码内部结构进行测试;静态测试不运行程序,通过代码审查等方式检查;动态测试运行程序进行测试,它们都是软件测试常用的方法,所以选ABCD。5.软件配置管理的主要活动包括()。A.配置项标识B.配置项控制C.配置状态报告D.配置审计答案:ABCD。配置项标识是对软件配置项进行命名和唯一标识,配置项控制管理配置项的变更,配置状态报告记录配置项的状态,配置审计检查配置项的一致性等,这些都是软件配置管理的主要活动,所以选ABCD。三、判断题(每题2分,共10分)1.软件就是程序,编写软件就是编写程序。()答案:错误。软件不仅包括程序,还包括与程序相关的文档和数据。程序只是软件的一个重要组成部分,编写软件除了编写程序,还需要进行需求分析、设计、测试、维护等一系列工作以及文档的编写和管理,所以该说法错误。2.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。()答案:正确。可行性研究就是从技术、经济、操作等方面进行分析,评估项目开发的可能性和价值,以最小的代价和较短时间做出是否开发的决策,所以该说法正确。3.数据流图和数据字典共同构成了系统的逻辑模型。()答案:正确。数据流图描述了系统的数据流和处理过程,数据字典对数据流图中的元素进行详细定义,二者结合起来能够准确地描述系统的逻辑功能,构成系统的逻辑模型,所以该说法正确。4.软件维护就是改正软件中的错误。()答案:错误。软件维护不仅包括改正软件中的错误(纠错性维护),还包括适应性维护(使软件适应新的环境)、完善性维护(增加新的功能或改进现有功能)和预防性维护(为了提高软件的可维护性和可靠性等进行的维护),所以该说法错误。5.面向对象的程序设计语言只能用于面向对象开发方法中。()答案:错误。面向对象的程序设计语言也可以用于其他开发方法中,虽然它更适合面向对象开发方法,但也可以结合其他方法的思想进行编程,比如可以在结构化开发的某些部分使用面向对象语言的一些特性,所以该说法错误。四、简答题(每题10分,共30分)1.简述软件危机的表现及产生的原因。答:软件危机的表现主要有以下几个方面:-软件开发成本和进度难以控制。开发成本往往超出预算,项目进度经常延迟,导致软件项目不能按时交付使用。-软件质量难以保证。软件中存在大量的错误和缺陷,可靠性差,影响用户的正常使用。-软件可维护性差。随着软件系统的不断发展和变化,很难对现有的软件进行修改和扩展,维护成本高。-软件生产效率低。软件开发过程中存在大量的重复劳动,生产效率低下,不能满足社会对软件的需求。软件危机产生的原因主要有以下几点:-软件本身的特点。软件是逻辑产品,具有无形性、复杂性、可变性等特点,使得软件开发过程难以管理和控制。-软件开发方法不当。传统的软件开发方法往往缺乏有效的方法和工具,不能适应软件规模和复杂度的不断增加。-软件开发人员的素质和管理问题。软件开发人员缺乏系统的软件工程知识和技能,软件开发过程中缺乏有效的管理和协调。-用户需求不明确。在软件开发过程中,用户往往不能准确地表达自己的需求,导致软件产品不能满足用户的实际需求。2.简述结构化分析方法的基本步骤。答:结构化分析方法是一种面向数据流进行需求分析的方法,其基本步骤如下:-了解当前系统的工作流程,获得当前系统的物理模型。通过与用户交流、实地考察等方式,详细了解现行系统的业务流程、输入输出信息等,并用系统流程图等工具描述出来。-抽象出当前系统的逻辑模型。在物理模型的基础上,去除一些具体的物理细节,如设备、人员等,只保留系统的本质功能和数据流动,得到当前系统的逻辑模型,通常用数据流图表示。-建立目标系统的逻辑模型。分析当前系统逻辑模型中存在的问题和不足,结合用户对新系统的需求,对当前系统的逻辑模型进行改进和优化,建立目标系统的逻辑模型,同样用数据流图来描述。-对目标系统的逻辑模型进行细化和补充。使用数据字典对数据流图中的各个元素(数据流、数据存储、处理过程等)进行详细定义,用判定表、判定树等工具对复杂的处理逻辑进行描述,使目标系统的逻辑模型更加完整和准确。3.简述软件测试的基本流程。答:软件测试的基本流程如下:-测试计划阶段。明确测试的目标、范围、方法、进度安排等,制定详细的测试计划。确定测试的对象,如软件的功能模块、性能指标等;选择合适的测试方法,如黑盒测试、白盒测试等;安排测试人员和测试资源;制定测试进度表,确定各个测试阶段的开始和结束时间。-测试设计阶段。根据测试计划和需求规格说明书,设计测试用例。测试用例是为了实施测试而向被测试系统提供的一组输入数据和预期输出结果。对于功能测试,要根据软件的功能需求设计不同的输入数据和预期结果;对于性能测试,要设计合适的负载场景和性能指标要求。-测试执行阶段。按照测试计划和测试用例,对软件进行实际的测试。在测试过程中,记录测试的结果,包括是否通过测试、出现的错误信息等。如果发现软件存在缺陷,要及时记录缺陷的详细信息,如缺陷的描述、出现的位置、严重程度等。-测试评估阶段。对测试结果进行分析和评估,判断软件是否满足需求和质量要求。统计测试用例的执行情况,计算测试覆盖率;分析发现的缺陷数量、类型和分布情况,评估软件的可靠性和稳定性;根据测试结果,决定是否需要进行回归测试或进一步的测试。-测试总结阶段。总结测试过程中的经验教训,编写测试总结报告。报告中要包括测试的目标、范围、方法、结果、评估结论等内容,为后续的软件维护和开发提供参考。五、综合题(25分)某图书馆管理系统需要实现以下功能:-读者可以进行借书、还书操作。-图书管理员可以添加、删除和修改图书信息,包括书名、作者、出版社、ISBN号等。-系统可以查询图书信息和读者的借阅记录。请根据以上需求,完成以下任务:1.画出该图书馆管理系统的数据流图(要求至少包含0层和1层数据流图)。2.给出数据字典中部分元素的定义,如“图书信息”“读者借阅记录”。答:1.数据流图-0层数据流图:-外部实体有读者、图书管理员。-系统为图书馆管理系统。-从读者到系统有借书请求、还书请求数据流;从系统到读者有借书结果、还书结果数据流。-从图书管理员到系统有图书信息添加请求、图书信息删除请求、图书信息修改请求数据流;从系统到图书管理员有操作结果数据流。-读者和图书管理员都可以向系统发送查询请求,系统向他们返回查询结果。-1层数据流图:-将图书馆管理系统分解为借书处理、还书处理、图书信息管理、查询处理四个处理过程。-借书处理:接收读者的借书请求,从图书信息存储中获取图书信息,判断是否可借,若可借则更新图书信息存储和读者借阅记录存储,向读者返回借书结果。-还书处理:接收读者的还书请求,从读者借阅记录存储中获取借阅记录,更新图书信息存储和读者借阅记录存储,向读者返回还书结果。-图书信息管理:接收图书管理员的添加、删除、修改请求,对图书信息存储进行相应操作,向图书管理员返回操作结果。-查询处理:接收查询请求,根据请求从图书信息存储或读者借阅记录存储中获取信息,向请求者返回查询结果。2.数据字典部分元素定义-图书信息:

温馨提示

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

评论

0/150

提交评论