当前位置: 首页 > news >正文

软考程序员考试大纲(2023)

在这里插入图片描述

文章目录

  • 前言
  • 一、考试说明
    • 1.考试目标
    • 2.考试要求
    • 3.考试科目设置
  • 二、考试范围
    • 考试科目1:计算机与软件工程基本知识
      • 1.计算机科学基础
      • 2.计算机系统基础知识
      • 3.系统开发和运行知识
      • 4.网络与信息安全基础知识
      • 5.标准化与知识产权基础知识
      • 6.信息化基础知识
      • 7.计算机专业英语
    • 考试科目2:程序设计
      • 1.算法设计与实现
      • 2.程序设计
      • 3.程序实现与测试
      • 4.程序设计语言


前言

之前给大家介绍了软考程序员是什么,如何报考及备考流程,现在我来带大家一起了解下软考程序员大纲!

一、考试说明

1.考试目标

通过本考试的合格人员能根据软件开发项目管理和软件工程的要求按照程序设计规格说明书编制并高度程序,写出相应的程序文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序。具有助理工程师(或技术员)的实际工作能力和业务水平。

2.考试要求

(1)掌握数制及其转换、数据的机内表示、算术和逻辑运算、应用数学的基础知识;(2)了解计算机的组成以及各主要部件性能指标;(3)掌握操作系统、程序设计语言的基础知识;(4)熟练掌握基本数据结构和常用算法;(5)熟练掌握C程序设计语言以及C++、Java中的一种程序设计语言;(6)熟悉数据库、网络和多媒体的基础知识;(7)了解软件工程的基础知识、软件过程基本知识、软件开发项目管理的常识;(8)了解常用信息技术标准、安全性以及有关法律、法规的基础知识;(9)了解信息化及计算机应用的基础知识;(10)正确阅读和理解计算机领域的简单英文资料。

3.考试科目设置

(1)计算机与软件工程基础知识,考试时间为150分钟,笔试,选择题;(2)程序设计,考试时间为150分钟,笔试,问答题。

二、考试范围

考试科目1:计算机与软件工程基本知识

1.计算机科学基础

1.1 数制及其转换

 ●	二进制、十进制和十六进制等常用数制及其相互转换

1.2 数据的表示

●	数的表示
●	非数值数据的表示

1.3 算术运算和逻辑运算

●	计算机中二进制数的运算方法
●	逻辑代数的基本运算

1.4 数学应用

●	常用数值计算(矩阵、近似求解、插值)
●	排列组合、应用统计
●	编码基础

1.5 常用数据结构

●	数组
●	线性表及链表
●	队列、栈
●	树
●	图

1.6 常用算法

●	算法与数据结构的关系
●	算法设计和算法描述
●	常用的排序算法
●	查找算法
●	常用的数值计算方法
●	字符串处理算法
●	递归算法
●	最小生成树、拓扑排序和单源点最短路径求解算法

2.计算机系统基础知识

2.1 硬件基础知识

2.1.1 计算机的类型和特点

●	微型计算机、工作站、服务器、超级计算机
●	个人移动设备
●	嵌入式计算机

2.1.2 中央处理器CPU

●	CPU的组成
●	CPU中的寄存器
●	指令系统和寻址方式
●	指令执行控制、中断控制、处理机性能

2.1.3 主存和辅存

●	存储介质
●	主存
●	辅存设备
●	高速缓存(Cache)

2.1.4 I/O接口、I/O设备和通信设备

●	I/O接口的功能和特点
●	常见I/O设备
●	常见通信设备(类型、特性)
●	I/O设备、通信设备的连接方法和连接介质类型

2.2 软件基础知识

2.2.1 操作系统基础知识

●	操作系统的类型和功能
●	处理机管理
●	存储管理
●	设备管理
●	文件管理
●	作业管理(作业调度算法)
●	图形用户界面和操作方法

2.2.2 程序设计语言和语言处理程序的基础知识

●	语言翻译基础知识(汇编、编译、解释)
●	程序设计语言的基本成分:数据、运算、控制和传输
●	程序语言类型和特点

2.3 网络基础知识

●	协议体系结构
●	传输介质与交换技术
●	常用网络设备与服务器
●	局域网络连接
●	Internet基础知识
●	TCP/IP协议
●	简单网络管理	

2.4 数据库基础知识

●	数据库管理系统基本概念
●	关系数据库理论
●	数据库设计
●	数据库语言(SQL)
●	数据库新技术(非关系数据库等)

2.5 多媒体基础知识

●	多媒体基本概念
●	常用多媒体文件格式类型

2.6 系统性能指标

●	响应时间、吞吐量、周转时间
●	可靠性、可维护性、可扩展性、可移植性、可用性、可重用性、安全性

2.7 计算机应用基础知识

