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

下载本文档

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

文档简介

软件工程期终试题B一、单项选择题(每题2分,共20分)1.软件危机是指()A.软件需求增长得不到满足B.软件生产成本高、质量差C.软件的开发和维护遇到了严重问题D.以上都正确答案:D解析:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,包括软件需求增长得不到满足、软件开发成本高、质量差以及软件的开发和维护遇到严重困难等。2.软件工程的出现是由于()A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展答案:A解析:软件工程的出现是为了解决软件危机,通过采用工程化的方法来开发和维护软件,提高软件的质量和生产率。3.瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B解析:瀑布模型是一种线性的软件开发模型,它的关键不足在于不能适应需求的动态变更,一旦需求发生变化,整个项目可能需要重新进行。4.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件答案:D解析:快速原型模型的主要特点是及早提供工作软件,通过快速构建一个原型,让用户能够尽早看到软件的实际效果,并提出反馈意见,以便及时进行修改和完善。5.软件可行性研究一般不考虑()A.是否有足够的人员和资金来支持系统开发B.是否有足够的工具和相关技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题答案:D解析:软件可行性研究主要考虑技术可行性、经济可行性和操作可行性等方面,一般不考虑待开发软件是否会有质量问题,质量问题是在软件开发过程中需要关注和解决的。6.软件需求规格说明书的作用不包括()A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据答案:D解析:软件需求规格说明书是软件设计的依据、用户与开发人员对软件要做什么的共同理解以及软件验收的依据,而软件可行性研究是在需求分析之前进行的,其依据不是软件需求规格说明书。7.数据字典是用来定义()中的各个成份的具体含义的。A.流程图B.功能结构图C.系统结构图D.数据流图答案:D解析:数据字典是用来定义数据流图中的各个成份的具体含义的,包括数据项、数据结构、数据流、数据存储和处理过程等。8.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性答案:C解析:详细设计的结果基本决定了最终程序的质量,它对程序的算法、数据结构、模块划分等进行了详细的设计,为编码提供了具体的指导。9.软件测试的目的是()A.证明软件的正确性B.发现软件中的错误C.排除软件中的错误D.测定软件的可靠性答案:B解析:软件测试的目的是发现软件中的错误,而不是证明软件的正确性,也不能完全排除软件中的错误,软件测试可以帮助提高软件的可靠性,但不是其主要目的。10.软件维护工作的最主要部分是()A.校正性维护B.适应性维护C.完善性维护D.预防性维护答案:C解析:完善性维护是软件维护工作的最主要部分,它主要是为了满足用户不断增长的需求,对软件进行功能扩展、性能优化等。二、填空题(每题2分,共20分)1.软件工程的三要素是方法、工具和()。答案:过程解析:软件工程的三要素是方法、工具和过程,方法是完成软件开发的各项任务的技术方法,工具是为方法的运用提供自动的或半自动的软件支撑环境,过程是为了获得高质量的软件所需要完成的一系列任务的框架。2.软件开发模型有瀑布模型、快速原型模型、()、螺旋模型等。答案:增量模型(或其他正确的软件开发模型)解析:常见的软件开发模型还有增量模型、喷泉模型、敏捷开发模型等。3.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目是否()。答案:值得开发解析:可行性研究通过对技术、经济、操作等方面的分析,判断该软件项目是否值得开发。4.需求分析阶段产生的最重要的文档是()。答案:软件需求规格说明书解析:软件需求规格说明书是需求分析阶段的主要成果,它明确了软件的功能、性能、界面等方面的要求。5.结构化分析方法的核心是()。答案:数据流图解析:结构化分析方法以数据流图为核心,通过对数据流的分析来描述系统的功能和数据流程。6.模块的独立程度可以由两个定性标准度量,这两个标准分别称为耦合性和()。答案:内聚性解析:耦合性衡量模块之间的相互依赖程度,内聚性衡量模块内部各元素之间的紧密程度,它们是衡量模块独立程度的两个重要指标。7.详细设计通常以()图为工具,采用结构化程序设计方法进行详细的过程设计。答案:程序流程图(或其他正确的详细设计工具图)解析:详细设计常用的工具包括程序流程图、NS图、PAD图等。8.软件测试的步骤主要有单元测试、集成测试、()和系统测试。答案:确认测试解析:软件测试一般按照单元测试、集成测试、确认测试和系统测试的顺序进行。9.软件维护可分为校正性维护、适应性维护、完善性维护和()维护。答案:预防性解析:预防性维护是为了提高软件的可维护性和可靠性,对软件进行的一种维护活动。10.软件项目管理的主要内容包括软件项目计划、软件配置管理、软件质量保证、软件项目()等。答案:风险管理(或其他正确的软件项目管理内容)解析:软件项目管理还包括人员管理、成本管理、进度管理等方面。三、简答题(每题10分,共30分)1.简述软件危机产生的原因。答案:软件危机产生的原因主要包括以下几个方面:用户需求不明确:在软件开发过程中,用户需求往往不明确或频繁变更,导致开发人员难以准确把握软件的功能和性能要求。缺乏正确的理论指导:软件开发初期,缺乏有效的软件开发方法和工具,开发过程随意性大,导致软件质量低下。软件规模越来越大:随着软件应用领域的不断扩大,软件规模日益增大,结构越来越复杂,增加了软件开发和维护的难度。软件复杂度高:现代软件涉及到多种技术和领域知识,复杂度不断提高,使得软件开发和维护面临更大的挑战。软件开发人员与用户沟通不畅:开发人员与用户之间缺乏有效的沟通渠道和方式,导致双方对软件需求的理解存在偏差,影响软件的开发质量。软件开发技术更新快:软件开发技术不断发展和更新,开发人员如果不能及时掌握新的技术,就会在开发过程中遇到困难。软件维护困难:软件交付使用后,由于各种原因需要进行维护,但维护工作往往缺乏有效的管理和规范,导致维护成本高、质量难以保证。2.什么是软件生命周期?软件生命周期包括哪些阶段?答案:软件生命周期是指从软件定义、开发、使用和维护直到最终被淘汰的全过程。软件生命周期通常包括以下阶段:软件定义阶段:包括问题定义、可行性研究和需求分析。问题定义明确要解决的问题是什么;可行性研究分析项目在技术、经济和操作上的可行性;需求分析确定软件的功能、性能、界面等方面的要求。软件开发阶段:包括总体设计、详细设计、编码和单元测试、集成测试。总体设计确定软件的总体结构和模块划分;详细设计对每个模块进行详细的算法和数据结构设计;编码实现各个模块的功能;单元测试对每个模块进行测试,确保模块功能的正确性;集成测试将各个模块集成起来进行测试,检查模块之间的接口和协作是否正常。软件维护阶段:包括校正性维护、适应性维护、完善性维护和预防性维护。校正性维护修复软件中的错误;适应性维护使软件适应环境的变化;完善性维护对软件进行功能扩展和性能优化;预防性维护为了提高软件的可维护性和可靠性,对软件进行的一种维护活动。3.简述软件测试的原则。答案:软件测试应遵循以下原则:尽早并不断地进行测试:测试应贯穿于软件开发的整个过程,尽早发现问题并及时解决,避免问题积累。全面测试:要对软件的功能、性能、界面、兼容性等各个方面进行全面测试,确保软件的质量。重点测试:在全面测试的基础上,要根据软件的特点和用户的需求,对关键功能和重要模块进行重点测试。避免测试自己的代码:开发人员应避免测试自己编写的代码,因为自己可能对代码存在思维定式,难以发现其中的问题,应由独立的测试人员进行测试。及时反馈测试结果:测试人员发现问题后应及时向开发人员反馈,以便开发人员及时修复问题,同时开发人员应及时对测试结果进行分析和处理。严格执行测试计划:测试计划应明确测试的目标、范围、方法、步骤等,测试人员应严格按照测试计划进行测试,确保测试工作的有序进行。充分注意测试中的群集现象:在测试过程中,往往会发现少数模块存在较多的缺陷,这些模块应重点关注和测试。避免测试用例的随意性:测试用例应具有代表性和针对性,能够覆盖软件的各种功能和边界情况,避免测试用例的随意编写。对测试结果进行全面评估:不仅要关注测试是否通过,还要对测试结果进行全面评估,分析软件的质量状况,为软件的改进提供依据。四、综合应用题(每题15分,共30分)1.某学校要开发一个学生成绩管理系统,要求实现学生信息管理、课程信息管理、成绩录入与查询、成绩统计与分析等功能。请使用结构化分析方法对该系统进行需求分析,画出数据流图,并写出数据字典中的部分数据项定义。答案:数据流图顶层数据流图:```++++|学生||成绩管理系统||成绩管理系统|||||||+^++^+||||vv++++|课程||成绩统计与||信息管理系统||分析模块|||||+^++^+||||vv++++|成绩||学生信息管理||录入与查询模块|||||||++++```第1层数据流图(以成绩录入与查询模块为例):```++++|学生||成绩录入与||信息管理系统||查询模块|||||+^++^+||||vv++++|课程||成绩录入表单||信息管理系统|||||||+^++^+||||vv++++|成绩||成绩查询表单||录入与查询模块|||||||++++```数据字典数据项定义:学生信息:学号:字符型,长度为10位,唯一标识学生。姓名:字符型,长度为20位。性别:字符型,长度为2位,取值为"男"或"女"。年龄:数值型,范围为1530岁。课程信息:课程号:字符型,长度为8位,唯一标识课程。课程名:字符型,长度为30位。学分:数值型,范围为16分。成绩:学号:与学生信息中的学号一致。课程号:与课程信息中的课程号一致。成绩:数值型,范围为0100分。2.某软件系统有一个模块,其功能是计算两个整数的最大公约数。请用Python语言实现该模块,并进行单元测试。答案:```pythondefgcd(a,b):whileb!=0:a,b=b,a%breturna单元测试importunittestclassTestGCD(unittest.TestCase):deftest_gcd(self):self.assertEqual(gcd(12,18),6)self.assertEqual(gcd(25,5),5)self.assertEqual(gcd(3,7),1)if__name__=='__main__':unittest.main()```解析:首先定义了一个函

温馨提示

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

评论

0/150

提交评论