2022年软件工程试卷及参考答案.docx
精选学习资料 - - - - - - - - - 试卷 一 一、单项挑选题1、在结构化设计(SD)方法中全面指导模块划分的最重要的原就是 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、Pascal B、 C C、Fortran D、 Prolog 10、讨论开发所需要的成本和资源是属于可行性讨论中的 讨论的一方面; A. 技术可行性 B. 经济可行性 C. 社会可行性 D. 法律可行性11、中级结构性成本模型 COCOMO 是一个 A、静态单变量模型 B、动态单变量模型 C 、静态多变量模型 D、动态多变量模型12、PAD图为()供应了有力的工具;A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件1 名师归纳总结 - - - - - - -第 1 页,共 16 页精选学习资料 - - - - - - - - - 13、以下关于JSP方法不正确的说法是 A、JSP 方法主要用于规模不大的数据处理系统B、JSP 方法不明确的划分软件概要设计和具体设计的两个阶段C、JSP 方法适用于输入数据和输出数据之间有对应关系的问题求解 D 、JSP 方法依据输入、输出的数据结构,按肯定的规章映射成软件的体系结构;因此它只适用于具体设计阶段14、在具体设计阶段,常常采纳的工具有()A、PAD B、 SA C、 SC D、DFD 15、确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于()A、集成测试 B、复原测试 C、验收测试 D、单元测试16、盒图( N-S 图)为()供应了有力的工具;A、系统分析 B、软件的自动化生成 C、自动分析数据 D、测试软件17、 是比较抱负的可重用软构件;A. 子程序库 B. 源代码包含文件 C. 对象 D. 类18、需求分析阶段的任务是确定()A、软件开发方法 B、软件开发工具 C、软件开发费 D 、软件系统的功能19、以下文档与保护人员有关的有 A、软件需求说明书 B 、项目开发方案 C、概要设计说明书 D 、操作手册20、程序的三种基本掌握结构是() A、过程、子程序和分程序 B 、次序、挑选和重复 C 、递归、堆栈和队列 D、调用、返回和转移21、软件生存周期中时间最长的是()阶段;A、总体设计 B、需求分析 C、软件测试 D、软件保护22、为使得开发人员对软件产品的各个阶段工作都进行周密的摸索,从而削减返工, 所以()的编制是很重要的;A、需求说明 B、概要说明 C、软件文档 D、测试方案23、软件部件的内部实现与外部可拜访性的分别,是指软件的();2 名师归纳总结 - - - - - - -第 2 页,共 16 页精选学习资料 - - - - - - - - - A、继承性 B、共享性 C、封装性 D、抽象性24、单元测试是发觉编码错误,集成测试是发觉模块的接口错误,确认测试是为了发觉功能错误,那么系统测试是为了发觉()的错误;A、接口错误 B、编码错误 C、性能、质量不合要求 D、功能错误25、软件工程治理对软件项目的开发治理,即对整个软件()的一切活动的治理;A、软件项目 B、生存期 C、软件开发方案 D、软件开发二、名词说明1、数据流图 2、软件保护 3、软件测试 4、程序的可保护性 5 、软件生存周期 三、简答题1、简述软件结构设计的启示式原就;2、简述结构化程序设计方法的基本要点 3、简述需求分析的原就;4、简述软件生命周期开发方法的基本过程及每个阶段的任务;四、论述题 1、你认为“ 软件就是程序” 这一个观点正确吗?假如不正确,请批驳之;2、试论软件界面友好设计的重要性;3、试述软件开发工具对软件开发的影响;五、应用设计题 1、某图书出版公司期望每月定期向固定客户邮寄最近一个月的图书分类目录;客户可在其收到的目录上圈定自己要买的书;出版公司依据客户的反馈信息邮寄图书;要求为出版公司设计软件,以实现以下功能:3 名师归纳总结 - - - - - - -第 3 页,共 16 页精选学习资料 - - - - - - - - - (1)自动生成图书分类目录;(2)自动处理客户反馈信息;试用面对数据流的方法给出系统的数据流图,并设计出软件结构图;2、现为某银行开发一个运算机储蓄治理系统;要求系统能够完成:将储户填写的存款单或取款单输入系统,假如是存款, 系统记录存款人姓名、住址、 存款类型、 存款日期、 利率等信息,同时要求储户输入口令,并打印出存款单给储户;假如是取款,就系统第一要求储户输入口令,储户身份确认后,系统运算结算清单给储户,结算清单中的信息包括本息金额和利息金额;试依据要求画出该系统的数据流程图;4 名师归纳总结 - - - - - - -第 4 页,共 16 页精选学习资料 - - - - - - - - - 试卷 二 一、单项挑选题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、如有一个运算类型的程序,它的输入量只有一个X,其范畴是 -1.0 ,1.0 ,现从输入的角度考虑一组测试用例:-1.001 ,-1.0 , 1.0 , 1.001 ;设计这组测试用例的方法是 ) A 、条件掩盖法B、等价分类法 C、边界值分析法D、错误估量法8、软件具体设计主要采纳的方法是 A 、模块设计B、结构化设计 C 、 PDL语言D、结构化程序设计9、开发软件所需高成本和产品的低质量之间有着尖锐的冲突,这种现象称做 A. 软件工程B. 软件周期 C. 软件危机D. 软件产生10、按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作(A、需求分析 B、概要设计 C、具体设计 D、软件保护11、在快速原型模型的开发过程中,仅作为需求说明的补充形式的原型是()A、探究型模型 B、演化型模型C、试验型模型D、提交型模型5 名师归纳总结 - - - - - - -第 5 页,共 16 页精选学习资料 - - - - - - - - - 12、程序设计语言的工程特性之一为 C、抽象类型的描述性 D 、数据库的易操作性A、软件的可重用性 B 、数据结构的描述性13、软件依据设计的要求,在规定时间和条件下达到不出故障,连续运行的要求的质量特性称为 A. 可用性 B. 牢靠性 C. 正确性 D.完整性14、模块设计中,最不期望的内聚是()A、功能内聚 B、通信内聚 C、过程内聚 D、偶然内聚15、实施快速原型模型方法开发软件的关键在于()A、CASE 工具的支持 B、如何开发演化型模型 C、项目主管的支持 D、开发人员的素养16、程序流程图(框图)中的箭头代表 ;A. 数据流 B. 掌握流 C. 调用关系 D. 组成关系17、一个只有次序结构的程序,其环形复杂度是 ;A.0 B.1 C.3 D. 不确定的18、可行性分析是在系统开发的早期所做的一项重要的论证工作,策依据,因此必需给出什么样的回答;()它是打算该系统是否开发的决A确定 B行或不行 C正确 D无二义19、结构化程序设计主要强调的是()A、程序的规模 B、程序的效率 C、程序设计语言的先进性 D 、程序易读性20、对象实现了数据和操作的结合,使数据和操作()于对象的统一体中; A、结合 B、隐匿 C、封装 D、抽象21、软件概要设计终止后得到()A、初始化的软件结构图 B、优化后的软件结构图C、模块的接口图和具体算法 D、程序编码22、软件需求是度量软件质量的基础,不符合需求的软件就不具备()A、软件的特点 B、质量 C、软件产品 D、功能23、软件特性中,程序能够满意规格说明和完成用户业务目标的程度,称作()A、正确性 B、移植性 C、牢靠性 D、完整性6 名师归纳总结 - - - - - - -第 6 页,共 16 页精选学习资料 - - - - - - - - - 24、为使得开发人员对软件产品的各个阶段工作都进行周密的摸索,从而削减返工, 所以()的编制是很重要的;A、需求说明 B、概要说明 C、软件文档 D、测试方案 25、系统因错误而发生故障时,仍旧能在肯定程度上完成预期的功能,就把该软件称为();、系统软件 C、测试软件 D、复原测试 A、软件容错 B 二、名词说明 1、程序的可保护性 2、容错技术 3、结构化保护 4 、软件生存周期 5、模块独立性 三、简答题 1、简述软件测试的任务、目的与类型;2、简述软件工程目标和面临的主要问题;3、简述软件开发过程、每个里程碑的提交物;4、简述软件工程的七条基本原理;四、论述题 1、试论面对对象方法较之结构化方法的先进性;2、试述软件开发工具对软件开发的影响;3、试论文档在软件开发过程中的重要性;五、应用设计题1、一个软件公司有很多部门,分为开发部门和治理部门两种;每个开发部门开发多个软件产品;每个部门由部门名字唯独确定;该公司有很多员工,员工分为经理、 工作人员和开发人员;开发部门有经理和开发人员,治理部门有经理和工作人员;每个开发人员可参与多个开发项目,7 名师归纳总结 - - - - - - -第 7 页,共 16 页精选学习资料 - - - - - - - - - 每个开发项目需要多个开发人员,开发人员使用语言开发项目;每位经理可主持多个开发项目;请建立该软件公司的对象模型;2、某考务中心预备开发一个成人自学考试系统考务治理系统,经过调研,该系统有如下的 功能:( 1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名 单送给阅卷站;( 2)给合格的考生制作考试通知单,将考试科目、时间、地点支配告知考生;( 3)对阅卷站送来的成果进行登记,按当年标准审查单科合格者,并发成果单,对所考专 业各科成果全部合格者发给大专毕业证书;( 4)对成果进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表;( 5)查询:考生可按准考证号随时查询自己的各科成果;试依据要求画出该系统的数据流程图;8 名师归纳总结 - - - - - - -第 8 页,共 16 页精选学习资料 - - - - - - - - - 试卷 一参考答案一、1d 2c 93a 4c 5 c 6b 7c 8c d 10B 11 a 12b 13B 14 a 15c 16b 17d 18d 19c 20. b 21. d 22. c 23. c 24. c 25. b 二、1数据流图:是描述数据处理过程的工具;它从数据传递和加工的角度,以图形的方式刻 画数据流从输入到输出的移动变换过程;2软件保护是软件生命周期的最终一个阶段,是在软件已经交付给用户使用之后,为了改正软件错误或满意新的需要而修改软件的过程;它包括四种类型的保护活动:改正型保护、 适应型保护、预防型保护和完善型保护;3软件测试是一个为了查找软件错误而运行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发觉的错误的用例;迄今为止尚未发觉的错误的测试;目的就是为了发觉软件中的错误;一个胜利的测试是指揭示了4程序的可保护性:为满意用户新的需求,或当环境发生了变化,或运行中发觉了新的错 误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小;5. 软件生存周期是指从提出软件开发要求开头,直到该软件报废不用为止的整个时期;这个时期又分为如干个阶段,对软件生产的治理和进度掌握有重要作用,使软件的开发有相应的模式、流程、工序和步骤;三、1(1)改进软件结构提高模块独立性;(2)模块规模要适中;(3)深度、宽度、扇出和扇入都应适当;(4)模块的作用域应当在掌握域内;(5)力争降低模块接口的复杂度;(6)设计单入口单出口的模块;(8)模块功能应当可以猜测;21采纳自顶向下,逐步求精的程序设计方法;2使用三种基本掌握结构构造程序,分别是次序,挑选和循环 3采纳主程序员组的组织形式;4采纳单入口单出口的模块形式;3需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以 及评审;(1)问题识别, 系统分析人员要讨论方案阶段产生的可行性分析报告和软件项目实施计9 名师归纳总结 - - - - - - -第 9 页,共 16 页精选学习资料 - - - - - - - - - 划;然后进行功能需求、性能需求、环境需求、牢靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作; (2)分析与综合,分析员需从数据流和数据结构动身,逐步细化全部的软件功能, 找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满意功能需求,是否合理;(3)制定规格说明,编写需求分析的文档;(4)需求分析评审;为保证软件需求定义的质量,评审应以特地指定的人员负责,并按规程严格执行;4、简述软件生命周期开发方法的基本过程及每个阶段的任务;(1)问题定义阶段,尽可能清晰地描述问题,搞清晰要解决的问题是什么;(2)可行性讨论阶段,主要是确定待解的问题是否有可行的解决方法;需要做经济可行性分析、技术可行性分析、操作可行性分析和法律可行性分析;(3)需求分析阶段,主要是确定目标系统必需具备的功能;通常用数据流图、数据字典和简要的算法表示系统的规律模型;(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;(5)具体设计,把解法具体化,确定如何具体地实现这个系统;针对每个模块设计相应的算法;(6)编码和单元测试阶段,把具体设计的结果翻译成选定的语言所写的程序,并对每个模块进行单元测试;(7)测试阶段,系统地设计测试用例,尽可能多地发觉软件中的错误,并调试改正软件中的错误;(8)软件保护阶段,主要目的是通过修改软件使所开发的软件能够长久地满意用户的需要;四、 1. 请从以下几个方面结合自己的体会实例加以论述;软件就是程序的观点是不正确的,由于软件等于程序加文档加数据;( 1)文档是软件的一个特别重要的组成部分,在软件的开发过程中起着特别重要的作用;( 2)在软件开发的每一个阶段都应有相应的文档;它是开发人员与用户以及开发人员与项目治理人员之间沟通的媒介( 3)文档是软件在不同阶段的表现形式;( 4)程序与文档必需一样,文档才有价值;( 5)文档质量直接打算软件质量的高低;( 6)文档也是软件测试和保护的依据;在没有文档或文档不全的情形下对大型软件进行测试与保护是不行思议的事情;( 7)文档是软件可重用的依据;2最终用户能够看到的是软件界面,软件界面是用户与运算机交互的接口;假如界面不友好,用户不情愿使用,那么软件的功能再强,也是没有用的;这就要求软件界面应以用户为中心进行设计;设计应遵循以下的原就:(1)一样性,菜单挑选、命令输入、数据显示等功能应使用一样的风格;( 2)供应有意义的反馈; (3)答应取消大多数操作; ( 4)削减在动作间必需记忆的信息量;(5)在对话、移动和摸索中提高效率;( 6)答应错误;(7)按功能对动作分类,并据此支配屏幕布局; ( 8)供应上下文相关的帮组机制;( 9)命令用简洁的动词或动词短语命名;只有用户情愿使用的软件才是好的软件,所以软件界面设计的好坏直接影响软件的质量;10 名师归纳总结 - - - - - - -第 10 页,共 16 页精选学习资料 - - - - - - - - - 3软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量;便利软件治理,便于软件重用,削减低级重复劳动,支持快速原型设计,便于用户和开发人员的沟通;降低大型复杂软件的开发难度;五、 1、新书书籍信息书库文件显示器录入书籍信息书籍信息书库清单定书信息修订书籍信息图书出版公司定书信息书库定书信图书目息录入定书信息录生成打印书籍信息读者信息读者信读者信息息录入读者信息读者文件书籍治理系统数据录入 图书目录生成新书录入读者录入目录打印查询显示2、11 名师归纳总结 - - - - - - -第 11 页,共 16 页精选学习资料 - - - - - - - - - 储户原始存款单取款单取款取款单检验存 / 取款单处理打印存储户原始存款单存款存款款单存款单处理帐户口令储户帐户取款信息口令接受储户帐户帐户取款结算清单口令帐户口令口令校验合法帐户运算结算结算清单打印结算清单清单银行利率12 名师归纳总结 - - - - - - -第 12 页,共 16 页精选学习资料 - - - - - - - - - 试卷 二参考答案一、1c 2b 3c 10.c 4a 5. b 6 d 13a 7c 8c 9 B 17b 11a 12c 14.c 15D 16a 18b 19 d 20 c 21. b 22. b 23. a 24. c 25.a 二、1程序的可保护性:为满意用户新的需求,或当环境发生了变化,或运行中发觉了新的错误时,对一个已投入运行的软件进行相应诊断和修改所需工作量的大小;2容错技术:对那些无法躲开的差错,使其影响削减至最小的技术;也就是说,当错误发生时,尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范畴内;3. 结构化保护 : 假如保护工作是从评判完整的软件配置开头入手,确定软件的重要结构特点、性能特点以及接口特点;估量要求的改动将带来的影响,并且方案实施途径;然后第一修改设计并且对所做的修改进行认真审查;接下来编写相应的源程序代码;使用在测试说明书中包含的信息进行回来测试;最终,把修改后的软件再次交付使用;4. 软件生存周期是指从提出软件开发要求开头,直到该软件报废不用为止的整个时期;这个时期又分为如干个阶段,对软件生产的治理和进度掌握有重要作用,使软件的开发有相应的模式、流程、工序和步骤;5. 模块独立性 : 是模块化、抽象和信息隐匿的直接产物;每个模块只要完成独立的功能,与其它模块联系越少,就模块的独立性就越强;通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性;三、1软件测试是一个为了查找软件错误而运行程序的过程;目的就是为了发觉软件中的错误;一个好的测试用例是指很可能找到迄今为止尚未发觉的错误的用例;一个胜利的测试是指揭示了迄今为止尚未发觉的错误的测试;软件测试主要分为白盒测试和黑盒测试两大类;13 名师归纳总结 - - - - - - -第 13 页,共 16 页精选学习资料 - - - - - - - - - 2软件工程的目标就是建造高质量的软件;但是目前的软件开发面临着很多问题:(1)对软件开发成本和进度的估量常常很不精确;(2)用户常对“ 已完成的” 软件系统不中意;(3)软件产品的质量往往靠不住;(4)软件常常很难保护;(5)软件常常缺乏适当的文档资料;(6)软件开发生产率提高的速度,远远跟不上运算机应用快速普及深化的趋势;(7)软件成本在计算机系统总成本中所占的比例逐年上升;3软件开发的基本过程: (1)可行性讨论, 做初步的需求分析工作,打算项目可行与否 (2)软件需求分析,软件工程师必需明白软件的信息领域,以及需求的功能、行为、性能和接口;系统需求和软件需求均需文档化,并与用户一起复审;并提交需求分析报告;(3)设计,包括概要设计和具体设计,软件设计是一个多步骤的过程,主要是对软件的数据结构、软件体系结构、界面表示及过程细节进行设计;设计过程将需求转换为软件表示,在编码之前可以评估其质量,全部设计均要文档化,它是软件配置的重要组成部分,经复审后提交相应的概要设计和具体设计报告;( 4)编码,把设计转化为机器可执行的程序;提交源程序清单;(5)测试,提交测试报告;( 6)保护,提交保护报告;4、简述软件工程的七条基本原理;(1)用分阶段的生命的生命周期方案严格治理;(2)坚持进行阶段评审;(3)实行严格的产品掌握;(4)采纳现代程序设计技术;(5)结果应能清晰地审查;(6)开发小组的人员应当少而精;(7)承认不断改进软件工程实践的必要性;【评分标准】答出任 5 条可得 5 分,每少答一条扣 1 分;四、1(1)面对对象方法更符合人的思维方式,更简洁抓住问题的主干;( 2)所开发出的软件更符合“ 高内聚、松耦合” 的原就;所设计出的类模块独立性更强;( 3)更适合于开发大型的软件,更适合于快速原型法开发方法;使软件生产率大大提高;( 4)使用面对对象技术开发出的软件的可测试性和可保护性都较强;( 5)面对对象方法和技术能够贯彻软件开发的全过程;从分析、设计、编码到测试保护,采纳面对对象的方法不存在语义断层,使人的思维连续, 削减各阶段之间所采纳方法的不向融性;( 6)使得软件的可重用性大幅度提高;2软件开发工具应用于软件开发可以大幅度地提高软件生产率,提高软件质量;便利软件治理,便于软件重用,削减低级重复劳动,支持快速原型设计,便于用户和开发人员的沟通;降低大型复杂软件的开发难度;3、试论文档在软件开发过程中的重要性;论述要点:14 名师归纳总结 - - - - - - -第 14 页,共 16 页精选学习资料 - - - - - - - - - 在软件的生产过程中,总是相伴着大量的信息要记录、要使用;因此,软件文档在软件产品的开发过程中起着举足轻重的作用;件以某种可阅读的形式记录在文档中,()提高软件开发过程的能见度;把开发过程中发生的事 治理人员可把这些记录下来的材料作为检查软件开发进度和开发质量的依据,实现对软件开发的工程治理;()提高开发效率;软件文档的编制,使得开发人员对各个阶段的工作都进行周密摸索、全盘权衡、 从而削减返工; 并且可在开发早期发觉错误和不一样性,便于准时订正;()作为软件开发人员在肯定阶段的工作成果和终止标志;()记录开发过程中的有关信息,便于和谐以后的软件、开发、使用和保护;()供应对软件的运行、保护和培训的有关信息,便于开发人员之间的协作、沟通和明白,使软件开发活动更科学、更有成效;便于潜在用户明白软件的功能、性能等各项指标;五、1、软件公司部门名有 1+ 部门有 1+ 软件产品1+ 开发有 1+ 开发部门治理部门员工开发人员经理有 1+ 工作人员1+ 1+ 语 言 开发部门2、15 名师归纳总结 - - - - - - -第 15 页,共 16 页精选学习资料 - - - - - - - - - 考生报名单查询准考证号审查合格单成果单统计表考生截止日期是否考生记录分类合格新生新生总报汇总统计名单成果标准毕业证与成果单本次考试名单阅卷站文凭 审查治理人员本次成果登录考试成果支配考生通知单考场文件16 名师归纳总结 - - - - - - -第 16 页,共 16 页