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

嵌入式移动开发 2020-01-05

 您认为一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面,请您简要总结一下。

我觉得作为一名软件工程师,其技术素质是必不可少的。除了具有扎实的计算机基础理论知识,还应具有以下的能力:

1.规范化、标准化的编码能力。虽然软件工程师的工作不同于程序员,但是一个软件工程师其前身必定是一个优秀的程序员,软件人员的一个重要职责就是把用户的功能需求用某种语言实现,这就要求软件工程师掌握多种语言,具有良好的编码能力;

2.认识和运用数据库的能力。信息是以数据为中心的,因此与数据库的交互在所有软件中都是必不可少的,了解数据库操作和编程是软件工程师需要必备的素质之一。熟悉数据结构和数据库,有一定的算法基础,具有较强的独立解决问题能力,能设计出问题求解的数据结构或数据库是必不可少的;

3. 较强的动手能力和解决实际问题的能力,软件开发是理论和实践结合的过程;

4.持续的学习能力,掌握最新的IT实用技术; 

5.较强的英语阅读和写作能力;

6.具有良好的团队协作能力;具有良好的沟通能力;踏实敬业、认真负责、耐心细致的能力;坚持守信、正直的原则;遵守职业道德规范,树立正确的技能观。

软件工程试题

试题来源百度文库

一.选择题(10*3)

1.软件设计中划分模块的一个准则是(  C  )。

A 低内聚低耦合

B低内聚高耦合

C高内聚低耦合

D.高内聚高耦合

2.(  A  )是用户和设计交换最频繁的方法。

A、原型化方法

B、瀑布模型法

C、螺旋模型方法

D、构件组装模型

3.使用白盒测试方法时,确定测试数据应根据(  A  )和指定的覆盖标准。

A、程序的内部逻辑

B、程序的复杂程度

C、该软件的编辑人员

D、程序的功能

4..软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。

A、软件结构

B、软件过程

C、软件模型

D、软件模块

5.黑盒测试在设计测试用例时,主要需要研究(   A   )

A.需求规格说明和概要设计说明

B.详细设计说明

C.项目开发计划

D.概要设计说明和详细设计说明

6.测试的关键问题是(   D  )

A. 如何组织对软件的评审     

B. 如何验证程序的正确性       

C. 如何采用综合策略         

D. 如何选择测试用例

7.瀑布模型的关键不足在于( B  )

A、过于简单        

B、不能适应需求的动态变更

C、过于灵活        

D、各个阶段需要进行评审

8.源程序的效率和( D )阶段确定的算法的效率直接有关。

A.概要设计 B. 总体设计  C. 单元设计 D. 详细设计

9.技术可行性是可行性研究的关键,其主要内容一般不包括( C )

A、风险分析   B、资源分析   C、人员分析    D、技术分析

10.具有风险分析的软件生存周期模型是(   C   )

A.瀑布模型             B.喷泉模型         C.螺旋模型       D.增量模型

 

二、判断题(10*2)

1.在进行总体设计时应加强模块间的联系。(  ×     )

2.系统结构图是精确表达程序结构的图形表示法。因此,有时也可以将系统结构图当作系统流程图使用。(     ×  )

3.用黑盒法测试时,测试用例是根据程序内部逻辑设计的。(   ×  )

4.在程序调试时,找出错误的位置和性质比改正该错误更难。(   √    )

5.以对象、类、继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一。(   √    )

6.如果通过软件测试没有发现错误,则说明软件是正确的。(   ×   )

7.快速原型模型可以有效地适应用户需求的动态变化。(√    )

8.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√  )

9.集成测试主要由用户来完成。(×     )

10.软件危机完全是由于硬件问题引起的。(×   )

 

三、简答题(3*10)

1.简述白盒测试的思想,并列举两种典型的测试技术。

答:白盒测试又称结构测试,它把测试对象看作一个透明的盒子。测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态和预期的状态是否一致

典型测试技术:逻辑驱动、基本路径测试等

2.简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三个基本原则?

答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。

3.什么是软件生存周期模型?请至少列举四种主要模型?

答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段或机动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。

常见的软件生存周期模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。

 

四.分析设计题(1*20)

1.某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同(助教,讲师,副教授,教授)作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资。请用等价类划分法设计测试用例。

                                         划分等价类: 

输入条件

合理等价类

不合理等价类

职称

①教授

②副教授

③讲师

⑤四种职称之外任意一种

职称兼工龄

④助教兼工龄大于2年

⑥助教兼工龄等于两年

⑦助教兼工龄小于两年

                                         设计测试用例:

输入数据

预期结果

覆盖范围

教授

输入有效,进行调整工资处理

副教授

输入有效,进行调整工资处理

讲师

输入有效,进行调整工资处理

助教  3

输入有效,进行调整工资处理

助教   2

输入有效,不调整工资处理

助教   1

输入有效,不调整工资处理

工程师

输入无效

相关推荐