软件工程试题(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。每小题1分,共15分
1. 为了解决软件危机,人们提出了用(B 的原理来设计软件,这是软件工程诞生的基础。
A.运筹学
B.工程学
C.软件学
D.管理学
2. 由于计算机软件开发的成本高、质量低、难控制、可靠性差、生产率低而引发了( B 。
A. 软件投机
B.软件危机
C.软件工程
D.软件产生
3. 划分软件生存周期的阶段时所应遵循的基本原则是(B 。
A. 各阶段的任务尽可能相关性
B. 各阶段的任务尽可能相对独立
C. 各阶段的任务在时间上连续
D. 各阶段的任务在时间上相对独立
4. 需求分析是由分析员了解用户的要求,认真细致地调研分析,最终应建立目标系统的逻辑模型并
写出( 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.每个模块有单入口、单出口
D.模块中每个处理成分对应一个功能,它们紧密结合
10.结构化设计采用模块化方法的主要出发点是( D 。
A.增加内聚性
B.减少耦合度
C.提高有效性
D.降低复杂度
11.为了提高测试的效率,应该(D 。
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据库
C.在完成编码后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
12.通过对软件的测试,可以证明的是(C 。
A.软件的正确性
B.错误不存在
C.错误存在
D.软件不含有隐患
13.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算出车间中生产工人
的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于( B 。
A.逻辑内聚
B.通信内聚
C.顺序内聚
D.功能内聚
15.软件维护,可按不同的维护目的而分类,为了适应硬件环境或软件环境的变更对软件作修改是
( B 。
A.纠正性维护
B.适应性维护
C.完善性维护
D.预防性维护
二、三、简答题 (每题5分,共25分
得分
1.什么叫软件危机?该如何应对软件危机的出现?
答:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(3分解决的方法是,使用软件工具,应用软件工程技术,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平,从而从根本上解决软件危机。(2分
2.请按时间顺序,列举软件生命周期中的各项基本活动。
答:软件生存周期包括:可行性分析与开发计划、需求分析、设计(概要设计和详细设计、编码测试、运行与维护等活动。(列出全部活动得5分,缺1项活动扣1分
3.软件测试是否一定要在编码之后进行?为什么?
答:不一定。(2分静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。因此静态测试方法就可以在编码之前进行。(3分
4.使用什么策略,可以减少完善性维护?
答:使用新技术,包括数据库管理系统、软件开发环境、程序自动生成系统、较高级(第四代的语言,可减少完善性的维护。(1分可把因环境变化而必须修改的程序局部于某些程序模块之中,也可以减少完善性的维护。(1分使用内部程序列表、外部文件,以及处理的例行程序包,可为维护时修改程序提供方便。(1分此外,建立软件系统的原型,把它在实际系统开发之前提供给用户使用。用户通过研究原型,进一步完善他们的功能要求,就可以减少以后完善性维护的需要。(2分
5.在NATO 关于软件工程的定义中提到:“软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它”。
如何理解上述意思。
答:从软件工程的定义可以看出其目标就是按照工程化的思想开发、管理和维护软件,以达到提高软件质量的同时,减低开发软件的成本。具体地说:要求我们为软件的开发提供科学的开发模型和设计方法,提高软件开发工具的质量,重视软件的项目管理,这样才可以在更低的成本下开发出高质量的软件。(5分,本答案为参考答案,答对意思即可
三、应用分析题 (共60分 1.仓库管理系统有如下角色和功能:
(1仓库管理员完成货物的入库和出库操作,入库是将指定数量的货物存入仓库(包括:货物
名称、数量信息;出库是将指定数量的货物从仓库中取出,在取出货物时需要对仓库中是否有足够的货物进行判断,再决定是否执行该操作;
(2部门经理完成对货物的查询工作,在货物查询过程中,是根据输入的货物名称进行的,输