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

一、一个软件工程师的软件工程知识技能水平高低主要体现在哪些方面?

  软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。

  综之,我认为一个合格的软件工程师应该有以下素养:

  1、代码书写符合规范且风格优良、能够对任务进行合理的分解、具有对代码进行单元测试的习惯。

  2、对于业务有独到的理解与分析、熟悉需求工程。

  3、学习能力。IT技术可谓是更新换代最快的了,从市面上的电脑和手机就可以看出来。所以,只依靠自己之前学到的知识,很快就会被这个时代所淘汰,软件工程师应具备的技能里很重要的一点就是学习能力。

  4、熟悉软件工程的过程和项目管理。包括软件的生命周期、软件的开发过程、计划和管理项目、交付系统、维护系统等。

  5、良好的软件测试习惯,软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。

  6、较强的英语阅读和写作能力程序世界的主导语言是英文,编写程序开发文档和开发工具帮助文件离不开英文,了解业界的最新动向、阅读技术文章离不开英文,与世界各地编程高手交流、发布帮助请求同样离不开英文。作为基础软件工程师,具有一定的英语基础对于自身的学习和工作极有帮助。

  最后,软件知识储备也是一个重要因素,我们参考网上的一些试题,来进行一下学习。

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

一、选择题

1. 通过保证每个模块只完成一个特定的功能,这样可以大大减少模块间的(B)

  A、内容耦合  B、控制耦合  C、公共耦合  D、数据耦合

2. 需求分析最终结果是产生( B  )

   A. 项目开发计划             B. 需求规格说明书

   C. 设计说明书                D. 可行性分析报告

3. 软件特性中,一个软件能再次用于其他相关应用的程度称为( B )。

  A.可移植性   B.可重用性  

  C.容错性   D.可适应性

4. 在设计测试用例时,应当包括(C)

  A、合理的输入条件  B、不合理的输入条件

  C、合理的和不合理的输入条件  D、部分条件

5. 软件工程的出现主要是由于(C )。
  A.程序设计方法学的影响 B.其它工程科学的影响
  C.软件危机的出现 D.计算机的发展

6. UML 是软件开发中的一个重要工具,它主要应用于哪种软件开发方法 ( C )
  A 、基于瀑布模型的结构化方法   B 、基于需求动态定义的原型化方法
  C 、基于对象的面向对象的方法   D 、基于数据的数据流开发方法

 

二、判断题

1. 模块的设计要力求做到高内聚、低耦合。(T )

2. 划分模块可以降低软件复杂度和工作量,所以应该将模块划分得越小越好。(F )

3. 用CASE环境或程序自动生成工具来自动生成一部分程序。( T)

4. 目前我国还没有颁布软件开发标准。(F)

5. 耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。(F)

6. 在面向对象设计阶段则着重完成“如何做”的问题,也就是着重考虑对象的实现细节。(T)

 

三、简答题

1. 简述面向对象程序的设计风格。
 
答:1.提高可重用性提高方法的内聚、减少方法的规模、保持方法的一致性、把策略和实现分开、全面覆盖、尽量不使用全局信息、充分利用继承机制。
  2.提高可扩充性封装实现策略、不用一个方法遍历多条关联链、避免使用多分支语句、精心确定公有方法。
  3.提高健壮性预防用户的错误操作、检查参数的合法性、不要预先确定限制条件、先测试后优化。
 

2. 说明结构化程序设计的主要思想是什么?

答:1.自顶向下、逐步求精的程序设计方法
  2.使用3种基本控制结构、单入口、单出口来构造程序。

 

3. 某一新闻管理系统主要用来发布新闻,管理员只需要一个,登录后可以在后台发布性温。任何人可以浏览新闻,浏览者可以注册成为系统会员,组册后可对新闻进行评论。管理员在后台可以对新闻、评论、注  册会员进行管理,如修改、删除等。

请画出该新闻管理系统的用例图。

如何评测软件工程知识技能水平?_第1张图片

你可能感兴趣的:(如何评测软件工程知识技能水平?)