如何评测软件工程知识技能水平?

软件工程师应该具备的知识:
  1. 了解基本计算机基础知识,包含但不限于数据结构与算法、数据库、计算机网络、操作系统的基本知识。
  2. 了解基本的项目管理知识,开发软件的过程就是参与项目管理的过程。
  3. 掌握一门面向对象的编程语言。
  4. 了解一个软件项目开发的全过程。
  5. 基本的工作技能,如基本沟通能力和团队合作精神等。

软件工程知识技能水平的测评试题:

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、请建立以下有关交通工具的对象模型。交通工具分为空中、陆上、水上交通工具, 空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分 为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。

如何评测软件工程知识技能水平?

相关推荐