软件工程试题精.docx
《软件工程试题精.docx》由会员分享,可在线阅读,更多相关《软件工程试题精.docx(19页珍藏版)》请在冰豆网上搜索。
软件工程试题精
一、一、单项选择题(在每小题的四个备选答案中,选出一个正确的答
得分
案序号填在括号内。
每小题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.一元二次方程式
AX2+BX+C=0
的求根程序有以下功能:
①输入A、B、C3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。
试用功能(黑盒测试方法设计出程序的测试用例。
(15分
根据一元二次方程式的求根公式:
a
acbbx242-±-=
(条件:
0≠a且042
>-acb;结果:
两个不等实根a
b
xx221-=
=
(条件:
0≠a且042
=-acb;结果:
两个相等实根
a
ba
cibx242-±-=
(条件:
0≠a且042
<-acb;结果:
两个虚根b
cx-
=(条件:
0=a且0≠b;结果:
仅有一个实根方程无意义
(条件:
0=a且0=b;结果:
方程无意义
使用等价类法设计测试用例。
有效等价类(输入三个数值系数
无效等价类
0≠a且042>-acb;两个不等实根①
输入不足3个系数⑤0≠a且042=-acb;两个相等实根②输入超过3个系数⑥0≠a且042<-acb;两个虚根③
输入的3个系数中包含非数字字符:
A中含有非数字字符⑦B中含有非数字字符⑧C中含有非数字字符⑨
0=a且0≠b;仅有一个实根④
0=a且0=b⑩
序号对应等价类测试数据期望结果
1①-1,0,4x1=2;x2=-2
2②1,4,4x1=x2=-2
3③1,0,
4x1=2i;x2=-2i
4④0,2,4x=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.一元二次方程式
AX2+BX+C=0
的求根程序有以下功能:
①输入A、B、C3个系数;②输出有关根的性质的信息,包括两个相等或不等的实根,两个大小相等符号相反的实根,仅有一个实根,或有两个虚根等;③打印根的数值。
试用功能(黑盒测试方法设计出程序的测试用例。
(15分
根据一元二次方程式的求根公式:
a
acbbx242-±-=
(条件:
0≠a且042
>-acb;结果:
两个不等实根a
b
xx221-=
=
(条件:
0≠a且042
=-acb;结果:
两个相等实根
a
ba
cibx242-±-=
(条件:
0≠a且042
<-acb;结果:
两个虚根b
cx-
=(条件:
0=a且0≠b;结果:
仅有一个实根方程无意义
(条件:
0=a且0=b;结果:
方程无意义
使用等价类法设计测试用例。
有效等价类(输入三个数值系数
无效等价类
0≠a且042>-acb;两个不等实根①
输入不足3个系数⑤0≠a且042=-acb;两个相等实根②输入超过3个系数⑥0≠a且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=8–6+2=4环形复杂度(不画出节点1时)V=E-N+2=7–5+2=4第11页共11页
WelcomeTo
Download!
!
!
欢迎您的下载,资料仅供参考!