●	计算机常用办公软件操作方法
●	计算机在信息管理、数据处理、辅助设计、自动控制、科学计算、人工智能等领域的应用

3.系统开发和运行知识

3.1 软件工程和项目管理基础知识

●	软件工程基础知识
●	软件开发项目管理基本概念
●	软件开发方法基本概念
●	软件开发工具与环境基础知识(CASE)
●	软件质量管理基础知识

3.2 系统分析设计基础知识

●	数据流图(DFD)、实体联系图(ER图)、UML图基本知识
●	结构化分析和设计方法
●	面向对象分析与设计方法	
●	模块设计、代码设计、人机界面设计基础知识

3.3 程序设计基础知识

●	结构化程序设计基本概念
●	面向对象程序设计基本概念
●	程序设计风格

3.4 程序测试基础知识

●	程序测试的目的、原则、对象、过程与工具
●	黑盒测试、白盒测试方法
●	测试设计和管理

3.5 程序设计文档基础知识

●	算法的描述、程度逻辑的描述、程度规格说明书
●	单元测试计划、测试用例、测试报告

3.6 系统运行和维护基础知识

●	系统运行管理基础知识
●	系统维护基础知识

4.网络与信息安全基础知识

●	信息系统安全基础知识
●	信息安全技术(加密与解密、认证、数字签名、摘要等)
●	网络安全技术
●	计算机安全等级及相关法律法规

5.标准化与知识产权基础知识

●	标准化基础知识
●	知识产权基础知识(保护知识产权有关的法律、法规)

6.信息化基础知识

●	信息、信息资源、信息化、信息工程、信息产业、信息技术的含义
●	全球信息化趋势、国家信息化战略、企业信息化战略和策略常识
●	有关的法律、法规要点

7.计算机专业英语

●	具有助理工程师(或技术员)英语阅读水平
●	理解本领域的英语基本词汇

考试科目2:程序设计

1.算法设计与实现

●	理解算法描述
●	简单算法设计
●	算法实现

2.程序设计

●	模块划分(原则、方法、标准)
●	编写程序设计文档⭐⭐模块规格说明书(程序处理逻辑、输入输出数据格式)⭐⭐测试要求说明书(测试类型和目标、测试用例、测试方法)
●	程序设计评审

3.程序实现与测试

3.1编程

●	编程方法和编码规范
●	程序设计语言的选择和使用
●	人工走查
●	程序文档化

3.2程序测试

●	测试环境和测试工具的选择和使用
●	测试数据的设计
●	测试报告的编写

4.程序设计语言

4.1 结构化程序设计

●	C语言

4.2 面向对象程序设计

●	C++或Java语言

之后我将详解考点内容,欢迎收藏,订阅专栏!

相关文章:

软考程序员考试大纲(2023)

文章目录 前言一、考试说明1.考试目标2.考试要求3.考试科目设置 二、考试范围考试科目1:计算机与软件工程基本知识1.计算机科学基础2.计算机系统基础知识3.系统开发和运行知识4.网络与信息安全基础知识5&am…...

【重拾C语言】七、指针(一)指针与变量、指针操作、指向指针的指针

目录 前言 七、指针 7.1 指针与变量 7.1.1 指针类型和指针变量 7.1.2 指针所指变量 7.1.3 空指针、无效指针 7.2 指针操作 7.2.1 指针的算术运算 7.2.2 指针的比较 7.2.3 指针的递增和递减 7.3 指向指针的指针 前言 指针是C语言中一个重要的概念正确灵活运用指针 可…...

Kafka源码简要分析

目录 一、生产者的初始化流程 二、生产者到缓冲队列的流程 三、Sender拉取数据到Kafka流程 四、消费者初始化 五、主题订阅原理 六、消费者抓取数据原理 七、消费者组初始化 八、消费者组消费流程 九、提交offset原理 一、生产者的初始化流程 首先获取事务id和客户端…...

react 按住ctrl键,点击时会出现菜单的问题修复

问题描述:我需要按住crtl键,然后鼠标点击后做一些逻辑操作,但是出现如下问题 问题一:按住ctrl键后,点击时不触发click事件,只触发 mousedown和mouseup事件。 问题二:按住ctrl键点击时出现菜单…...

【虚拟机栈】

文章目录 1. 虚拟机栈概述2. 局部变量表(Local Variables)3. 操作数栈4. 动态链接4.1 方法的调用:解析与分配 5. 方法返回地址6. 栈的相关面试题 1. 虚拟机栈概述 每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame…...

Linux系列讲解 —— 【fsck】检查并修复Linux文件系统

当文件系统出现损坏时,例如文件无法查看,删除等,可以使用 fsck(File System Consistency Check)进行修复。但是需要注意fsck在修复时,如果检查出某个文件有问题,可能会向用户请求删除。所以&…...

gitlab突然提示我要输入密码了。

