2025年软件工程期末试题及答案_第1页
2025年软件工程期末试题及答案_第2页
2025年软件工程期末试题及答案_第3页
2025年软件工程期末试题及答案_第4页
2025年软件工程期末试题及答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

2025年软件工程期末试题及答案一、单项选择题(每题2分,共30分)1.某团队采用Scrum开发模式,在冲刺(Sprint)规划会议中,产品负责人(ProductOwner)的核心任务是:A.分解用户故事为任务B.确定冲刺目标及待完成的产品待办项(ProductBacklogItems)C.估算任务工时D.每日站会同步进度答案:B2.以下关于需求规格说明书(SRS)的描述,错误的是:A.应包含功能需求、非功能需求和约束条件B.需满足正确性、完整性、一致性、可验证性C.用户故事(UserStory)可作为SRS的补充形式D.必须使用严格的形式化语言编写答案:D3.在软件测试中,若要验证“用户输入非法邮箱格式时,系统应提示‘邮箱格式错误’”,最适合的测试类型是:A.压力测试B.集成测试C.单元测试D.黑盒测试答案:D4.某系统需支持每秒1000次交易处理,且故障恢复时间不超过5分钟,这两项需求分别对应软件质量特性中的:A.性能效率、可靠性B.功能性、可维护性C.易用性、安全性D.兼容性、可移植性答案:A5.以下不属于设计模式中“行为型模式”的是:A.观察者模式(Observer)B.策略模式(Strategy)C.工厂模式(Factory)D.模板方法模式(TemplateMethod)答案:C6.采用敏捷开发时,若团队发现当前冲刺的用户故事无法全部完成,最合理的应对措施是:A.要求成员加班完成B.与产品负责人协商调整冲刺范围C.推迟整个项目发布时间D.降低已完成故事的验收标准答案:B7.软件可靠性的定量指标通常用“平均故障间隔时间(MTBF)”表示,其计算公式为:A.总运行时间/故障次数B.故障次数/总运行时间C.修复时间总和/故障次数D.总运行时间/修复时间总和答案:A8.在数据流图(DFD)中,用于表示数据存储的符号是:A.圆形(加工)B.箭头(数据流)C.开口矩形(外部实体)D.双线矩形(数据存储)答案:D9.以下关于DevOps的描述,正确的是:A.仅关注开发与运维的工具集成B.核心目标是缩短从开发到部署的周期C.要求团队放弃传统测试流程D.适用于所有类型的软件项目答案:B10.某系统需处理用户上传的图片,需求中明确“图片格式仅支持JPEG、PNG,单张大小不超过5MB”,这属于:A.功能需求B.性能需求C.数据需求D.约束条件答案:D11.软件生命周期模型中,“螺旋模型”的核心特点是:A.强调文档驱动与阶段评审B.通过迭代降低风险C.适用于需求明确的小型项目D.采用“编码-测试”的快速循环答案:B12.以下属于静态测试技术的是:A.单元测试执行B.代码走查(Walkthrough)C.压力测试D.集成测试答案:B13.软件配置管理(SCM)中,“基线(Baseline)”的作用是:A.记录代码变更的详细日志B.定义项目的质量目标C.为后续开发提供稳定的可追溯版本D.管理测试用例与需求的映射关系答案:C14.某团队使用用例(UseCase)描述需求,其中“主成功场景”是指:A.用户与系统交互的异常流程B.最可能发生的正常交互流程C.系统内部模块的协作流程D.第三方接口的调用流程答案:B15.以下关于软件维护的描述,错误的是:A.纠错性维护占比通常随软件使用时间增长而增加B.适应性维护是为了使软件适应新的运行环境C.完善性维护旨在提升软件的功能或性能D.预防性维护一般在软件发布前完成答案:D二、填空题(每空1分,共20分)1.软件工程的三要素是方法、工具和__________。答案:过程2.需求工程的主要活动包括需求获取、需求分析、需求规格说明、需求验证和__________。答案:需求管理3.软件测试的V模型中,单元测试对应__________阶段,系统测试对应__________阶段。答案:详细设计;系统设计4.面向对象设计的五大原则(SOLID)包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和__________。答案:依赖倒置原则5.敏捷开发的核心价值观体现在《敏捷宣言》中,包括:个体与交互胜过流程与工具、可工作的软件胜过详尽的文档、客户合作胜过合同谈判、__________。答案:响应变化胜过遵循计划6.软件质量模型(如ISO/IEC25010)将质量特性分为功能性、性能效率、兼容性、易用性、可靠性、安全性、维护性和__________八大类。答案:可移植性7.数据字典(DataDictionary)的主要内容包括数据流、数据项、数据存储和__________的定义。答案:加工(处理逻辑)8.软件项目风险管理包括风险识别、风险评估、__________和风险监控四个步骤。答案:风险应对9.软件体系结构设计中,常见的模式有分层模式、客户端-服务器模式、事件驱动模式和__________(举一例)。答案:微服务模式(或管道-过滤器模式等)10.测试用例的基本要素包括测试输入、预期输出、测试步骤和__________。答案:测试环境11.软件估算方法中,COCOMO模型将项目分为组织型、半独立型和__________三种类型。答案:嵌入型12.持续集成(CI)的核心目标是__________,从而尽早发现集成错误。答案:频繁集成代码并自动运行测试13.用例图的基本元素包括参与者(Actor)、用例(UseCase)和__________(关系类型)。答案:关联(或包含、扩展等)14.软件缺陷的严重程度通常分为致命(Critical)、严重(Major)、一般(Minor)和__________四级。答案:提示(Trivial)15.软件配置项(SCI)包括需求文档、设计文档、代码、测试用例和__________(举一例)。答案:可执行程序(或用户手册等)三、简答题(每题6分,共30分)1.简述瀑布模型与敏捷开发的主要区别,并说明各自适用的场景。答案:瀑布模型是线性顺序开发,强调阶段间的严格顺序和文档驱动,每个阶段完成后需评审才能进入下一阶段;敏捷开发是迭代增量模型,强调快速交付可用软件、客户协作和响应变化,通过短周期(如2-4周的冲刺)迭代开发。瀑布模型适用于需求明确、变更少、对文档要求高的项目(如安全关键系统);敏捷适用于需求易变、需要快速响应用户反馈的项目(如互联网产品)。2.需求验证的主要目的是什么?常用的验证方法有哪些?答案:需求验证的目的是确保需求规格说明书(SRS)满足正确性、完整性、一致性、可验证性等质量要求,避免后期因需求错误导致成本激增。常用方法包括:(1)评审(同行评审、用户评审);(2)原型验证(通过原型让用户体验需求);(3)需求跟踪(确保每个需求可追溯且无遗漏);(4)形式化验证(使用数学方法验证需求逻辑)。3.软件测试的层次有哪些?各层次的测试对象和目标是什么?答案:测试层次包括单元测试、集成测试、系统测试和验收测试。单元测试对象是单个模块/函数,目标是验证代码逻辑正确性;集成测试对象是模块间接口,目标是发现模块协作中的错误;系统测试对象是完整系统,目标是验证系统是否符合需求(包括功能与非功能);验收测试对象是最终产品,目标是让用户确认系统满足业务需求。4.什么是设计模式?简述“单例模式(Singleton)”的应用场景及实现要点。答案:设计模式是针对软件设计中常见问题的可复用解决方案。单例模式用于确保一个类仅有一个实例,并提供全局访问点。应用场景如系统配置管理器、日志服务(需全局唯一实例)。实现要点:(1)构造函数私有化(防止外部实例化);(2)类内部维护唯一实例;(3)提供静态方法返回实例(需考虑线程安全,如使用双重检查锁定)。5.简述软件维护的类型及其占比变化趋势。答案:软件维护分为四类:(1)纠错性维护(修复发布后发现的错误),占比约17%-21%;(2)适应性维护(适应环境变化,如操作系统升级),占比约18%-25%;(3)完善性维护(提升功能/性能,如新增用户需求),占比约48%-50%;(4)预防性维护(优化代码以降低未来维护成本),占比约4%-5%。随软件使用时间增长,纠错性维护占比可能下降(错误逐渐被修复),完善性维护占比通常上升(用户需求扩展)。四、应用题(每题10分,共20分)1.某团队计划开发一个“智能在线教育平台”,主要功能包括:学生在线选课、观看录播视频、提交作业(支持文件上传)、查看成绩;教师发布课程、上传视频、布置作业(设置截止时间)、批改作业(支持文字批注)、发布成绩。(1)请绘制该平台的顶层数据流图(0层DFD),要求包含外部实体、加工、数据流和数据存储。(2)编写一个教师“布置作业”功能的用户故事(UserStory),并补充验收标准。答案:(1)顶层DFD:外部实体:学生、教师、数据库(或存储系统);加工:教育平台核心处理;数据流:学生→平台(选课请求、作业提交、成绩查询);教师→平台(课程发布、视频上传、作业布置、成绩发布);平台→学生(课程列表、视频、成绩);平台→教师(作业列表、学生提交情况);数据存储:课程信息、作业信息、成绩记录。(2)用户故事:作为教师,我希望能在平台上布置作业并设置截止时间,以便学生按时提交。验收标准:①作业标题、描述、附件(可选)、截止时间为必填字段;②截止时间需晚于当前时间(误差≤1分钟);③提交后,学生端实时显示新作业(包含截止时间提醒);④截止时间前,学生可修改提交内容;⑤截止时间后,学生无法提交(系统提示“已过期”)。五、综合分析题(10分)某公司开发的电商系统在上线3个月后,用户反馈“下单支付时频繁出现超时错误”,且客服统计近一周内该问题导致15%的订单流失。假设你是该项目的软件工程师,需负责问题排查与改进。请结合软件工程知识,回答以下问题:(1)可能导致该问题的原因有哪些?(至少列出4点)(2)提出针对性的改进措施(需对应原因)。答案:(1)可能原因:①支付接口性能不足:第三方支付接口响应时间过长(如超过2秒),或并发请求数超过接口限制(如QPS上限)。②数据库瓶颈:订单表或支付日志表索引缺失,导致插入/查询操作慢;事务隔离级别过高(如串行化),引发锁竞争。③前端请求处理不当:未对支付请求做防抖处理(如用户重复点击提交),导致后端接收大量重复请求。④服务器资源不足:应用服务器CPU/内存利用率长期超过80%,无法处理高峰时段(如促销活动)的并发请求。⑤异常处理不完善:支付接口返回超时后,未记录详细日志(如时间戳、用户ID、请求参数),导致问题定位困难。(2)改进措施:①针对支付接口性能:与第三方支付服务商协商优化接口响应(如增加异步回调),或引入本地缓存(如Redis)存储常用支付参数,减少接口调用次数;设置请求限流(如Nginx限制QPS),避免超过接口上限。②优化数据库:对订单表的“用户ID”“支付状态”字段添加索引;将事务隔离级别调整为“读已提交”,并缩短事务执行时

温馨提示

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

评论

0/150

提交评论