如何评测软件工程知识技能水平?
软件工程知识技能水平的测评试题:
1、软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。
A.可移植性 B.可重用性 C.容错性 D.可适应性
2、软件特性中,( A )是指系统具有清晰的结构,能直接反映问题的需求的程度。
A.可理解性 B.可靠性 C.可适应性 D.可重用性
3、下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对 象来驱动的模型是( C )。
A.原型模型 B.瀑布模型 C.喷泉模型 D.螺旋模型
4下面叙述中错误的是( )。
A.软件测试的目的是发现错误并改正错误
B.对被调试的程序进行“错误定位”是程序调试的必要步骤
C.程序调试通常也称为Debug
D.软件测试应严格执行测试计划,排除测试的随意性
参考答案:A
参考解析:软件测试是为了发现错误而执行程序的过程。软件测试要严格执行测试计划,排除测试的随意性。程序调试通常也称Debug,对被调试的程序进行“错误”定位是程序调试的必要步骤。
5 一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是
A.1,2,3,A,B,C
B.C,B,A,1,2,3
C.C,B,A,3,2,1
D.1,2,3,C,B,A
参考答案:C
参考解析:栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选c。
6 下列叙述中正确的是
A.一个算法的空间复杂度大,则其时间复杂度也必定大
B.一个算法的空间复杂度大,则其时间复杂度必定小
C.一个算法的时间复杂度大,则其空间复杂度必定小
D.算法的时间复杂度与空间复杂度没有直接关系
参考答案:D
【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。
简答与名词解释题:
1.分析软件危机产生的主要原因有哪些?
答:导致软件危机的主要原因有:
(1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加(言之有理即可)
2 说明软件测试和调试的目的有何区别?
答:测试的目的是判断和发现软件是否有错误,调试的目的是定位软件错误并纠正错误。
应用题:
1、请建立以下有关交通工具的对象模型。交通工具分为空中、陆上、水上交通工具, 空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分 为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。