1、软件工程试题一、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答得分案序号填在括号内。每小题1分,共15分1.为了解决软件危机,人们提出了用(B的原理来设计软件,这是软件工程诞生的基础。A.运筹学B.工程学C.软件学D.管理学2.由于计算机软件开发的成本高、质量低、难控制、可靠性差、生产率低而引发了(B。A.软件投机B.软件危机C.软件工程D.软件产生3.划分软件生存周期的阶段时所应遵循的基本原则是(B。A.各阶段的任务尽可能相关性B.各阶段的任务尽可能相对独立C.各阶段的任务在时间上连续D.各阶段的任务在时间上相对独立4.需求分析是由分析员了解用户的要求,认真细致地调研分析,最终应
2、建立目标系统的逻辑模型并写出(A。A.数据定义B.数据库设计C.数据维护D.数据结构实现5.结构化设计方法是面向(C的设计方法。A.过程B.对象C.数据流D.数据结构6.在结构化系统分析中,判定表和判定树常用于表达数据流图中的(A。A.加工B.数据流C.数据存储D.外部项7.一个模块直接控制(调用的下层模块的数目称为模块的(B。A.扇入数B.扇出数C.宽度D.作用域8.软件的(A设计又称为总体设计,其主要任务是建立软件系统的总体结构。A.概要B.抽象C.逻辑D.规划9.如果(A,则称该模块具有功能内聚。A.模块包括单一功能B.模块包括若干功能,但所有功能相互紧密相关C.每个模块有单入口、单出口
3、D.模块中每个处理成分对应一个功能,它们紧密结合10.结构化设计采用模块化方法的主要出发点是(D。A.增加内聚性B.减少耦合度C.提高有效性D.降低复杂度11.为了提高测试的效率,应该(D。A.随机地选取测试数据B.取一切可能的输入数据作为测试数据库C.在完成编码后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据12.通过对软件的测试,可以证明的是(C。A.软件的正确性B.错误不存在C.错误存在D.软件不含有隐患13.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于(B。A.逻辑内聚B
4、.通信内聚C.顺序内聚D.功能内聚15.软件维护,可按不同的维护目的而分类,为了适应硬件环境或软件环境的变更对软件作修改是(B。A.纠正性维护B.适应性维护C.完善性维护D.预防性维护二、三、简答题(每题5分,共25分得分1.什么叫软件危机?该如何应对软件危机的出现?答:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(3分解决的方法是,使用软件工具,应用软件工程技术,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平,从而从根本上解决软件
5、危机。(2分2.请按时间顺序,列举软件生命周期中的各项基本活动。答:软件生存周期包括:可行性分析与开发计划、需求分析、设计(概要设计和详细设计、编码测试、运行与维护等活动。(列出全部活动得5分,缺1项活动扣1分3.软件测试是否一定要在编码之后进行?为什么?答:不一定。(2分静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。因此静态测试方法就可以在编码之前进行。(3分4.使用什么策略,可以减少完善性维护?答:使用新技术,包括数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代的语言,可减少完善性的维护。(1分可把因环境变化而必须修改
6、的程序局部于某些程序模块之中,也可以减少完善性的维护。(1分使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。(1分此外,建立软件系统的原型,把它在实际系统开发之前提供给用户使用。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。(2分5.在NATO关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。如何理解上述意思。答:从软件工程的定义可以看出其目
7、标就是按照工程化的思想开发、管理和维护软件,以达到提高软件质量的同时,减低开发软件的成本。具体地说:要求我们为软件的开发提供科学的开发模型和设计方法,提高软件开发工具的质量,重视软件的项目管理,这样才可以在更低的成本下开发出高质量的软件。(5分,本答案为参考答案,答对意思即可三、应用分析题(共60分1.仓库管理系统有如下角色和功能:(1仓库管理员完成货物的入库和出库操作,入库是将指定数量的货物存入仓库(包括:货物名称、数量信息;出库是将指定数量的货物从仓库中取出,在取出货物时需要对仓库中是否有足够的货物进行判断,再决定是否执行该操作;(2部门经理完成对货物的查询工作,在货物查询过程中,是根据输
8、入的货物名称进行的,输入货物名称后将显示仓库中所该货物的库存量。试根据要求画出该系统的数据流图,不必分层。(15分仓库管理员入库出库审查入库单出库单入库文件出库文件库存文件入库数据出库请求入库数据出库数据查询部门经理查询单查询结果库存数据拒绝出库出库出库数据2.请根据以下描述,设计UML类图,并使用重数说明数据实体之间的具体关系:(12分(1每个出版社都经常联系一些作者;(2作者可能会写出著作;(3著作的出版权只能授予一个出版社;(4每本著作有一个封面、一个目录、一个前言、若干章、每章有若干节;出版作者著作封面前言章*1.*11.*1*11111*节1*3.请结合一下关于电梯的描述,为电梯的运
9、行状态建模。(10分得分(2按用户上楼或是下楼的要求,电梯可以向上或是向下移动;(3到达目的层后,电梯空闲;(4空闲超时后,电梯回到第一层。位于第一层向上移动向下移动空闲上楼到达下楼上楼到达超时4.一元二次方程式AX2+BX+C=0的求根程序有以下功能:输入A、B、C3个系数;输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;打印根的数值。试用功能(黑盒测试方法设计出程序的测试用例。(15分根据一元二次方程式的求根公式:aacbbx242-=(条件:0a且042-acb;结果:两个不等实根abxx221-=(条件:0a且042=-acb
10、;结果:两个相等实根abacibx242-=(条件:0a且042-acb;两个不等实根输入不足3个系数0a且042=-acb;两个相等实根输入超过3个系数0a且042-acb;结果:两个不等实根abxx221-=(条件:0a且042=-acb;结果:两个相等实根abacibx242-=(条件:0a且042-acb;两个不等实根输入不足3个系数0a且042=-acb;两个相等实根输入超过3个系数0a且042-acb;两个虚根输入的3个系数中包含非数字字符:A中含有非数字字符B中含有非数字字符C中含有非数字字符测试用例:序号12345678910对应等价类测试数据-1,0,41,4,41,0,40,2,40,20,2,4,0A,2,40,A,40,2,A0,0,4期望结果x1=2;x2=-2x1=x2=-2x1=2i;x2=-2ix=2提示系数不足提示系数过多提示有非数值系统提示有非数值系统提示有非数值系统提示方程无意义5.请根据以下流程图:(8分)初始化普通字符Y字符数加1N回车键Y插入换行符N显示字符(1)画出流图。(2)计算其环行复杂度。环形复杂度(画出节点1时)V=E-N+2=86+2=4环形复杂度(不画出节点1时)V=E-N+2=75+2=4第11页共11页
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1