计算机基础软件工程习题_第1页
计算机基础软件工程习题_第2页
计算机基础软件工程习题_第3页
计算机基础软件工程习题_第4页
计算机基础软件工程习题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

计算机基础软件工程习题【考核对象】计算机科学与技术专业本科二年级学生【题型分值分布】单项选择题(10题×2分=20分)填空题(10题×2分=20分)判断题(10题×2分=20分)简答题(8题×2分=16分)应用题(8题×4分=32分)一、单项选择题(每题2分,共20分)1.软件生命周期模型中,强调开发过程迭代与增量的是哪种模型?A.瀑布模型B.V模型C.喷泉模型D.敏捷模型2.在需求分析阶段,使用用例图的主要目的是什么?A.描述系统内部模块依赖关系B.规定系统接口协议C.建立系统功能与用户交互的映射D.设计数据库表结构3.下列关于UML类图描述错误的是?A.类图用于表示系统的静态结构B.关系包括关联、继承和依赖三种类型C.泛化关系体现"是一种"的继承关系D.类图可以完全替代时序图表达动态行为4.白盒测试中,判定覆盖要求测试用例覆盖所有可能的判断分支,其数学基础是什么?A.逻辑覆盖理论B.覆盖矩阵理论C.归纳覆盖理论D.等价类划分理论5.下列哪项不属于软件维护的静态分析任务?A.代码复杂度分析B.代码重复度检测C.缺陷模式识别D.动态性能监控6.在设计模式中,适配器模式主要用于解决什么问题?A.类之间接口不兼容B.提高类抽象程度C.减少类间耦合D.延迟对象创建7.下列关于版本控制系统的描述错误的是?A.Git采用分布式架构B.SVN支持原子提交操作C.Mercurial优化了大型项目合并性能D.Git的分支操作会创建新的存储空间8.系统需求规格说明书中,哪种类型的文档最适合用于验收测试依据?A.系统设计说明书B.模块接口规范C.用户场景描述D.算法实现伪代码9.下列哪种测试方法属于黑盒测试的等价类划分技术?A.语句覆盖测试B.逻辑覆盖测试C.边界值分析D.数据流覆盖测试10.软件质量模型中,CMMI三级(已定义级)的核心特征是什么?A.组织级过程定义B.项目级过程裁剪C.组织级过程改进D.项目级过程验证---二、填空题(每题2分,共20分)1.软件需求分析中,______是指系统必须满足的功能性要求,而______是系统运行时不应出现的行为约束。2.UML中,用于表示对象之间交互关系的图称为______,它通过消息传递实现对象协作。3.黑盒测试中,错误猜测测试方法基于测试人员对程序缺陷的______,选择可能存在问题的代码区域。4.软件配置管理中,______是指对代码、文档等所有项目元素的版本控制,而______则是确保版本一致性的过程。5.设计模式中,工厂方法模式通过定义一个创建对象的接口,让子类决定实例化哪一个类,体现了______设计原则。6.缺陷密度通常用每千行代码的缺陷数表示,其计算公式为______。7.敏捷开发中,Scrum框架的核心角色包括产品负责人、______和______。8.软件测试过程中,______是指在测试开始前预先定义的测试目标、范围和策略,而______则是测试执行期间的动态调整。9.软件架构风格中,微服务架构体现了______的设计理念,每个服务负责一个独立的业务能力。10.软件维护类型中,______是指对软件产品使用过程中产生的错误进行的修正,而______是指为适应新环境或需求变更进行的改进。---三、判断题(每题2分,共20分)1.软件需求规格说明书一旦确定就不能修改,因为任何变更都会导致开发返工。(×)2.类图中的组合关系表示"整体-部分"关系,且部分对象的生命周期受整体控制。(√)3.白盒测试的代码覆盖率指标越高,测试用例的完备性就一定越好。(×)4.敏捷开发完全排斥文档,采用面对面沟通替代所有书面记录。(×)5.软件配置管理只包括对源代码的版本控制,不需要管理设计文档。(×)6.软件架构中的设计模式可以直接用代码实现,无需考虑具体应用场景。(×)7.测试驱动开发(TDD)要求先编写测试用例再实现功能代码。(√)8.软件维护过程中,适应性维护是指为适应新法律要求进行的修改。(×)9.软件质量模型中,ISO/IEC9126标准定义了六个质量特性维度。(√)10.软件项目管理中,进度偏差是指实际完成工作量与计划完成工作量的差值。(×)---四、简答题(每题2分,共16分)1.简述需求分析阶段的主要任务及其输出成果。2.比较面向对象分析与面向过程分析的主要区别。3.解释软件测试中"回归测试"的概念及其必要性。4.描述版本控制系统中的"分支"与"合并"操作的基本原理。5.列举三种常见的软件架构风格,并说明其特点。6.说明软件缺陷报告应包含哪些关键信息。7.简述敏捷开发中"用户故事"的定义及编写原则。8.解释软件配置管理中"基线"的概念及其作用。---五、应用题(每题4分,共32分)案例1某企业开发一套客户关系管理系统,需求文档中明确要求:(1)系统需支持多用户并发登录,单次会话有效期为30分钟;(2)客户信息包括姓名、联系方式、购买记录等字段;(3)管理员可导出客户数据为Excel格式,但敏感信息(如电话号码)需脱敏处理。根据上述需求,回答:(1)分析该系统可能存在的非功能性需求;(2)设计至少三个关键功能的用例图;(3)说明在测试阶段应重点关注的测试点。案例2某银行开发线上支付系统,采用微服务架构设计,包含订单服务、支付服务、风控服务等模块。系统上线后发现:(1)在高并发场景下,订单服务响应时间超过500ms;(2)风控服务与支付服务之间存在数据同步延迟问题;(3)部分用户反馈支付页面加载缓慢。请分析可能的原因并提出优化建议。案例3某软件公司采用Scrum开发模式,团队配置如下:产品负责人:2人开发人员:6人ScrumMaster:1人当前迭代周期为2周,已完成以下任务:(1)用户故事点估算:订单管理模块为15点,支付模块为25点;(2)开发人员计划产出:每人每天完成3个故事点;(3)发现支付模块存在3个高优先级缺陷需要修复。计算:(1)本迭代的理论完成能力;(2)当前进度状态及可能风险;(3)建议的调整措施。案例4某企业使用Git进行代码管理,仓库结构如下:```├──feature/dev├──feature/bugfix├──main└──release```开发过程中发现:(1)dev分支上某个功能合并到main分支时引入了冲突;(2)bugfix分支修复的缺陷在后续版本中再次出现;(3)release分支的代码需要发布到生产环境。请说明:(1)如何解决分支冲突并确保代码质量;(2)分析缺陷反复出现的原因及改进方案;(3)发布前的验证流程应包含哪些关键步骤。---标准答案及解析一、单项选择题1.C解析:喷泉模型通过迭代方式逐步完善系统功能,支持需求变更,其特点与题干描述一致。2.C解析:用例图通过角色与用例的交互关系,直观表达系统功能需求,是需求分析的核心工具。3.D解析:类图描述静态结构,时序图表达动态交互,两者功能互补而非替代关系。4.A解析:判定覆盖基于逻辑覆盖理论,要求测试用例覆盖所有判断组合,是白盒测试的基本要求。5.D解析:动态性能监控属于动态测试范畴,静态分析包括代码结构分析、缺陷模式识别等。6.A解析:适配器模式解决接口不兼容问题,将一个类接口转换为客户期望的接口。7.B解析:SVN采用集中式架构,不支持原子提交,而是通过日志记录操作历史。8.C解析:用户场景描述直接反映用户需求,是验收测试的核心依据。9.C解析:边界值分析是等价类划分的扩展技术,关注输入范围的临界值。10.A解析:已定义级(Level3)要求组织建立标准化的开发过程,形成可重复的执行模型。二、填空题1.功能性需求;非功能性需求2.交互图(或时序图/通信图)3.错误直觉4.版本控制;变更控制5.开闭6.缺陷数/(代码行数/1000)7.开发团队;产品负责人8.测试计划;测试策略9.单一职责10.修正性维护;适应性维护三、判断题1.×解析:需求变更需遵循变更控制流程,敏捷开发中通过迭代持续演进需求。2.√解析:组合关系具有严格的生命周期依赖,部分对象不可独立存在。3.×解析:高覆盖率不等于完备性,需结合业务场景设计测试用例。4.×解析:敏捷开发重视文档,但强调轻量级、可执行性强的文档。5.×解析:配置管理覆盖所有项目元素,包括代码、文档、设计等。6.×解析:设计模式需结合具体场景应用,并非万能解决方案。7.√解析:TDD遵循"红-绿-重构"循环,先编写测试再实现功能。8.×解析:适应性维护是为适应环境变化(如操作系统升级)进行的修改。9.√解析:ISO/IEC9126定义功能性、可靠性、易用性等6个维度。10.×解析:进度偏差=(实际完成工作量-计划完成工作量)/计划完成工作量。四、简答题1.需求分析任务包括:需求获取、需求分析、需求建模和需求验证。输出成果有:用例模型、领域模型、功能规格说明书、非功能需求列表等。2.面向过程分析关注系统执行流程,将业务逻辑转化为步骤序列;面向对象分析基于对象及其关系建模,更符合人类认知习惯。3.回归测试是在代码修改后重新执行原有测试用例,确保修改未引入新缺陷。必要性在于:验证修复效果、检测副作用、建立质量基线。4.分支是代码的副本,允许独立开发;合并是将分支变更整合到主线的过程,需解决冲突。Git通过commit历史实现版本追踪。5.常见架构风格:分层架构(如三层架构)、客户端-服务器架构、微服务架构。特点:分层架构关注解耦,客户端-服务器架构分离表现层与数据层。6.缺陷报告应包含:编号、标题、严重程度、复现步骤、实际结果、期望结果、环境信息、优先级、报告人等。7.用户故事是描述软件功能的简短描述,格式为"作为一个<角色>,我想要<功能>,以便<价值>"。编写原则:角色明确、价值驱动、粒度适中。8.基线是软件开发过程中的一个稳定版本节点,作为后续变更的基准。作用:定义版本边界、触发配置审核、作为发布候选。五、应用题案例1(1)非功能性需求:并发用户数≥1000,响应时间≤2s,数据安全性(加密传输、脱敏存储),系统可用性≥99.9%。(2)用例图:①登录用例(用户登录/登出)②客户管理(增删改查客户信息)③订单管理(创建/查询订单)④报表导出(导出客户数据)(3)测试点:会话超时处理、并发登录冲突、敏感信息脱敏规则、导出性能、权限控制。案例2原因分析:①订单服务资源瓶颈(CPU/内存不足)②风控服务接口延迟③CDN缓存未生效导致静态资源加载慢优化建议:①订单服务垂直拆分或增加集群②风控服务异步化改造③配置CDN加速策略④实施性能压测优化架构案例3(1)理论完成能力:6人×2天×3点/人=36点(2)进度状态:当前完成15+25-3=37点,超出理论能力1点(

温馨提示

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

评论

0/150

提交评论