《软件工程》期末试卷(3套含答案)_第1页
《软件工程》期末试卷(3套含答案)_第2页
《软件工程》期末试卷(3套含答案)_第3页
《软件工程》期末试卷(3套含答案)_第4页
《软件工程》期末试卷(3套含答案)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

《软件工程》期末试卷(3套含答案)第一套试卷一、单项选择题(每题2分,共20分)1.瀑布模型的主要特点是()A.强调快速迭代B.阶段间无反馈C.文档驱动D.适用于需求模糊项目2.需求规格说明书的核心作用是()A.记录用户原始需求B.作为开发与验证的依据C.展示技术方案D.用于市场推广3.黑盒测试主要用于验证()A.程序内部逻辑B.功能正确性C.代码结构D.性能指标4.UML中用于描述系统动态行为的图是()A.类图B.用例图C.顺序图D.包图5.模块内所有元素共同完成一个功能,缺一不可,这种内聚属于()A.逻辑内聚B.功能内聚C.通信内聚D.顺序内聚6.软件生命周期中,确定“做什么”的阶段是()A.详细设计B.需求分析C.编码D.测试7.敏捷开发的核心价值观不包括()A.个体与交互优于流程与工具B.可工作的软件优于详尽的文档C.合同谈判优于客户协作D.响应变化优于遵循计划8.白盒测试的依据是()A.需求规格说明书B.程序内部结构C.用户手册D.项目计划9.软件维护中占比最高的类型是()A.纠错性维护B.适应性维护C.完善性维护D.预防性维护10.CMMI5级的关键过程域是()A.需求管理B.量化项目管理C.配置管理D.集成软件管理二、填空题(每空1分,共10分)1.软件危机的主要表现是______和______。2.敏捷开发的典型方法包括Scrum和______。3.白盒测试的覆盖标准有语句覆盖、判定覆盖、______、路径覆盖等。4.软件维护的流程包括问题分析、______、修改实施、测试验证、______。5.软件项目管理的三要素是______、质量、成本。6.需求工程包括需求获取、______、需求验证、需求管理四个阶段。7.CMMI的五个成熟度等级中,第3级是______级。三、简答题(每题8分,共40分)1.简述选择软件生命周期模型时需要考虑的主要因素。2.需求分析阶段需要完成哪些主要任务?3.模块化设计的主要优点有哪些?4.软件测试应遵循哪些基本原则?5.列举并简要说明软件项目风险的主要分类。四、应用题(共30分)1.某图书管理系统的需求如下:读者可查询图书信息(书名、作者、ISBN、馆藏状态),管理员可添加/删除图书信息,超期借阅需计算滞纳金(每日0.5元)。请绘制该系统的顶层用例图(10分)。2.某项目活动时间如下:A(3天)→B(5天)→C(4天);A→D(6天)→C。要求:(1)绘制项目单代号网络图(5分);(2)计算关键路径及总工期(5分);(3)说明活动D的自由时差(5分)。3.设计一个测试用例,验证“用户登录功能”(要求包含输入数据、预期输出、测试步骤)(5分)。第一套答案一、单项选择题1.C2.B3.B4.C5.B6.B7.C8.B9.C10.B二、填空题1.软件质量低;开发进度难以控制(或成本超支)2.XP(极限编程)3.条件覆盖(或判定-条件覆盖)4.方案设计;版本发布5.进度6.需求分析(或需求建模)7.已定义三、简答题1.主要因素:项目需求的明确程度(需求模糊选迭代/敏捷,明确选瀑布);项目规模(大型项目需结构化模型);团队经验(新手团队适合文档驱动模型);客户参与度(高参与度适合敏捷);技术复杂度(新技术采用增量模型)。2.任务:理解用户需求(获取);建立需求模型(功能模型、数据模型、行为模型);编写需求规格说明书;验证需求正确性、完整性、一致性;与用户确认需求。3.优点:降低复杂度(分解为小模块);提高可维护性(局部修改不影响其他模块);促进并行开发(模块可独立实现);提高复用性(通用模块重复使用);便于测试与调试(模块可独立测试)。4.原则:尽早并持续测试;测试用例应包含输入数据和预期输出;程序员避免测试自己的程序;充分注意测试中的群集现象(80%错误来自20%模块);严格执行测试计划;妥善保存测试用例。5.分类:技术风险(技术难度超出现有能力);管理风险(进度拖延、资源不足);组织风险(团队沟通不畅、人员流动);外部风险(政策变化、供应商问题);商业风险(市场需求变化、竞争产品出现)。四、应用题1.顶层用例图:参与者为“读者”“管理员”;用例包括“查询图书信息”“添加图书信息”“删除图书信息”“计算滞纳金”;读者与查询用例关联,管理员与添加、删除、计算用例关联。2.(1)网络图:A→B→C,A→D→C(节点为活动,箭头表示依赖);(2)关键路径:A→D→C(3+6+4=13天),总工期13天;(3)活动D的自由时差=(A→B→C的工期12天)-(A→D的工期9天)-D的持续时间6天?不,正确计算:活动B的最早完成时间=3+5=8,活动D的最早完成时间=3+6=9;活动C的最早开始时间=max(8,9)=9,所以D的自由时差=9(C的ES)-9(D的EF)=0天。3.测试用例:-测试项:用户登录功能-输入数据:有效用户名(test123)、正确密码(pass123);有效用户名、错误密码(wrong123);空用户名、正确密码;有效用户名(含特殊字符)、正确密码-预期输出:正确登录(跳转主页);提示“密码错误”;提示“用户名不能为空”;登录成功(支持特殊字符)-测试步骤:1.输入有效信息,点击登录;2.记录响应结果;3.重复其他输入组合,验证提示信息。第二套试卷一、单项选择题(每题2分,共20分)1.结构化设计的主要工具是()A.用例图B.数据流图C.类图D.状态图2.两个模块通过参数表传递简单数据,这种耦合属于()A.内容耦合B.公共耦合C.数据耦合D.控制耦合3.软件设计中“高内聚低耦合”的目的是()A.提高运行效率B.降低维护难度C.减少代码量D.增强安全性4.以下不属于软件质量特性的是()A.功能性B.可移植性C.可修改性D.可盈利性5.软件配置管理的核心是()A.版本控制B.变更管理C.基线管理D.以上都是6.需求获取的常用方法不包括()A.问卷调查B.原型法C.代码审查D.用户访谈7.单元测试的主要对象是()A.模块B.子系统C.整个系统D.接口8.软件项目进度管理的常用工具是()A.甘特图B.用例图C.状态图D.类图9.软件复用的最高层次是()A.代码复用B.设计复用C.需求复用D.架构复用10.以下属于动态测试的是()A.代码走查B.静态分析C.集成测试D.文档评审二、填空题(每空1分,共10分)1.需求工程的核心产物是______。2.软件设计分为______设计和详细设计两个阶段。3.测试用例的三要素是输入数据、______、测试环境。4.软件维护的类型包括纠错性、适应性、______和预防性维护。5.敏捷方法的三大支柱是透明性、______、适应性。6.数据流图的基本元素包括加工、______、数据存储、外部实体。7.软件可靠性的指标通常用______表示。8.CMMI的过程域分为项目管理、______、工程、支持四类。三、简答题(每题8分,共40分)1.需求规格说明书应满足哪些质量要求?2.简述内聚与耦合的关系及其对软件质量的影响。3.单元测试主要测试哪些内容?4.软件项目进度管理的主要步骤有哪些?5.列举并说明软件复用的主要类型。四、应用题(共30分)1.某在线考试系统的功能:考生登录后选择试卷答题,系统实时计算得分;教师可创建试卷(设定题型、分值)、查看成绩统计。请绘制0层数据流图(10分)。2.某模块的伪代码如下:IF(A>5ANDB=0)THENX=X/AELSEIF(A=3ORC>0)THENX=X+1ENDIF要求:(1)画出控制流图(5分);(2)计算环路复杂度(5分);(3)设计满足判定覆盖的测试用例(5分)。3.某项目计划工期10周,预算100万元。第5周末检查:已完成40%工作量,实际花费50万元。计算BCWP、BCWS、ACWP,并分析成本与进度偏差(5分)。第二套答案一、单项选择题1.B2.C3.B4.D5.D6.C7.A8.A9.D10.C二、填空题1.需求规格说明书(SRS)2.总体(或概要)3.预期输出4.完善性5.检查6.数据流7.MTBF(平均无故障时间)8.过程管理三、简答题1.质量要求:正确性(符合用户需求);完整性(覆盖所有需求);一致性(无矛盾);可验证性(需求可测试);可修改性(便于更新);可跟踪性(与需求源关联);清晰性(无歧义);必要性(每项需求均有存在理由)。2.关系:内聚是模块内部的紧密程度,耦合是模块间的依赖程度;高内聚低耦合是互补目标。影响:高内聚使模块功能单一,便于理解和修改;低耦合减少模块间干扰,提高可维护性;反之,低内聚高耦合会导致代码冗余、修改困难、测试复杂。3.测试内容:模块接口(参数传递正确性);局部数据结构(变量初始化、作用域);边界条件(输入/输出的极值);独立路径(覆盖所有逻辑分支);错误处理(异常输入的处理逻辑)。4.步骤:活动定义(分解项目为具体任务);活动排序(确定任务依赖关系);活动资源估算(所需人力、设备);活动时间估算(每项任务持续时间);进度计划编制(甘特图/网络图);进度控制(监控实际进度与计划偏差,采取纠偏措施)。5.类型:代码复用(直接使用已有代码);设计复用(复用设计模式、架构);需求复用(复用已有的需求规格);文档复用(复用用户手册、测试用例);组件复用(使用第三方组件库);架构复用(复用成熟软件架构如MVC)。四、应用题1.0层数据流图:外部实体“考生”“教师”;处理“考生登录”“选择试卷”“在线答题”“实时计分”“创建试卷”“成绩统计”;数据流包括“登录信息”“试卷选择”“答题数据”“得分”“试卷参数”“成绩统计结果”;数据存储“考生信息库”“试卷库”“成绩库”。2.(1)控制流图:开始→判断1(A>5且B=0)→分支1(X=X/A)→判断2(A=3或C>0)→分支2(X=X+1)→结束(注:需正确表示条件节点和边);(2)环路复杂度=边数-节点数+2=7-5+2=4(或判定节点数+1=2+1=3?需重新数:节点包括开始、判断1、分支1、判断2、分支2、结束,共6节点;边数:开始→判断1(1),判断1是→分支1(2),判断1否→判断2(3),分支1→判断2(4),判断2是→分支2(5),判断2否→结束(6),分支2→结束(7),共7边。复杂度=7-6+2=3);(3)判定覆盖需覆盖判断1的T/F和判断2的T/F。测试用例:①A=6,B=0,C=0(判断1=T,判断2=F)→执行X=X/A;②A=2,B=1,C=5(判断1=F,判断2=T)→执行X=X+1;③A=3,B=2,C=-1(判断1=F,判断2=T)→执行X=X+1;④A=4,B=0,C=0(判断1=F,判断2=F)→不执行任何分支(需覆盖所有可能)。3.BCWP=预算×完成百分比=100×40%=40万元;BCWS=预算×时间百分比=100×50%=50万元;ACWP=50万元;成本偏差CV=BCWP-ACWP=40-50=-10万元(超支);进度偏差SV=BCWP-BCWS=40-50=-10万元(进度滞后)。第三套试卷一、单项选择题(每题2分,共20分)1.敏捷开发的典型实践不包括()A.每日站会B.持续集成C.详细设计文档D.用户故事2.需求获取时,用于挖掘用户深层需求的方法是()A.观察法B.5W1H分析法C.原型法D.头脑风暴3.软件架构风格中,适合Web应用的是()A.分层架构B.事件驱动架构C.客户-服务器架构D.管道-过滤器架构4.软件可靠性与可用性的主要区别是()A.可靠性关注故障频率,可用性关注故障修复时间B.可靠性关注性能,可用性关注功能C.可靠性是技术指标,可用性是用户体验D.无区别5.软件过程改进的模型是()A.ISO9001B.CMMIC.IEEE830D.以上都是6.软件测试的V模型中,集成测试对应的开发阶段是()A.需求分析B.详细设计C.概要设计D.编码7.软件配置项不包括()A.需求规格说明书B.测试用例C.开发人员D.可执行程序8.以下属于软件设计原则的是()A.开闭原则B.单一职责原则C.里氏替换原则D.以上都是9.软件项目风险评估的主要方法是()A.SWOT分析B.德尔菲法C.关键路径法D.帕累托图10.软件质量保证(SQA)的核心活动是()A.执行测试B.审查过程合规性C.编写文档D.修复缺陷二、填空题(每空1分,共10分)1.软件危机的解决方案是采用______和______。2.需求验证的常用方法包括______、原型验证、专家评审。3.设计模式根据目的可分为创建型、______、行为型三类。4.软件测试的阶段包括单元测试、______、系统测试、验收测试。5.软件项目管理的三要素中,______是约束条件。6.数据流图的绘制原则是______,逐层分解。7.软件复用的基础是______。8.敏捷开发的三大工件是产品待办列表、______、迭代待办列表。三、简答题(每题8分,共40分)1.简述瀑布模型的优缺点。2.用例图的主要作用是什么?包含哪些基本元素?3.软件测试与调试的主要区别是什么?4.软件项目风险管理包括哪些主要步骤?5.软件质量保证(SQA)需要开展哪些活动?四、应用题(共30分)1.某医院挂号系统:患者可通过APP或窗口挂号(选择科室、医生、时段),系统检查号源是否充足(不足则提示),挂号成功提供电子凭证。请用结构化方法绘制实体-关系图(E-R图),要求包含患者、号源、科室、医生实体(10分)。2.某模块的Java代码如下:publicintcalculate(inta,intb){if(a>0){if(b>0){returna+b;}else{returna-b;}}else{if(b>0){returnb-a;}else{returnab;}}}要求:(1)画出控制流图(5分);(2)计算所需最少测试用例数(满足路径覆盖)(5分);(3)设计测试用例(5分)。3.某项目采用敏捷开发,迭代周期2周,产品待办列表有5个用户故事:A(8点)、B(5点)、C(3点)、D(5点)、E(8点)。团队速度为10点/迭代。要求:(1)规划前2个迭代的待办列表(5分);(2)说明迭代评审会的主要内容(5分)。第三套答案一、单项选择题1.C2.B3.C4.A5.B6.C7.C8.D9.B10.B二、填空题1.软件工程方法;工具与环境2.需求评审(或需求测试)3.结构型4.集成测试5.成本(或进度、质量)6.自顶向下7.标准化(或接口规范)8.迭代待办列表(或冲刺待办列表)三、简答题1.优点:阶段明确,文档齐全,便于管理;适合需求明确、规模较大的项目;强调前期计划,减少后期变更成本。缺点:需求变更代价高(后期修改困难);依赖前期需求分析的准确性;用户反馈晚(交付前无法看到原型);灵活性差,不适合快速变化的领域。2.作用:描述系统的功能需求,展示参与者与系统的交互。基本元素:参与者(Actor,如用户、外部系统);用例(UseCase,系统的功能单元);关联关系(参与者与用例的交互);包含关系(<<include>>,用例分解);扩展关系(<<extend>>,条件性添加功能)。3.区别:测试是发现错误的过程;调试是定位并修复错误的过程。测试由独立团队执行;调试由开发人员执行。测试有明确的计划和用例;调试具有探索性。测试贯穿整个生命周期;调试在测试发现错误后进行。4.步骤:风险识别(列出可能风险);风险分析(评估概率和影响);风险规划(制定应对策略:规避、转移、减轻、接受);风险监控(跟踪风险状态,更新应对措施);风险应对(执行规划的策略)。5.活动:制定质量保证计划;审查开发过程(需求

温馨提示

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

评论

0/150

提交评论