zoukankan      html  css  js  c++  java
  • 如何评测软件工程知识技能水平?

      软件工程师是IT领域的重要岗位之一,随着IT行业多年的发展,软件工程师也有很多细分的方向,比如Web方向、大数据方向、物联网方向、云计算方向、人工智能方向、区块链方向等等,不同方向的软件工程师需要具备的知识结构也会有所区别。另外,不同行业(金融、教育、通信、医疗)的软件工程师往往在知识结构上也有所区别。

      通常情况下,软件工程师需要具备以下几个方面的知识结构:

      第一:操作系统知识。操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。

      第二:编程语言和算法。编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发可能会使用PHP、Python、Java等语言,而大数据可能会使用Java、R、Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言,以应对不同的开发环境。算法是软件工程师的重点知识结构,因为软件研发说到底就是个数学问题,所以算法的掌握情况往往能够决定软件工程师的成长高度。当然,对于应用级软件工程师来说,也有可能不会接触到更多的算法。

      第三:领域知识。不同开发领域需要掌握不同的知识结构,比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。

    一、选择题

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

    (https://blog.csdn.net/weixin_38004638/article/details/80891465)

    A.项目开发计划

    B.需求规格说明书

    C.设计说明书

    D.可行性分析报告

    2.软件开发过程中,需求活动的主要任务是(B)。

    (https://blog.csdn.net/qq_41814324/article/details/95237670)

    A.给出软件解决方案

    B.定义需求并建立系统模型

    C.定义模块算法

    D.给出系统模块结构

    3. 内聚是从功能角度来度量模块内的联系,按照特定次序执行元素的模块属于(C)

    (https://blog.csdn.net/qq_41814324/article/details/95237670)

    A.逻辑内聚

    B.时间内聚

    C.过程内聚

    D.顺序内聚

    4. 耦合是软件各个模块间连接的一种度量。一组模块都访问同一数据结构应属于(B)方式。

    (https://blog.csdn.net/qq_41814324/article/details/95237670)

    A.内容耦合

    B.公共耦合

    C.外部耦合

    D.控制耦合

    5. 为了提髙模块的独立性,模块之间最好是(D)

    (https://blog.csdn.net/qq_41814324/article/details/95237670)

    A.公共耦合

    B.控制耦合

    C.内容耦合

    D.数据耦合

    6. 面向对象的主要特征除唯一性、继承性、多态性外,还具有(A)

    (https://blog.csdn.net/weixin_38004638/article/details/80891465)

    A.封装性

    B.移植性

    C.完整性

    D.兼容性

    二、名词解释(https://wenku.baidu.com/view/7694f5eb9b6648d7c1c746d1.html)

    1.设计模式                                   

    解答:设计模式是普通面向对象设计问题的解决方案,这类问题以一组交互类的形式出现,用户根据需要定制这些交互类以形成专门的设计。所有的设计模式均可以从四个方面加以描述:模式名称、问题描述、解决方案和效果。

    2.结构化方法

    结构化是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口、其基本原则是抽象和功能分解。

    三、简答题

    1.模块设计规则:

    (https://blog.csdn.net/weixin_38004638/article/details/80891465)

    解答:

    (1)改进软件结构提高模块独立性。

    (2)模块规模应该适中。

    (3)深度、宽度、扇出和扇入都应适当。

    (4)模块的作用域应该在控制域之内。

    (5)力争降低模块接口的复杂程度。

    (6)设计单入口单出口的模块。

    (7)模块功能应该可以预测。

    2. 软件危机的原因:

    (https://blog.csdn.net/qq_41814324/article/details/95237670)

    解答:

    (1)软件的规模越来越大,结构越来越复杂。

    (2)软件开发管理困难而复杂。

    (3)软件开发费用不断增加。

    (4)软件开发技术落后。

    (5)生产方式落后。

    (6)开发工具落后,生产率提高缓慢。

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

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

    (https://max.book118.com/html/2018/1010/8050014031001126.shtm)

    4. 根据模块的作用范围与控制范围的原则,判定a、b两图的正确性,并简单阐述原因。

    (https://blog.csdn.net/weixin_38004638/article/details/80891465)

    解答:图a不满足作用范围应与控制范围的原则,模块F的作用范围不在控制范围之内。 图b的模块设计合理。

    控制范围:是模块本身和他下属模块的集合。

    作用范围:模块中的一个判定影响的所有模块的集合。

  • 相关阅读:
    Redis
    Ajax和JSON
    快速幂
    欧拉函数
    约数
    质数
    二分图相关算法模板
    最小生成树模板
    最短路算法模板
    康托展开和逆康托展开
  • 原文地址:https://www.cnblogs.com/yll333/p/12144689.html
Copyright © 2011-2022 走看看