软件工程试题含答案.docx
《软件工程试题含答案.docx》由会员分享,可在线阅读,更多相关《软件工程试题含答案.docx(15页珍藏版)》请在冰豆网上搜索。
软件工程试题含答案
软件工程试题含答案
软件工程期末试题
(1)
一,判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)
Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用.(×)你为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)
完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)
在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)
二,单项选择题(每小题2分,共10分)
试判断下列叙述中,哪个(些)是正确的(D)
a,软件系统中所有的信息流都可以认为是事务流
b,软件系统中所有的信息流都可以认为是变换流
c,事务分析和变换分析的设计步骤是基本相似的
A,aB,bC,cD,b和c
进行需求分析可使用多种工具,但(B)是不适用的.
A,数据流图B,PAD图C,判定表D,数据词典
在详细设计阶段,经常采用的工具有(A).
A,PADB,SAC,SCD,DFD
详细设计的结果基本决定了最终程序的(C)
A,代码的规模B,运行速度C,质量D,可维护性
使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度
C,该软件的编辑人员D,程序的功能
三,多项选择题(每题2分,共10分.注:
正确得2分,漏选得1分,多选,错选不得分.)
(ABCD)可以作为模块.
A,子程序B,函数C,过程D,编译文件
下面哪些测试属于黑盒测试(BCD).
A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).
A,货币的时间价值B,投资回收期C,收入D,投资回报率
软件维护的策略包括(BCD).
A,定期检测维护B,改正性维护C,适应性维护D,完善性维护
下列属于软件测试过程的是(ABE).
A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试
四,简答题(每题6分,共24分)
1、耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:
低:
非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:
高
6.详细设计的工具有图形工具、__表格工具_和__语言工具_。
7._数据流图_和_数据字典_共同构成系统的逻辑模型。
8.成本估计方法主要有__自顶向下估计_、_自底向上估计_和算法模型估计三种类型。
9.在需求分析阶段常用的图形工具有_层次方框图_、_Warnier图_、_IPO图_三种。
答案:
填空题(每空1分,共20分)
1、问题定义需求分析测试
2、输入处理输出
3、程序文档
4、分析方法非分析方法
5、数据结构
6、表格工具语言工具
7、数据流图数据字典
8、自顶向下估计自底向上估计
9、层次方框图Warnier图IPO图
二、单项选择题(每小题2分,共10分)
1.系统流程图是描绘()的传统工具。
A、逻辑系统B、数据结构C、状态变迁D、物理系统
2.下列模块独立性最强的是()
A、非直接耦合B、数据耦合C、公共耦合D、内容耦合
3.下列哪个阶段不属于软件生存周期的三大阶段()。
A、计划阶段B、开发阶段
C、编码阶段D、维护阶段
4.常见的软件概要设计方法有3大类,其中以数据流图为基础构造模块结构的是(
A、Jackson方法和LCP(Wanier)逻辑构造方法
B、结构化设计方法(SD)
C、面向对象设计方法(OOD)
D、快速原型法
5.使用白盒测试方法时,确定测试数据应根据()和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度
C、该软件的编辑人员D、程序的功能
答:
1、D2、A3、C4、A5、A
三、多项选择题(每题2分,共10分)
1.()可以作为模块。
A、子程序B、函数C、过程D、编译文件
2.关于内容耦合的描述正确的是()。
A、内容耦合是最高程度的耦合
B、高级语言一般设计成允许内容耦合的形成
C、应该尽量使用内容耦合
D、如果一个模块可以直接调用另一模块,则可以称为内容耦合
3.下列属于度量效益方法的是()。
A、货币的时间价值B、投资回收期
B、收入D、投资回报率
4.软件维护的策略包括()。
A、定期检测维护。
)
B、改正性维护
C、适应性维护
D、完善性维护
5.下列不属于软件测试过程的是()。
A、单元测试B、组装测试C、内核测试D、法律验证
答:
1、ABCD2、AD3、ABC4、BCD5、CD
四、判断题(正确的在括号内打上“√”,错误的打上“×”。
每题2分,共20分)
1.Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格。
(v)
2.PAD图在设置了五种基本控制结构后,还允许递归调用。
(v)
3.为了加快软件维护作业的进度,应尽可能增加维护人员的数目。
(x)
4.当验收测试通过,软件开发就完成了。
(x)
5.完成测试作业后,为了缩短源程序的长度应删除程序中的注解。
(x)
6.在进行总体设计时应加强模块间的联系。
(x)
7.系统结构图是精确表达程序结构的图形表示法。
因此,有时也可以将系统结构图当作系统流程图使用。
(x)
8.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。
(x)
9.在程序调试时,找出错误的位置和性质比改正该错误更难。
(v)
10.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。
(v)
答:
1—5:
√√×××6—10:
×××√√
五、简答题(每题5分,共20分)
1.什么是软件危机?
为什么会产生软件危机?
答:
软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。
2.什么是软件的生存周期?
包括哪几个部分?
答:
个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。
软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。
3.什么是黑盒测试法?
答:
黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。
4.耦合性和内聚性有几种类型?
其耦合度、内聚强度的顺序如何?
内容耦合:
高→公共耦合→外部耦合→控制耦合→标记耦合→数据耦合→答:
低:
非直接耦合
巧合内聚:
弱→逻辑内聚→时间内聚→过程内聚→通信内聚→信息内聚→强:
功能内聚
六、分析设计题(共20分)
1.(8分)假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使
用后,每年可以节约1000元,5年内可能节约5000元。
3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率。
答:
计算该系统的纯收:
3612.27-3000=612.27
投资回收期:
3+(3000-2407.15)/(3044.09-2407.15)=3.93投资回收率为r
3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+1000/(1+r)4+1000/(1+r)5解得r=20%
2.求一组数组中的最大数,数组表示为A(n),n=1,2„„n的自然数。
(12分)
1)请画出程序流程图(4分)
2)请画出该算法的N-S图(4分)
3)请用PAD图来表示该算法(4分)答:
(1)
(2)
(3
软件工程期末试卷(3)
一、简答题(25%,每小题5分):
1.请简要说明需求分析的三个层次包括那些主要内容。
软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。
业务需求反映了组织机构或客户对系统、产品高层次的目标要求。
用户需求文档描述了用户使用产品必须要完成的任务。
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
2.为什么要设计独立性强的模块以及如何判断模块的独立性?
第一3分,耦合1分,内聚1分
模块独立性强,则:
(1)系统容易开发
(2)系统可靠性高(3)系统容易维护
判断模块独立性的基本原则:
“耦合小,内聚大”
3.若现有类已经进行了彻底的测试,为什么必须对从现有类中实例化的子类进行重新测试?
使用的场景:
3分.2分
因为父类和子类的运行环境是不同的。
另外,如果是多重继承会显著地增加派生类的复杂程度,导致一些难以发现的隐含错误。
4.要开发质量“非常好”的软件,请从软件工程的角度分析其利与弊。
利:
3分;弊:
2分
利:
容易维护,用户比较满意
弊:
成本高,周期长
5、采用面向对象方法设计软件系统时,子系统的划分常采用水平划分或垂直划分的方式,请说明这两种划分所得子系统的特点。
c/s:
3分,p2p:
2分
水平划分系统的p2p:
每个字系统可以调用任意其他子系统,比c/s复杂,可能死锁。
垂直划分c/s:
客户端调用服务器端,服务器提供服务,并返回结果。
客户端需要知道服务器的接口,而服务器不必知道客户端接口。
二、应用题(45%,1-3每小题10分,4小题15分)
1.公司计划采用新技术开发一款新的手机软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型?
为什么?
选模型:
5分;原因:
5分
选用模型:
可采用增量模型/增量+原形/螺旋模型等等。
但如果采用快速开发则不太适宜。
分析原因:
技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统。
2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置。
任务网络图:
活动甘特图
需求分析
测试计划概要设计测试方案设计
详细设计编码
产品测试文档整理3.13.63.113.163.213.263.30任务网络图3分
甘特图3分
标识关键路径2分
阶段里程碑位置2分。
3.设有一个程序,读入三个整数,代表三角形的三条边。
输出表明三角形是不规则的、等腰的或等边的。
请采用黑盒的等价类划分方法,设计一组测试用例。
不规则:
345
等腰:
334
等边:
333
其他:
192
不规则的3分时间
等腰3分
等边3分
其他1分
4.设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。
(一)采用结构化方法:
7分
1)请画出E-R图2分
DFD图的第0层和第1层。
3分
2)编写两个关键词条的数据字典。
2分
E-R图
DFD图第0层
DFD
输入命令:
查询帐户明细查询帐户余额修改密码
数据字典:
名称:
帐号
别名:
无
何处使用/