《软件工程》11套考试复习练习题、作业题(含答案)
- 格式:docx
- 大小:76.08 KB
- 文档页数:34
《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格B. 软件设计C. 软件编码D. 软件测试答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 以下哪个不属于软件工程的基本原则?A. 分而治之B. 信息隐藏C. 模块化D. 编码规范答案:D4. 以下哪个不是软件工程的四大支柱?A. 软件需求B. 软件设计C. 软件验证D. 软件项目管理答案:C5. 以下哪种软件过程模型是迭代和增量的?A. 瀑布模型B. 快速应用开发C. 敏捷开发D. 原型模型答案:C6. 以下哪个不是软件测试的级别?A. 单元测试B. 集成测试C. 系统测试D. 需求测试答案:D7. 以下哪种软件维护类型是最常见的?A. 更正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A8. 以下哪个不属于软件项目的风险管理策略?A. 风险避免B. 风险转移C. 风险减轻D. 风险接受答案:B9. 以下哪个不属于软件需求分类?A. 功能需求B. 性能需求C. 可用性需求D. 测试需求答案:D10. 以下哪个不属于软件设计的准则?A. 模块化B. 信息隐藏C. 功能耦合D. 数据抽象答案:C二、填空题(每题2分,共20分)11. 软件工程的主要目标是提高软件的__________和降低软件的__________。
答案:可维护性、成本12. 软件开发的三个基本阶段是:__________、__________、__________。
答案:需求分析、设计、实现13. 软件过程模型分为__________模型和__________模型。
答案:预测性、适应性14. 软件测试的四个基本级别是:__________、__________、__________、__________。
答案:单元测试、集成测试、系统测试、验收测试15. 软件维护的四种类型是:__________、__________、__________、__________。
软件工程练习题库+答案一、单选题(共56题,每题1分,共56分)1.实现虚存最主要的技术是()。
A、整体对换B、整体覆盖C、多道程序设计D、部分对换正确答案:D2.逻辑回归算法通常使用下列哪种方法求解A、统计分析B、梯度下降迭代优化C、直接求解D、相识度计算正确答案:B3.从二叉搜索树中查找一个元素时,其时间复杂度大致为A、O(n)B、O(n2)C、O(1)D、O(log2n)正确答案:D4.下面哪些概念在页式虚拟存储管理系统中一定用到?()A、抖动B、段表C、缺页中断D、联想存储器正确答案:C5.msconfig命令可以用来配置()。
A、系统配置B、协议配置C、服务配置D、应用配置正确答案:A6.执行完当前指令后, PC 中存放的是后继指令的地址,因此 PC 的位数和()的位数相同。
A、指令寄存器B、程序状态字寄存器C、主存地址寄存器D、指令译码器正确答案:C7.下列不属于防火墙核心技术的是()。
A、(静态/动态)包过滤技术B、NAT技术C、应用代理技术D、日志审计正确答案:D8.求 2n 个数中的最大值和最小值,最少的比较次数是A、4n/3B、2n-2C、3n-2D、3n/2正确答案:C9.LSTM网络主要解决了RNN中遇到的哪些问题A、不可并行计算,速度提升B、无法处理语言数据C、可以有选择的记忆D、特征编码稀疏问题正确答案:C10.当你感觉到你的Win2003运行速度明显减慢,当打开任务管理器后发现CPU使用率达到了100%,你认为你最有可能受到了()攻击。
A、缓冲区溢出攻击B、木马攻击C、暗门攻击D、DOS攻击正确答案:D11.A方有一对密钥(KA公开,KA秘密),B方有一对密钥(KB公开,KB秘密),A方向B方发送数字签名M,对信息M加密为:M’= KB 公开(KA秘密(M))。
B方收到密文的解密方案是()。
A、KB公开(KA秘密(M’))B、KA公开(KA公开(M’))C、KA公开(KB秘密(M’))D、KB秘密(KA秘密(M’))正确答案:C12.df.head(6)的含义是A、展示数据中前6条数据B、展示数据中第6条数据C、展示数据中后6条数据D、删除数据中的前6条正确答案:A13.关于机器学习与深度学习的描述正确的是A、深度学习算法不需要对数据进行预处理B、深度学习算法只能应用在计算机视觉与自然语言处理中C、深度学习算法优于机器学习算法D、深度学习算法通常迭代速度较慢正确答案:D14.信息安全中PDR模型的关键因素是()。
(完整word版)软件工程习题集+答案《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程考试及答案一、单项选择题(每题2分,共20分)1. 软件工程的三要素是()。
A. 方法、工具和过程B. 需求、设计和实现C. 测试、维护和文档D. 分析、编码和测试答案:A2. 软件需求分析阶段的工作不包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:D3. 软件测试的目的是()。
A. 发现软件中的错误B. 证明软件是正确的C. 证明软件是无错误的D. 验证软件是否满足需求答案:D4. 在软件工程中,模块化设计的主要目的是()。
A. 提高运行效率B. 提高开发效率C. 提高软件的可维护性D. 降低软件成本答案:C5. 软件配置管理的主要活动不包括()。
A. 版本控制B. 变更控制C. 配置审计D. 软件测试答案:D6. 软件项目风险管理的第一步是()。
A. 风险识别B. 风险评估C. 风险监控D. 风险应对答案:A7. 软件工程中的“软件危机”主要表现为()。
A. 软件成本超支B. 软件开发进度延迟C. 软件质量低下D. 所有以上选项答案:D8. 软件工程的目标不包括()。
A. 提高软件生产率B. 提高软件质量C. 降低软件成本D. 减少软件用户答案:D9. 软件维护不包括()。
A. 纠错性维护B. 适应性维护C. 完善性维护D. 软件测试答案:D10. 软件项目管理的主要任务不包括()。
A. 项目计划B. 项目组织C. 项目监控D. 软件编码答案:D二、多项选择题(每题3分,共15分)11. 软件工程的主要特点包括()。
A. 规范化B. 系统化C. 可度量化D. 可预测性答案:ABCD12. 软件需求分析阶段的主要任务包括()。
A. 需求获取B. 需求分析C. 需求规格说明D. 软件设计答案:ABC13. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD14. 软件工程中的软件过程包括()。
A. 需求分析B. 设计C. 实现D. 测试答案:ABCD15. 软件配置管理的目的包括()。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
《软件工程作业》考试复习题库(含答案)一、选择题1. 软件工程的三要素不包括以下哪项?A. 软件开发B. 软件维护C. 软件管理D. 软件设计答案:B2. 下列哪种编程范式主要用于软件工程中的面向对象编程?A. 命令式编程B. 函数式编程C. 面向对象编程D. 逻辑编程答案:C3. 在软件开发过程中,以下哪个阶段产生的文档最多?A. 需求分析B. 设计C. 编码D. 测试答案:A4. 以下哪个软件工程方法学强调在软件开发过程中使用迭代和增量开发?A. 敏捷开发B. 水晶方法C. 瀑布模型D. 敏捷开发与水晶方法的结合答案:A5. 以下哪个工具常用于软件需求分析阶段的模型建立?A. UML图B. 数据流程图C. 状态转换图D. 时序图答案:B二、填空题1. 软件工程的目的是提高软件的______、______和______。
答案:可用性、可靠性、可维护性2. 软件开发生命周期包括______、______、______、______和______。
答案:需求分析、设计、编码、测试、维护3. 在软件需求分析阶段,常用的方法有______、______和______。
答案:数据流程图、实体关系图、状态转换图4. 软件设计分为______设计和______设计。
答案:架构设计、详细设计5. 软件测试的目的不包括以下哪项______。
答案:找出软件的错误三、判断题1. 软件工程是计算机科学的一个分支。
()答案:正确2. 软件工程适用于所有类型的软件开发项目。
()答案:错误3. 敏捷开发方法适用于所有类型的软件开发项目。
()答案:错误4. 软件测试是软件开发过程中的最后一个阶段。
()答案:错误5. 软件维护是软件开发过程中的重要环节。
()答案:正确四、简答题1. 简述软件工程的定义及目标。
答案:软件工程是应用计算机科学、数学原理和方法来设计、开发、测试和维护软件的一门学科。
其目标包括提高软件的可用性、可靠性和可维护性,降低软件开发成本,提高软件开发效率。
专业:移动通信科目:软件工程一、单项选择题1.好(de)软件结构应该是()A.低耦合、低内聚B.高耦合、高内聚C.高耦合、低内聚D.低耦合、高内聚答案:D2.需求分析中开发人员要从用户那里了解()A.软件(de)规模B.软件做什么C.用户使用界面D.输入(de)信息答案:B3.软件调试技术包括()A.演绎法B.循环覆盖C.边界值分析D.集成测试答案:A4.软件需求规格说明书(de)内容不应包括对()(de)描述.A.用户界面及运行环境B.主要功能C.算法(de)详细过程D.软件(de)性能答案:C5.常用动词或动词词组来表示()A.属性B.关联C.类D.对象答案:B6.软件可行性研究实质上是要进行一次()需求分析、设计过程.A.详细(de)B.深入(de)C.彻底(de)D.简化、压缩(de)答案:D7.软件部分(de)内部实现与外部可访问性分离,这是指软件(de)()A.继承性B.共享性C.抽象性D.封装性答案:D8.软件部分(de)内部实现与外部可访问性分离,这是指软件(de)()A.共享性B.继承性C.抽象性D.封装性答案:D9.在详细设计阶段,经常采用(de)工具有()A.PDLB. DFDC.SCD.SA答案:A10.数据字典是对数据定义信息(de)集合,它所定义(de)对象都包含于()A.软件结构B.程序框图C.方框图D.数据流图答案:D11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述()工作应属于软件开发期(de)内容.A.问题定义B.可行性研究C.都不是D.总体设计答案:D12.应用执行对象(de)操作可以改变该对象(de)()A.功能B.数据C.属性D.行为答案:C13.软件质量因素不包括()A.可理解性B.可测试性C.正确性D.高性能答案:D14.软件可行性研究实质上是要进行一次()需求分析、设计过程.A.详细(de)B.彻底(de)C.深入(de)D.简化、压缩(de)答案:D15.结构化设计是一种面向()(de)设计方法.A.数据结构B.数据流C..程序D.数据库答案:B16.结构分析法就是面向()自顶向下逐步求精进行需求分析(de)方法.A.对象B.目标C.功能D.数据流答案:D17.进行需求分析可使用多种工具,但()是不适用(de) A.PAD图B.数据字典C.判定表D.数据流图答案:A18.面向对象(de)主要特征除唯一性、继承性、多态性外,还具有()A.兼容性B.完整性C.移植性D.封装性答案:D19.数据存储和数据流都是(),仅仅所处(de)状态不同.A.动作B.数据C.分析结果D.事件答案:B20.模块()定义为受该模块内一个判定影响(de)所有模块集合.A.作用域B.宽度C.控制域D.接口答案:A21.详细设计(de)任务是确定每个模块(de)()A.内部特性B.外部特性C.算法和使用(de)数据D.功能和输入输出数据答案:C22.结构化程序设计,主要强调(de)是()A.程序(de)可理解性B.模块大小C.程序(de)执行效率D.模块关系答案:A23.在软件结构设计完成后,对于下列说法,正确(de)是()A.非单一功能模块(de)扇入数大比较好,说明本模块重用率高B.一个模块(de)扇出太多,说明该模块过分复杂,缺少中间层C.单一功能(de)模块扇入高时应重新分解,以消除控制耦合(de)情况D.一个模块(de)扇入太多,说明该模块过分复杂,缺少中间层答案:B24.软件危机产生(de)主要原因是()A.开发人员编写程序能力差B.软件日益庞大C.不能与用户良好地沟通D.没有适应(de)开发模型答案:B25.下述四个能力成熟度等级,级别最高(de)是()A.已定义级B.已管理级C.可重复级D.优化级答案:D26.以下说法正确(de)是()A.功能模型不包括对象模型中值(de)约束条件B.功能模型说明对象模型中动作(de)含义C.功能模型说明对象模型中操作(de)含义D.功能模型说明对象模型中约束(de)含义答案:C27.关于软件维护(de)说法错误(de)是()A.软件维护不只是修改软件中(de)错误B.软件维护对于开发商来说是无利可图(de)C.在编码过程中添加适当(de)注释,可以降低软件维护(de)难度D.软件维护是软件生命周期中占用时间最长(de)一个阶段答案:B28.可行性分析中,系统流程图用于描述()A.新系统B.当前逻辑模型C.目标系统D.当前运行系统答案:D29.结构化分析建立功能模型(de)工具是()A.DFDB.判定树/判定表C.结构化语言D.SC答案:A30.快速原型模型(de)主要特点之一是()A.及早提供全部完整软件B.及早提供工作软件C.开发完毕才见到工作软件D.开发完毕才见到产品答案:B31.下述四个能力成熟度等级,级别最高(de)是()A.已定义级B.初始级C.已管理级D.可重复级答案:C32.检查软件产品是否符合需求定义(de)过程称为()A.单元测试B.系统测试C.确认测试D.集成测试答案:C33.软件工程学(de)一个重要目标是()A.定义各种软件开发过程模型B.降低程序对存储空间(de)要求C.提高程序(de)执行效率D.提高软件(de)可维护性答案:D34.软件质量因素不包括()A.正确性B.可测试性C.高性能D.可理解性答案:C35.以下哪个软件生存周期模型是一种风险驱动(de)模型()A.增量模型B.喷泉模型C.瀑布模型D.螺旋模型答案:D36.结构化分析方法使用(de)描述工具()定义了数据流图中每一个图形元素.A.判定树B.数据字典C.判定表D.数据流图答案:B37.关于软件维护(de)说法错误(de)是()A.软件维护是软件生命周期中占用时间最长(de)一个阶段B.软件维护对于开发商来说是无利可图(de)C.在编码过程中添加适当(de)注释,可以降低软件维护(de)难度D.软件维护不只是修改软件中(de)错误答案:B38.在整个软件维护阶段所花费(de)全部工作中,所占比例最大(de)是()A.校正性维护B.完善性维护C.适应性维护D.预防性维护答案:B39.以下不属于序言性注释(de)有()A.程序(de)整体说明B.语句功能C.模块设计者D.修改日期答案:B40.集成测试是为了发现()A.性能、质量不合要求B.编码错误C.功能错误D.接口错误答案:D41.应用执行对象(de)操作可以改变该对象(de)()A.数据B.行为C.功能D.属性答案:D42.需求分析最终结果是产生()A.设计说明书B.项目开发计划C.需求规格说明书D.可行性分析报告答案:C43.一个只有顺序结构(de)程序,其环形复杂度是()A.1B.3C.5D.0答案:A44.通信内聚是指()A.各处理使用相同(de)输入数据或者产生相同(de)输出数据B.把需要同时执行(de)动作组合在一起形成(de)模块C.模块内所有元素共同完成一个功能,缺一不可D.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行答案:A45.常用动词或动词词组来表示()A.属性B.类C.对象D.关联答案:D二、填空题1.结构化设计是一种面向(________________)(de)设计方法.答案:数据流2.软件质量因素不包括(________________).答案:高性能3.选择(________________)命令,可以看到Rose中对应图形(de)分类.答案:Browse4.快速原型模型(de)主要特点之一是(________________)答案:及早提供工作软件5.应用执行对象(de)操作可以改变对象(de)(________________).答案:属性6.UML中(de)(________________)关系就是通常所说(de)继承关系.7.目前在集成测试时普遍采用(________________)测试方法答案:渐增式8.在前期需求明确、资料完整(de)情况下尽量采用(________________)模型.答案:瀑布模型9.UML中用一端为空心三角形(de)连接表示(________________)关系.答案:泛化10.通常使用(________________)模型简洁地描述软件过程.答案:生命周期11.从软件工程观点看,(________________)是软件最重要(de)质量标准之一.答案:可理解性12.软件工程(de)三要素包括方法、(________________)和过程.答案:工具13.一个模块直接使用另一个模块(de)内部数据是(________________)耦合.答案:内容14.逆向工程是(________________)过程答案:代码到模型15.目前在集成测试时普遍采用(________________)测试方法答案:渐增式16.需求分析最终结果是产生(________________).答案:需求规格说明书17.HIPO图是由一组IPO图和一张(________________)图组成.18.部署图用(________________)关系表示各节点之间(de)通信路径.答案:关联19.检查软件产品是否符合需求定义(de)过程称为(________________)测认.答案:确认20.度量软件规模(de)常用技术主要有(________________)和功能点技术.答案:代码行技术21.软件工程(de)三要素包括方法、(________________)和过程.答案:工具22.度量软件规模(de)常用技术主要有代码行技术和(________________).答案:功能点技术23.面向对象方法用(________________)分解取代了传统方法(de)功能分解.答案:对象24.技术是能从根本上提高软件可维护性(de)重要技术(________________).答案:软件重用25.复杂问题(de)对象模型通常由主题层、类与对象层、(________________)、属性层和服务层5个层次组成.答案:对象模型26.黑盒测试着着重测试(________________).答案:软件功能27.数据存储和数据流都是处于不同状态(de)(________________)答案:数据28.类是类图(de)主要(de)主要部件,由类名、(________________)、操作3部分组成.答案:属性29.面向对象方法用(________________)分解取代了传统方法(de)功能分解.答案:对象30.软件总体设计时应该遵循模块化、抽象、逐步求精、(________________)、局部化和模块独立等6条基本原理.答案:信息隐藏31.面向对象方法用(________________)分解取代了传统方法(de)功能分解.答案:对象32.Rose模型文件(de)扩展名为(________________).答案:mdl33.软件部分(de)内部实现与外部可访问性分离,这是指软件(de)(________________).答案:封装性34.复杂问题(de)对象模型通常由(________________)、类与对象层、结构层、属性层和服务层5个层次组成.答案:主题层35.选择(________________)命令,可以看到Rose中对应图形(de)分类答案:Browse36.度量软件规模(de)常用技术主要有代码行技术和(________________).答案:功能点技术37.通常把编码和测试统称为(________________).答案:实现38.好(de)软件结构应该(________________)答案:低耦合、高内聚39.详细设计(de)任务是确定每个模块(de)(________________).答案:算法和使用(de)数据40.面向对象方法用(________________)分解取代了传统方法(de)功能分解.答案:对象41.(________________)是软件生命周期(de)最后一个阶段,也是持续时间最长、代价最大(de)一个阶段.答案:维护42.数据字典是对数据定义信息(de)集合,它所定义(de)对象都包含于(________________)图中.答案:数据流图43.UML中(de)泛化关系就是通常所说(de)(________________)关系.答案:继承44.软件工程学(de)一个重要目标是(________________).答案:提高软件(de)可维护性45.用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用(________________)关系来表示.答案:扩展三、判断题1.( )测试计划、测试用例、出错统计和有关(de)分析报告一般不用长期保存.答案:N2.( )CMM 是指导软件开发(de)一种面向对象(de)新技术.答案:N3.( )基本路径测试是基本路径测试是黑盒技术设计测试用例(de)方法之一.测试用例(de)方法之一.答案:N4.( )SA方法(de)基本思想是自顶向下逐步分解.答案:Y5.( )类是对具有共同特征(de)对象(de)进一步抽象.答案:Y6.( )一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物.答案:Y7.( )完成测试后,为缩短源程序长度而删去程序中(de)注解,对软件(de)维护不会产生影响.答案:N8.( )类是对具有共同特征(de)对象(de)进一步抽象.答案:Y9.( )软件项目管理始于项目计划,而第一项计划活动就是估算.答案:Y10.( )尽可能在软件开发过程中保证各阶段文档(de)正确性.答案:Y11.( )随着软件技术(de)发展,人们逐渐认识到阅读程序(de)重要性,编码不仅要强调效率还要强调清晰.答案:Y12.( )重用是提高软件生产率和目标系统质量(de)重要途径,它基本上始于设计.答案:Y13.( )软件也会磨损和老化.答案:N14.( )如果测试过程没有发现任何错误,则说明软件没有错误.答案:N15.( )设计阶段(de)输出是编码阶段(de)输入.答案:Y16.( )类图用来表示系统中类和类与类之间(de)关系,它是对系统动态结构(de)描述.答案:N17.( )在可行性研究中最难决断和最关键(de)问题是经济可行性.答案:N18.( )基于情景(de)测试是面向对象系统确认测试(de)主要方法.答案:N19.( )耦合是指一个模块内各个元素彼此结合(de)紧密程度.答案:N20.( )白盒法是一种静态测试方法,主要用于模块测试.答案:N21.( )软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系.答案:N22.( )在进行需求分析时同时考虑维护问题.答案:Y23.( )Jackson方法是面向数据结构(de)设计方法.答案:Y24.( )软件工程过程应该以软件设计为中心,关键是编写程序.答案:N25.( )项目应用领域是选择语言(de)关键因素.答案:Y26.( )模块耦合越强,则说明模块(de)独立性越强.答案:N27.( )在面向对象(de)需求分析方法中,建立动态模型是最主要(de)任务.答案:N28.( )软件结构图中,模块框之间若有直线连接,表示它们之间存在顺序执行关系.答案:N29.( )如果把软件开发所需(de)资源画成一个金字塔,人是最基本(de)资源.答案:Y30.( )软件即程序.答案:N四、简答题1.提高软件可重要性(de)主要准则有哪些答案:(1)提高方法(de)内聚(2)减小方法(de)规模(3)保持方法(de)一致性(4)把策略与实现分开(5)全面覆盖(6)尽量不使用全局信息(7)利用继承机制2.面向对象(de)集成测试主要有哪几种不同(de)测试策略答案:传统(de)集成测试策略没有意义.面向对象软件(de)集成测试主要有下述两种不同(de)测试策略:基于线程(de)测试基于(de)测试使用3.模块独立性与信息隐蔽有何关系答案:“模块独立性”是指软件系统中每个模块只涉及软件要求(de)具体(de)子功能,而和软件系统中其它(de)模块(de)接口是简单(de).所谓(de)“信息隐蔽”是指每个模块(de)实现细节对于其它模块来说是隐蔽(de).也就是说,模块中所包含(de)信息(包括数据和过程)不允许其它不需要这些信息(de)模块使用.衡量模块独立性(de)一个准则就是模块内聚,达到信息隐蔽(de)模块是信息内聚模块,它是高内聚(de)情形,因此模块独立性当然就很强了4.为什么说现代牌汽车是小汽车类(de)特化,而车轮不是小汽车(de)特化答案:现代牌汽车是具有小汽车(de)全部属性和行为,它只不过是一种特定品牌(de)小汽车,因此现代牌汽车可以从基类派生出来,也就是说,现代牌汽车是小汽车类(de)特化.车轮是组成小汽车(de)一种零件.小汽车还有车身,发动机等许多种其他(de)零件,小汽车所具有(de)许多属性和行为车轮都不具有,因此车轮不能从小汽车类派生出来,它不是小汽车类(de)特化5.软件生存周期都包括哪些活动答案:软件生命期(de)活动包括:可行性研究与计划;需求分析;概要设计、详细设计;编码、测试;维护等活动.(这些活动将以适当(de)方式分配到不同阶段去完成)6.目前常用(de)面向过程(de)方法,面向对象(de)方法,面向结构(de)方法,形式化方法等软件开发方法各有什么特点答案:(1)面向过程(de)程序=算法+数据结构;(2)面向对象(de)程序=对象+类+继承+消息通信;(3)面向构件(de)程序=构件+架构;(4)形式化方法是建立在严格(de)数学基础上,以逻辑推理为出发点;(5)它们有各自(de)方法、工具和过程;7.面向对象方法(de)启发规则有哪些答案:(1)设计结构应该清晰易懂(2)一般-特殊结构(de)深度应适当(3)设计结构(de)类(4)使用简单(de)协议(5)使用简单(de)服务(6)把设计变动减至最小8.在面向对象(de)系统开发过程中,每个阶段需要建造(de)模型各有什么作用答案:1)在面向对象(de)系统开发过程中,每个阶段要建造不同(de)模型.(2)需求分析阶段建造(de)模型用来捕获系统需求分析(3)设计阶段(de)模型是分析模型(de)扩充,为实现阶段作指导性和技术性(de)解决方案(4)实现阶段(de)模型是真正(de)源代码及编译后(de)组件.(5)发布阶段是描述系统物理上(de)架构.9.快速原型技术(de)基本思想是什么答案:在软件开发(de)早期,快速开发一个目标软件系统(de)原型;让用户对其进行评价并提出修改意见;然后开发人员根据用户(de)意见对原型进行改进.。
最新软件工程考试题库(含答案和解析)一、选择题1. 以下哪个不是软件工程的三个基本目标之一?A. 可维护性B. 可靠性C. 可用性D. 低成本答案:D解析:软件工程的三个基本目标是可维护性、可靠性和可用性。
低成本虽然也是一个重要的考虑因素,但并不是软件工程的基本目标。
2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A解析:面向对象编程(OOP)通过将数据和操作数据的方法封装在一起,降低了软件复杂性,提高了代码的可重用性和可维护性。
3. 软件开发过程中,以下哪个阶段需要进行需求分析?A. 设计阶段B. 编码阶段C. 测试阶段D. 需求分析阶段答案:D解析:需求分析是软件开发过程中的第一个阶段,其主要任务是明确软件系统的功能、性能等需求。
4. 以下哪个软件工程方法主要关注软件项目的管理?A. 敏捷开发B. ScrumC. UMLD. 设计模式答案:B解析:Scrum 是一种敏捷开发方法,主要关注软件项目的管理和团队协作。
UML(统一建模语言)主要用于软件设计,设计模式主要用于解决软件设计中的常见问题。
5. 以下哪个软件工具主要用于版本控制?A. GitB. EclipseC. JiraD. Visual Studio答案:A解析:Git 是一款分布式版本控制系统,主要用于跟踪和管理软件开发过程中的代码变更。
二、填空题1. 软件工程的基本活动包括______、______、______和______。
答案:需求分析、设计、编码、测试2. 敏捷开发的核心价值观包括______、______、______、______和______。
答案:个体和互动、工作软件、客户协作、响应变化、持续交付3. 软件开发过程中,常用的设计模式包括______、______、______、______和______。
答案:工厂模式、单例模式、策略模式、装饰模式、观察者模式4. 软件测试的目的是______、______和______。
软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。
(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。
(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。
(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。
(√/×)5. 软件测试的目的是证明软件的正确性。
(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。
2. 软件生命周期包括需求分析、设计、编码、测试和______。
3. 在面向对象方法中,对象是现实世界中实体的______。
4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。
5. 软件测试的目的是发现软件中的______。
四、简答题(每题2分,共10分)1. 简述软件工程的目标。
2. 简述软件生命周期的阶段。
3. 简述面向对象方法的基本概念。
4. 简述软件开发模型的作用。
5. 简述软件测试的目的。
五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。
请列出该系统的需求。
2. 请解释瀑布模型和喷泉模型的区别。
3. 请解释面向对象方法中的继承和多态的概念。
4. 请解释软件测试中的黑盒测试和白盒测试的区别。
5. 请解释软件维护的类型。
六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
5. 试说明“软件生存周期”的概念。
6. 试论述瀑布模型软件开发方法的基本过程。
7. 软件工程是开发、运行、维护和修复软件的系统化方法,它包含哪些要素?试说明之。
8. 软件工程学的基本原则有哪些?试说明之。
9. 有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。
对否?请解释你的回答。
上机题1. 假设需要制造一个带有四个按钮和两个灯泡的盒子并具有以下功能:⑴有四个按钮输入,分别称为B1,B2,B3和B4;⑵有两个灯泡作为输出,分别称为L1和L2;⑶B1是打开电源的按钮;⑷B4是关闭电源的按钮;⑸B2和B3 是操作按钮;⑹在B1被按下后及B4被按下前,系统应称为电源打开状态;⑺在B4被按下后及B1被按下前,系统应称为电源关闭状态;⑻在电源关闭状态下,B2和B3按钮不起作用;⑼在电源关闭状态下,灯应不亮;⑽从最近一次电源打开状态算起,如果B2被按下的次数比B3被按下的次数多,L1亮,否则L2亮。
⑾任何时候都不能有一个以上的灯泡亮;⑿如果其中的一个灯泡出现故障,另一个灯泡应以2秒钟的间隔闪烁,而不管B2和B3的操作过程。
当B4按下时,闪烁停止;当B1被按下时,闪烁重新开始。
当故障被排除后闪烁停止,系统恢复正常状态。
作业2:1. 雇员类含有计算报酬的行为,利用面向对象的(),可以使得其子类专职雇员类和兼职雇员类计算报酬的行为有相同名称,但有不同的计算方法。
A)多态性 B)继承性 C)封装性 D)复用性2. 下面关于UML叙述正确的是()。
A)UML是一种建模语言,使用者不能对其扩展B)UML仅适用于系统的分析和设计阶段C)UML是独立于软件开发过程的D)UML仅是一组图形的集合3. 某公司欲开发一个在线交易系统,为了能够精确表达用户于系统的负责交互过程,应采用UML的()进行交互过程建模。
A)序列图 B)用例图 C)活动图 D)对象图4.如果对银行ATM的常用功能进行建模,包括取款、存款、转账、查询等,可以用()来表示该系统的功能需求。
A)序列图 B)用例图 C)活动图 D)对象图5.你认为一个系统分析员的理想训练和基础知识是什么?请说明理由。
6. 可行性研究主要研究哪些问题?试说明之。
上机题1.一家公司有许多部门,部门名唯一地确定一个部门;每个部门由一名经理管理,也有的经理并不管理任何一个部门;每个部门生产多种产品,每种产品仅由一个部门生产。
该公司有许多名员工为之工作,员工又进一步划分为经理和工人两类。
每名工人可参加多个工程项目,每个项目需要多名工人;每位经理可以主持多个项目,每个项目仅有一人主持。
使用对象模型描述类对象所具有的属性,以及公司类对象提供的服务。
2.建立一个图书馆系统的用例视图作业3:1.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
供选择的答案:A. 总结B. 阶段性报告C. 需求分析评审D. 以上答案都不正确2.各种分析方法都有它们共同适用的( )。
供选择的答案:A.说明方法B.描述方式 C. 准则D.基本原则3.软件需求分析的任务不应包括( A )。
进行需求分析可使用多种工具,但( B )是不适用的。
在需求分析中,分析员要从用户那里解决的最重要的问题是( C )。
需求规格说明书的内容不应当包括( D )。
该文档在软件开发中具有重要的作用,但其作用不应当包括( E )。
供选择的答案:A. ①问题分析②信息域分析③结构化程序设计④确定逻辑模型B. ①数据流图②判定表③PAD图④数据词典C. ①要让软件做什么②要给该软件提供哪些信息③要求软件工作效率如何④要让软件具有什么样的结构D. ①对重要功能的描述②对算法的详细过程性描述③软件确认准则④软件的性能E. ①软件设计的依据②用户和开发人员对软件要“做什么”的共同理解③软件验收的依据④软件可行性分析的依据4.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于( A )系统。
它从用户界面的开发入手,首先形成( B ),用户( C ),并就( D )提出意见,它是一种( E )型的设计过程。
供选择的答案:A. ①需求不确定性高的②需求确定的③管理信息④决策支持B. ①用户界面使用手册②用户界面需求分析说明书③系统界面原型④完善的用户界面C. ①改进用户界面的设计②阅读文档资料③模拟用户界面的运行④运行用户界面原型D.①同意什么和不同意什么②使用和不使用哪一种编程语言③程序的结构④执行速度是否满足要求E.①自外向内②自顶向下③自内向外④自底向上5.在软件需求分析时,首先建立当前系统的物理模型,再根据物理模型建立当前系统的逻辑模型。
试问:什么是当前系统?当前系统的物理模型与逻辑模型有什么差别?6.软件需求分析是软件工程过程中交换意见最频繁的步骤。
为什么交换意见的途径会经常阻塞?上机题1.建立一个图书馆系统的活动图2.建立一个图书馆系统的顺序图作业4:1. 需求分析()。
A. 要回答“软件必须做什么?B. 可概括为:“理解,分解,表达”6个字C. 要求编写需求规格说明书D. 以上都对2. 进行需求分析可使用多种工具,但()是不适用的。
A. 数据流图B. 判定表C. PAD图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. 软件需求分析阶段的工作,可以分成以下4个方面:对问题的识别、分析与综合、制定规格说明以及()。
A. 总结B. 实践性报告C. 需求分析评审D. 以上答案都不正确9. 以下说法错误的是()。
A. 结构化语言外层中的顺序结构是一组祈使语句、选择语句、重复语句的顺序排列B. 结构化语言外层中的选择结构使用IF-THEN-ELSE-ENDIF等关键字C. 结构化语言的内层可以采用祈使语句的自然语台短语D. 结构化语言外层中的重复结构使用CASE-OF-ENDCASE等关键字10. 结构化分析方法使用的描述工具()定义了数据流图中每一个图形元素。
A. 数据流图B. 数据字典C. 判定表D. 判定树上机题1.我们需研制一个“教育基金会的捐助资金管理系统”的例子来说明数据流图的具体建模方法。
要求如下:⑴由捐助者向基金会提出捐助请求,经身份确认后被接受,对捐助人进行登记并授予捐助证书,捐款存入银行。
⑵由教育单位提出用款申请,在进行相应的合法性校验和核对相应的捐款储备后做出支出。
⑶每月给基金会的理事会一份财政状况报表,列出本月的收入和支出情况和资金余额。
为了搞清系统中的各种关系,用数据流图的方法进行分析和建模。
2.假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。
对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。
当某种零件的库存数量少于库存量临界值时就应该再次订货。
作业5:1.从下列有关系统结构图的叙述中选出正确的叙述。
(1) 系统结构图中反映的是程序中数据流的情况。
(2) 系统结构图是精确表达程序结构的图形表示法。
因此,有时也可将系统结构当作程序流程图使用。
(3) 一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
(4) 在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。
这时,使用斜的线段和水平、垂直的线段具有相同的含义。
2.软件的开发工作经过需求分析阶段,进入( A )以后,就开始着手解决“怎么做”的问题。
常用的软件设计方法有( B )、( C )、( D )和( E )等方法。
供选择的答案:A ~ B.①程序设计②设计阶段③总体设计④定义阶段⑤SD方法⑥SP方法C. ①Jackson方法②瀑布法③快速原型法④回溯法D ~ E. ①LCP(Wanier)方法②递归法③Parnas方法④自下而上修正⑤逐步求精法⑥检测校正法3.软件设计中划分模块的一个准则是(A)。