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

下载本文档

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

文档简介

2026年软件工程习题及答案一、单项选择题(每题2分,共20分)1.以下关于需求规格说明书(SRS)的描述中,最能体现其核心价值的是()。A.包含所有用户提出的功能点B.明确系统与外部环境的交互边界C.可被开发团队和用户共同验证D.详细描述每个模块的代码实现逻辑答案:C解析:需求规格说明书的核心是为开发和验证提供依据,因此可验证性(C)是关键。A可能包含冗余需求,B是边界定义的一部分但非核心,D属于设计或实现文档范畴。2.在软件设计中,若需要根据运行时的不同条件动态切换算法(如支付时选择支付宝、微信或信用卡),最适合采用的设计模式是()。A.策略模式B.状态模式C.观察者模式D.模板方法模式答案:A解析:策略模式(A)通过封装不同算法,允许在运行时替换,符合动态切换支付方式的场景。状态模式关注对象状态变化引起的行为改变,观察者模式用于对象间的通知,模板方法模式定义算法骨架。3.以下测试类型中,主要用于验证软件是否满足用户显性需求的是()。A.单元测试B.集成测试C.验收测试D.压力测试答案:C解析:验收测试(C)由用户或客户执行,直接验证是否满足需求。单元测试验证模块功能,集成测试验证模块协作,压力测试验证系统极限性能。4.敏捷开发中,“每日站会(DailyScrum)”的主要目的是()。A.详细讨论技术难点的解决方案B.同步团队成员的进度、阻碍和计划C.评审迭代完成的用户故事D.制定下一个迭代的需求清单答案:B解析:每日站会的核心是快速同步(B),通常限制在15分钟内,成员回答“完成了什么”“计划做什么”“遇到什么阻碍”。A属于技术讨论会议,C是迭代评审会,D是迭代计划会。5.软件维护中,为修复因硬件环境变更(如操作系统升级)导致的软件故障,属于()。A.纠错性维护B.适应性维护C.完善性维护D.预防性维护答案:B解析:适应性维护(B)针对外部环境变化(如硬件、操作系统、政策)进行调整。纠错性维护修复已存在的错误,完善性维护增加新功能,预防性维护优化代码以降低未来维护成本。6.以下关于用例(UseCase)的描述中,错误的是()。A.用例应从用户视角描述系统行为B.一个用例可以包含多个子用例C.用例必须覆盖所有可能的异常流程D.用例名称应体现具体的交互目标(如“提交订单”)答案:C解析:用例需覆盖主要流程和关键异常,但无需穷尽所有可能(C错误)。A、B、D均符合用例设计的基本原则。7.在软件项目估算中,若已知类似项目的规模为10000行代码(LOC),开发周期为6个月,当前项目规模为15000LOC,采用“类比估算”法,预计开发周期约为()(假设规模与周期呈非线性关系,复杂度系数为1.1)。A.8个月B.9个月C.10个月D.12个月答案:B解析:类比估算公式为:T2=T1×(S2/S1)^a,其中a为复杂度系数(1.1)。代入得T2=6×(15000/10000)^1.1≈6×1.5^1.1≈6×1.55≈9.3,取整为9个月(B)。8.软件体系结构设计中,“松耦合、高内聚”原则的主要目的是()。A.提高系统的可维护性和可扩展性B.减少代码量以降低开发成本C.提升系统的运行效率D.简化单元测试的执行难度答案:A解析:松耦合(模块间依赖少)和高内聚(模块功能单一)可降低修改成本,提高可维护性和扩展性(A)。B、C、D是间接效果,非主要目的。9.以下关于软件配置管理(SCM)的描述中,正确的是()。A.版本控制是SCM的唯一核心活动B.基线(Baseline)是经过评审且冻结的配置项集合C.配置项仅包括源代码和文档D.SCM在项目后期(如测试阶段)才需要介入答案:B解析:基线(B)是开发过程中关键节点的配置项集合,经评审后冻结,作为后续开发的基础。SCM包括版本控制、变更管理、配置审计等(A错误);配置项还包括测试用例、脚本等(C错误);SCM需从项目启动时介入(D错误)。10.某系统需要支持每秒1000次交易(TPS),响应时间不超过2秒,这属于()。A.功能需求B.性能需求C.安全需求D.可用性需求答案:B解析:TPS和响应时间属于性能需求(B)。功能需求描述系统应做什么,安全需求涉及数据保护,可用性需求关注系统可用时间比例。二、简答题(每题6分,共30分)1.简述用例图的基本组成元素,并举例说明“扩展关系”(Extend)的应用场景。答案:用例图的基本元素包括:参与者(Actor,如“用户”“管理员”)、用例(UseCase,如“登录系统”“查看订单”)、关系(包含关系Include、扩展关系Extend、泛化关系Generalization)。扩展关系表示一个用例(扩展用例)在特定条件下可添加到另一个用例(基础用例)的流程中。例如,基础用例“提交订单”在“用户为新注册用户”时,扩展用例“赠送优惠券”会被触发,此时两者为扩展关系。2.软件测试中,“白盒测试”与“黑盒测试”的主要区别是什么?各列举两种常用方法。答案:区别:白盒测试基于代码内部结构(如逻辑、路径)设计测试用例,关注程序内部如何运行;黑盒测试基于需求规格,不考虑内部代码,关注输入输出是否符合预期。白盒测试方法:语句覆盖、路径覆盖;黑盒测试方法:等价类划分、边界值分析。3.敏捷开发中的“用户故事(UserStory)”应满足什么原则(INVEST原则)?并解释每个字母的含义。答案:INVEST原则包括:独立(Independent,故事间无强依赖)、可协商(Negotiable,细节可在迭代中讨论)、有价值(Valuable,对用户或客户有意义)、可估算(Estimable,大小适合估算)、小(Small,可在1个迭代内完成)、可测试(Testable,有明确验收标准)。4.软件维护的四类活动是什么?分别举例说明。答案:(1)纠错性维护:修复上线后发现的漏洞(如支付接口返回错误码未处理);(2)适应性维护:调整系统以适配新操作系统(如从Windows10升级到Windows11后的驱动兼容问题);(3)完善性维护:根据用户反馈添加新功能(如在购物车中增加“批量删除”功能);(4)预防性维护:重构老化代码以提高可维护性(如将冗余的重复代码提取为公共函数)。5.什么是软件体系结构的“质量属性”?列举5种常见的质量属性,并简要说明其含义。答案:质量属性是衡量软件系统非功能特性的指标。常见质量属性包括:(1)性能:系统响应时间、吞吐量(如每秒处理1000次请求);(2)可靠性:系统在一定时间内无故障运行的概率(如MTBF≥5000小时);(3)可维护性:修改系统的难易程度(如修复一个bug的平均时间);(4)安全性:防止未授权访问或数据泄露的能力(如支持HTTPS加密传输);(5)可扩展性:添加新功能或扩展现有功能的难易程度(如支持插件式模块开发)。三、应用题(每题10分,共30分)1.某在线教育平台需要设计“学生选课”功能的用例图。已知参与者包括“学生”“课程管理员”“系统”(外部接口,如支付系统),用例包括“浏览课程列表”“提交选课申请”“支付课程费用”“审核选课(管理员确认学生资格)”“提供选课成功通知”。要求:(1)绘制用例图的基本结构(文字描述即可);(2)标注用例间的包含或扩展关系。答案:(1)用例图结构:参与者:学生(左侧)、课程管理员(右侧)、系统(上方,代表外部支付接口)。用例:浏览课程列表(学生左侧)、提交选课申请(学生与课程管理员之间)、支付课程费用(学生与系统之间)、审核选课(课程管理员与提交选课申请之间)、提供选课成功通知(提交选课申请下方)。(2)关系标注:“提交选课申请”包含“支付课程费用”(学生需支付后才能提交申请);“审核选课”扩展“提交选课申请”(仅当学生资格存疑时,管理员触发审核流程);“提供选课成功通知”包含于“提交选课申请”(申请通过后自动提供通知)。2.针对“电商平台购物车添加商品”功能,设计一组测试用例(需覆盖正常流程、边界条件、异常情况、并发操作)。答案:测试用例设计如下:测试用例编号测试项输入条件预期输出TC01正常添加商品选择商品A(库存100),数量1购物车显示商品A,数量1,总金额正确TC02边界条件选择商品B(库存5),数量5购物车显示数量5,提示“库存剩余0”TC03异常情况选择商品C(库存0),数量1提示“商品无库存,无法添加”TC04并发操作用户1和用户2同时添加商品D(库存1)仅一个用户添加成功,另一用户提示“库存不足”3.某软件项目采用瀑布模型开发,计划6个月完成,当前已进行3个月。项目进度报告显示:需求分析(原计划1个月,实际1.2个月)、设计(原计划1.5个月,实际2个月)、编码(原计划2个月,已进行0.5个月,完成20%)。请分析项目当前状态(是否延迟?延迟原因),并提出至少3项改进措施。答案:(1)状态分析:项目延迟。各阶段实际耗时:需求分析超0.2个月,设计超0.5个月;编码阶段原计划2个月,当前0.5个月应完成25%(0.5/2=25%),但仅完成20%,进度落后。累计延迟约0.2+0.5+(25%-20%)×2=0.9个月,整体延迟约1个月。(2)改进措施:①针对需求和设计阶段的延迟,组织专家评审剩余设计文档,减少后续返工;②编码阶段增加资源(如临时调配其他团队成员支援),或调整任务优先级(优先开发核心功能);③引入敏捷方法中的每日站会,加强团队沟通,及时解决技术阻塞;④重新估算剩余工作量,调整后续阶段时间计划(如测试阶段压缩0.5个月),并与客户沟通变更。四、综合题(每题20分,共20分)某医疗管理系统开发项目中,出现以下需求冲突:临床科室(用户方)要求:“医生开具处方时,必须强制校验药品配伍禁忌(即两种药品不能同时使用),否则系统不允许提交。”开发团队(技术方)认为:“实时校验需要调用第三方药品数据库接口,该接口响应时间不稳定(平均2秒,最坏10秒),会导致医生操作卡顿,影响用户体验。”项目负责人(甲方)希望:“在保证功能正确性的前提下,尽量平衡用户体验和开发难度。”请结合需求工程知识,分析各方诉求的核心矛盾,提出至少3种可能的解决方案,并说明每种方案的优缺点。答案:(1)核心矛盾:用户方强调功能正确性(强制校验),技术方担忧性能(接口延迟影响体验),项目负责人需平衡两者。(2)可能的解决方案及优缺点:方案一:强制实时校验+超时提示实现方式:提交处方时调用第三方接口校验,若接口响应超时(如超过3秒),提示“校验超时,是否继续提交?”,医生确认后可提交。优点:兼顾功能正确性(正常情况强制校验),减少极端延迟的影响;缺点:超时情况下可能允许配伍禁忌的处方提交,存在医疗风险。方案二:本地缓存+定期更新实现方式:将常用药品配伍禁忌规则缓存到本地数据库,提交时优先校验本地规则;本地无结果时再调用第三方接口。每日凌晨同步第三方数据库更新规则。优点:本地校验响应快(毫秒级),减少对第三方接口的依赖;缺点:本地规则可能滞后(如新药上市或规则变更未及时同步),存在校验不准确风险。方案三:异步校验+事后提醒实现方式:医生提交处方时不强制校验,系统后台异步调用接口校验;若发现配伍禁忌,向医生发送消息提醒(如弹框或站内信),并标记该处方需复核。优点:用户操作无卡顿,体验流畅;缺点:无法阻止错误处方立即生效(如药品已发放),可能引发医疗事故。方案四:分级校验策略实现方式:根据药

温馨提示

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

评论

0/150

提交评论