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的模块设计合理。

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

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

  • 相关阅读:
    UVA 408 (13.07.28)
    linux概念之用户,组及权限
    Java实现 蓝桥杯 历届试题 网络寻路
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 约数倍数选卡片
    Java实现 蓝桥杯 历届试题 九宫重排
    Java实现 蓝桥杯 历届试题 九宫重排
  • 原文地址:https://www.cnblogs.com/yll333/p/12144689.html
Copyright © 2011-2022 走看看