用了很长时间的一个gitlab库,今天提交代码的时候突然提示我输入密码了,并且用户还是gitxx.xx.xx.xx的,瞬间懵逼。 想想原因,可能是因为我不久前设置了本地对另外一个git库的远程访问,用的是ssh,操作过程中可…...

业务测试常见问题(一)

如何多维度的分析一个需求? 功能维度:需求中所描述的功能是否实现,与用户的需求是否一致,是否完整符合用户的需求等。 安全性维度:是否有安全漏洞,是否存在未授权访问漏洞等,以保证系统的安全性…...

IntelliJ IDEA失焦自动重启服务的解决方法

IDEA 热部署特性 热部署,即应用正属于运行状态时,我们对应用源码进行了修改更新,在不重新启动应用的情况下,可以能够自动的把更新的内容重新进行编译并部署到服务器上,使修改立即生效。 现象 在使用 IntelliJ IDEA运…...

终端准入控制系统,保障企业内网安全的关键防线

随着网络技术的不断发展,企业面临的安全威胁也越来越多。终端作为承载企业业务的媒介,对内网资产安全有着重要影响。确保内网终端(如PC、BYOD、IoT等)能够得到统一管理,对保护内网安全很有必要。终端准入控制作为一种有…...

mysql-执行计划

1. 执行计划表概述 id相同表示加载表的顺序是从上到下。 id不同id值越大,优先级越高,越先被执行。id有相同,也有不同,同时存在。 id相同的可以认为是一组,从上往下顺序执行;在所有的组中,id的值…...

金蝶云星空和旺店通·企业奇门接口打通对接实战

金蝶云星空和旺店通企业奇门接口打通对接实战 接入系统:金蝶云星空 金蝶K/3Cloud(金蝶云星空)是移动互联网时代的新型ERP,是基于WEB2.0与云技术的新时代企业管理服务平台。金蝶K/3Cloud围绕着“生态、人人、体验”,旨在…...

在服务器上使用nginx改变前端项目请求的url

location /app-dev {rewrite ^/app-dev/(.*) /$1 break;proxy_pass http://152.136.36.251:9999;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr; } location /请求后缀 { rewrite ^/app-dev/(.*) /$1 break; proxy_pass 想要的请求后端的url; …...

【学习笔记】莫比乌斯反演

退役OIer回来受虐啦 一些定义 μ ( x ) { 1 x > 1 ( − 1 ) n x ∏ i 1 n P i 0 o t h e r w i s e \mu(x) \begin{cases} 1 & x > 1 \\ (-1)^n & x \prod _ {i1} ^ {n} P_{i}\\ 0 & otherwise \end{cases} μ(x)⎩ ⎨ ⎧​1(−1)n0​x>1x∏i1n​Pi…...

一款构建Python命令行应用的开源库

1 简介 当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令…...

10-Node.js模块化

01.模块化简介 目标 了解模块化概念和好处,以及 CommonJS 标准语法导出和导入 讲解 在 Node.js 中每个文件都被当做是一个独立的模块,模块内定义的变量和函数都是独立作用域的,因为 Node.js 在执行模块代码时,将使用如下所示的…...

数字IC前端学习笔记:数字乘法器的优化设计(Dadda Tree乘法器)

相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 华莱士树仍然是一种比较规则的结构(这使得可以方便地生成树的结构),这导致了它所使用的全加器和半加器个数不是最少的&#xff…...

计算机专业毕业设计项目推荐14-文档编辑平台(SpringBoot+Vue+Mysql)

文档编辑平台(SpringBootVueMysql) **介绍****各部分模块实现** 介绍 本系列(后期可能博主会统一为专栏)博文献给即将毕业的计算机专业同学们,因为博主自身本科和硕士也是科班出生,所以也比较了解计算机专业的毕业设计流程以及模式,在编写的…...

【读书后台管理系统】—后端框架搭建(二)

【读书后台管理系统】—后端框架搭建(二) 一、 Node 简介 Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等 Chrome …...

【DLoopDetector(C++)】DBow2词袋模型loop close学习

0.前言 最近读了两篇论文,论文作者开源了一种基于词袋模型DBoW2库的DLoopDetector算法,自己运行demo测试一下 对应论文介绍:Bags of Binary Words for Fast Place Recognition in Image Sequences 开源项目Github地址:https://gi…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中&#xff0c;部分节点存储的数据量或访问量远高于其他节点&#xff0c;导致这些节点负载过高&#xff0c;影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

逻辑回归暴力训练预测金融欺诈

简述 「使用逻辑回归暴力预测金融欺诈&#xff0c;并不断增加特征维度持续测试」的做法&#xff0c;体现了一种逐步建模与迭代验证的实验思路&#xff0c;在金融欺诈检测中非常有价值&#xff0c;本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 原创笔记&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;《数据结构第4章 数组和广义表》…...