软件工程试题.docx
《软件工程试题.docx》由会员分享,可在线阅读,更多相关《软件工程试题.docx(17页珍藏版)》请在冰豆网上搜索。
![软件工程试题.docx](https://file1.bdocx.com/fileroot1/2023-1/7/18595b23-bc69-4b35-a366-96b7b65c2b6b/18595b23-bc69-4b35-a366-96b7b65c2b6b1.gif)
软件工程试题
一、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。
每小题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部门经理完成对货物的查询工作,在货物查询过程中,是根据输入的货物名称
进行的,输
入货物名称后将显示仓库中所该货物的库存量。
试根据要求画出该系统的数据流图,不必分层。
(15分
仓库管理员
入库
出库审查
入库单
出库单入库文件出库文件
库存文件
入库数据
出库请求
入库数据
出库数据
查询
部门经理
查询单查询结果
库存数据
拒绝出库
出库
出库数据
2.请根据以下描述,设计UML
类图,并使用重数说明数据实体之间的具体关系:
(12分
(1每个出版社都经常联系一些作者; (2作者可能会写出著作;
(3著作的出版权只能授予一个出版社;
(4每本著作有一个封面、一个目录、一个前言、若干章、每章有若干节;
出版
作者
著作
封面
前言
章*
1..*
1
1..*
1
*
1
1111
*节
1
*
3.请结合一下关于电梯的描述,为电梯的运行状态建模。
(10分 得分
(2 按用户上楼或是下楼的要求,电梯可以向上或是向下移动; (3
到达目的层后,电梯空闲; (4 空闲超时后,电梯回到第一层。
位于第一层
向上移动
向下移动
空闲
上楼
到达
下楼
上楼
到达
超时
4. 一元二次方程式
AX 2+BX+C=0
的求根程序有以下功能:
①输入A 、B 、C
3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符
号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。
试用功能(黑盒测试
方法设计出程序的测试用例。
(15分
根据一元二次方程式的求根公式:
a
ac b b x 242-±-=
(条件:
0≠a 且042
>-ac b ;结果:
两个不等实根 a
b
x x 221-=
=
(条件:
0≠a 且042
=-ac b ;结果:
两个相等实根
a
ba
c i b x 242-±-=
(条件:
0≠a 且042
<-ac b ;结果:
两个虚根 b
cx-
= (条件:
0=a 且0≠b ;结果:
仅有一个实根 方程无意义
(条件:
0=a 且0=b ;结果:
方程无意义
使用等价类法设计测试用例。
有效等价类(输入三个数值系数
无效等价类
0≠a 且042>-ac b ;两个不等实根 ①
输入不足3个系数 ⑤ 0≠a 且042=-ac b ;两个相等实根 ② 输入超过3个系数 ⑥
0≠a 且042<-ac b ;两个虚根 ③
输入的3个系数中包含非数字字符:
A 中含有非数字字符 ⑦ B
中含有非数字字符 ⑧ C 中含有非数字字符 ⑨
0=a 且0≠b ;仅有一个实根 ④
0=a 且0=b ⑩
序号对应等价类测试数据期望结果
1 ①-1,0,4 x1=2; x2= -2
2 ②1,4,4 x1= x2= -2
3 ③1,0,
4 x1=2i; x2= -2i
4 ④0,2,4 x=2
5 ⑤0,2 提示系数不足
6 ⑥0,2,4,0 提示系数过多
7 ⑦A,2,4 提示有非数值系统
8 ⑧0,A,4 提示有非数值系统
9 ⑨0,2,A 提示有非数值系统
10 ⑩0,0,4 提示方程无意义
5. 请根据以下流程图:
(8分
(1画出流图。
(2计算其环行复杂度。
1
32
4
5
6
7
8
9
10
环形复杂度(画出节点1时V = E-N+2 = 14 – 10 + 2 = 6
环形复杂度(不画出节点1时V = E-N+2 = 13 – 9 + 2 = 6
四、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。
每小题1分,共15分
1. 下列做法中,对于发挥集体智慧最有利的是(A 。
A.设计评审
B.模块化
C.主程序员制
D.进度控制
2. 开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(B 。
A. 软件投机
B.软件危机
C.软件工程
D.软件产生
3.
分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的( A 。
A.总貌
B. 细节
C. 抽象
D. 软件的作者
4. 成功的测试是指( B 。
A.运行测试实例后未发现错误项
B. 发现程序的错误
C. 证明程序正确
D. 改正程序的错误
5. 软件测试中,白盒方法是通过分析程序的( B 来设计测试实例的方法。
A.应用范围
B. 内部逻辑
C. 功能
D. 数据结构
6. 采用( D 且编写程序,可提高程序的可移植性。
A.机器语言
B.宏指令
C. 汇编语言
D.高级语言
7.一个模块直接控制(调用的下层模块的数目称为模块的( B 。
A.扇入数
B.扇出数
C.宽度
D.作用域
8. 结构化设计思想的核心是要求程序只由顺序、循环和( A 三种结构组成。
A.分支
B.抽象
C.单入口
D.规划
9.在软件工程中,高质量的文档标准是完整性、一致性和( C 。
A.统一性
B.安全性
C.无二义性
D.组合性
10.结构化设计采用模块化方法的主要出发点是( D 。
A.增加内聚性
B.减少耦合度
C.提高有效性
D.降低复杂度
11.在软件研究过程中,CASE是( D 。
A.指计算机辅助系统工程
B.CAD和CAM技术的发展动力
C.正在实验室用的工具
D.指计算机辅助软件工程
12.通过对软件的测试,可以证明的是(C 。
A.软件的正确性
B.错误不存在
C.错误存在
D.软件不含有隐患
13.某模块的输入数据为某工厂中一个车间的生产产量表,通过该模块可以计算
出车间中生产工人
的平均产量、统计产量前10名的人员名单,从内聚度来看,该模块属于(B 。
A.逻辑内聚
B.通信内聚
C.顺序内聚
D.功能内聚
14.不适于作为数据流图处理(加工框名称的是(B 。
A.人工校核工资数据
B.工资支票数据
C.打印工资支票
D.计算职工工资
15.在维护请求且进行的维护过程中,应先( A
然后对维护要求进行评估并分别处理。
五、 三、
简答题 (每题5分,共25分 1.什么是软件工程?
这门学科的目的是什么?
答:
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软
件的学科。
(3分软件工程的目标是生产具有正确性、可用性以及开销合宜的软件产
品。
(2分 2.请简述模块独立性的度量方法。
答:
模块独立性可以从两个方面来度量,即模块本身的内聚性和模块之间的耦合
度。
(3分内聚性越强,模块独立性越高(1分;耦合度越低,模块独立性也越高(1分。
3.如何理解“软件测试应该贯穿整个软件生命周期”这一说法?
答:
完整的软件测试应该贯穿整个软件生命周期,这一说法有两方面的含义:
(1分
(1软件开发不同阶段都有软件测试工作;(2分
(2软件测试工作的各个步骤分布在整个软件生存周期中。
(2分
4.软件维护就是改正软件中的错误吗?
为什么?
答:
软件维护是指在软件的运行/维护阶段由软件厂商向客户所提供的服务工作,
不完全是修改软件中的错误。
(3分软件维护除了改正性的维护以外,还有适应性、完
善性以及预防性的维护。
(2分 5.在NATO
关于软件工程的定义中提到:
“软件工程是指导计算机软件开发和维护的一门工程学
科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明
正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质
量的软件并有效地维护它”。
如何理解上述意思。
答:
从软件工程的定义可以看出其目标就是按照工程化的思想开发、管理和维护
软件,以达到提高软件质量的同时,减低开发软件的成本。
具体地说:
要求我们为软件
的开发提供科学的开发模型和设计方法,提高软件开发工具的质量,重视软件的项目
管理,这样才可以在更低的成本下开发出高质量的软件。
(5分,本答案为参考答案,答
对意思即可 六、 应用分析题 (共60分 1.酒店客房管理系统有如下角色和功能:
(1顾客通过提供相关信息,向酒店申请入住,如果申请通过,则办理入住客房,否则
将遭到
拒绝;
(2顾客在离开酒店前需要退房,退房的同时结算房费;
(3管理员可以通过输入查询条件,查询酒店里客房的入住情况。
试根据要求画出该系统的数据流图,不必分层。
(15分
得分 得分
顾客
退房
申请入住
退房请求
申请单客房数据
入住请求
退房数据
客房数据
查询
部门经理
查询单查询结果
客房数据
拒绝申请
入住
顾客信息文件
客房文件
2.请根据以下描述,设计UML
类图,并使用重数说明数据实体之间的具体关系:
(12分
(1录音带和录像带都属于归档资料; (2每一个归档文件属于至少一个记者;
(3不同的记者在不同的通讯社工作;
(4通讯社由国内新闻部和国外新闻部共同组成。
通讯社
记者
归档文件
1
1..*
1
1..*
1..*
*1
1
国内新闻
1
1
国外新闻部
录音带
录像带
3.请结合一下关于手机销售管理软件的描述,为手机的状态建模。
(10分 (1
每一个刚进入商店的手机首先都必须登记机器信息;
(2
顾客可以预订购买某一手机,但如果超过期限仍不付款则认为该顾客放弃了本次预
订; (3 售出的手机都将被登记在案; (4 顾客享受7天无条件退货服务
(5
手机出现故障,可以返回商店修理,修理完成后交还顾客继续使用,如果不能维修,则登
记报废。
已登记
已预订
维修中
已卖出
顾客预订
成功维修
返回维修
付款
过期未付款
七天内无条件退货
付款
报废
无法维修
4. 一元二次方程式
AX 2+BX+C=0
的求根程序有以下功能:
①输入A 、B 、C
3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符
号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。
试用功能(黑盒测试
方法设计出程序的测试用例。
(15分
根据一元二次方程式的求根公式:
a
ac b b x 242-±-=
(条件:
0≠a 且042
>-ac b ;结果:
两个不等实根 a
b
x x 221-=
=
(条件:
0≠a 且042
=-ac b ;结果:
两个相等实根
a
ba
c i b x 242-±-=
(条件:
0≠a 且042
<-ac b ;结果:
两个虚根 b
cx-
= (条件:
0=a 且0≠b ;结果:
仅有一个实根 方程无意义
(条件:
0=a 且0=b ;结果:
方程无意义
使用等价类法设计测试用例。
有效等价类(输入三个数值系数
无效等价类
0≠a 且042>-ac b ;两个不等实根 ①
输入不足3个系数 ⑤ 0≠a 且042=-ac b ;两个相等实根 ② 输入超过3个系数 ⑥
0≠a 且042<-ac b ;两个虚根 ③
输入的3个系数中包含非数字字符:
A 中含有非数字字符 ⑦ B
中含有非数字字符 ⑧ C 中含有非数字字符 ⑨
测试用例:
序号 1 2 3 4 5 6 7 8 9 10 对应等价类 ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨
⑩ 测试数据 -1,0,4 1,4,4 1,0,4 0,2,4 0,2 0,2,4,0 A,2,4 0,A,4 0,2,A 0,0,4 期望结果 x1=2;
x2= -2 x1= x2= -2 x1=2i; x2= -2i x=2 提示系数不足 提示系数过多 提示有非数值系统
提示有非数值系统 提示有非数值系统 提示方程无意义 5. 请根据以下流程图:
(8
分) 初始化 普通字符 Y 字符数加1 N 回车键 Y 插入换行符 N 显示字符
(1)画出流图。
(2)计算其环行复杂度。
环形复杂度(画出节点 1 时) V = E-N+2 = 8 –
6 + 2 = 4 环形复杂度(不画出节点 1 时) V = E-N+2 = 7 – 5 + 2 = 4 第 11 页 共 11 页